ATHENA ETHICAL HAER Giáo trình giảng dạy An ninh mạng AEHv2 094 320 00 88 094 323 00 99 | athena edu vn | tuvanathena edu vn 1 TRUNG TÂM ĐÀO TẠO QUẢN TRỊ MẠNG AN NINH MẠNG QUỐC TẾ ATHENA Lê Đình Nh. Tài liệu Hacker Mũ Trắng AEH ( Athena Ethical Hacker ) Version 2.0 là tài liệu dùng cho huấn luyện, đào tạo An Ninh Mạng tại trung tâm đào tạo quản trị và an ninh mạng ATHENA . Tài liệu do tập thể các giảng viên, các chuyên gia an ninh mạng Athena biên soạn . Tài liệu được biên soạn theo hướng thực hành , có cập nhật nhiều tình huấn an ninh mạng thực tế trong các dự án an ninh mạng mà Athena tham gia . Athena luôn mong muốn đưa những tình huấn thực tế vào đào tạo để các học viên được tiếp cận , nâng cao kinh nghiệm . Các học viên khi tham gia học Athena, ngoài việc học tập với giảng viên, các học viên còn được tham gia cộng đồng online gồm nhiều chuyên gia an ninh mạng để trao đổi học tập, chia sẻ , trao đổi các tình huấn an ninh mạng, thông tin bảo mật một cách sớm nhất . Điều này giúp cho các học viên mở rộng mối liên kết, hỗ trợ chia sẻ thông tin mọi lúc mọi nơi, với mục tiêu có thông tin kịp thời , đầy đủ để đảm bảo được an ninh mạng, bảo mật hệ thống, phòng ngừa rủi ro, ngăn chặn và xây dựng kịp thời những phương án xử lý khủng hoảng có thể xẩy ra một cách sớm nhất . Trong quá trình biên soạn tài liệu, cũng không thể tránh được những sai sót , Athena rất mong nhận được sự góp ý của các bạn học viên, các bạn đọc giả . Các thông tin góp ý, các bạn vui lòng gửi về trung tâm Athena theo địa chỉ : Trung Tâm Đào Tạo Quản Tri An Ninh Mạng ATHENA 45 Đinh Tiên Hoàng , Phường Bến Nghé, Quận 1, Tp HCM
Trang 1Giáo trình giảng dạy
An ninh mạng
AEHv2
Trang 21 Lê Đình Nhân | Giáo trình Athena Ethical Hacker-AEH
MỤC LỤC
PHẦN I – THIẾT LẬP SƠ ĐỒ 3
BÀI 1: THIẾT LẬP SƠ ĐỒ TỔNG QUÁT 3
CÂU HỎI ÔN TẬP PHẦN I 8
PHẦN II - THU THẬP THÔNG TIN VÀ XÁC ĐỊNH LỖI HỆ THỐNG 10
BÀI 2: THU THẬP THÔNG TIN TỪ INTERNET VÀ NMAP SCAN 11
BÀI 3: SỬ DỤNG NMAP SCRIPT XÁC ĐỊNH LỖI BẢO MẬT 26
BÀI 4: HPING SCANNING 32
BÀI 5: NESSUS SCANNING 37
Trang 32 Lê Đình Nhân | Giáo trình Athena Ethical Hacker-AEH
LỜI GIỚI THIỆU
Tài liệu Hacker Mũ Trắng AEH ( Athena Ethical Hacker ) Version
2.0 là tài liệu dùng cho huấn luyện, đào tạo An Ninh Mạng tại trung tâm
đào tạo quản trị và an ninh mạng ATHENA
Tài liệu do tập thể các giảng viên, các chuyên gia an ninh mạng
Athena biên soạn
Tài liệu được biên soạn theo hướng thực hành , có cập nhật nhiều
tình huấn an ninh mạng thực tế trong các dự án an ninh mạng mà
Athena tham gia Athena luôn mong muốn đưa những tình huấn thực tế
vào đào tạo để các học viên được tiếp cận , nâng cao kinh nghiệm
Các học viên khi tham gia học Athena, ngoài việc học tập với
giảng viên, các học viên còn được tham gia cộng đồng online gồm
nhiều chuyên gia an ninh mạng để trao đổi học tập, chia sẻ , trao đổi các
tình huấn an ninh mạng, thông tin bảo mật một cách sớm nhất Điều
này giúp cho các học viên mở rộng mối liên kết, hỗ trợ chia sẻ thông tin
mọi lúc mọi nơi, với mục tiêu có thông tin kịp thời , đầy đủ để đảm bảo
được an ninh mạng, bảo mật hệ thống, phòng ngừa rủi ro, ngăn chặn và
xây dựng kịp thời những phương án xử lý khủng hoảng có thể xẩy ra
một cách sớm nhất
Trong quá trình biên soạn tài liệu, cũng không thể tránh được
những sai sót , Athena rất mong nhận được sự góp ý của các bạn học
viên, các bạn đọc giả Các thông tin góp ý, các bạn vui lòng gửi về
trung tâm Athena theo địa chỉ :
Trung Tâm Đào Tạo Quản Tri & An Ninh Mạng ATHENA
45 Đinh Tiên Hoàng , Phường Bến Nghé, Quận 1, Tp HCM
Website : http://athena.edu.vn
E-mail : tuvan@athena.edu.vn
Tel : 094 320 00 88
Trang 43 Lê Đình Nhân | Giáo trình Athena Ethical Hacker-AEH
PHẦN I – THIẾT LẬP SƠ ĐỒ
Ở trong phần đầu của khóa học, chúng ta sẽ tập trung vào việc thiết lập sơ đồ bài
thực hành Các máy ảo thực hành, học viên download từ trang web
https://lms.athena.edu.vn
Các bạn học viên cần phải đảm bảo được việc là máy ảo trong sơ đồ phải kết nối
được với nhau Thông thường các bài lab trong sơ đồ sử dụng từ khoảng hai máy ảo
cùng một lúc Một máy đóng vai trò là attacker và một máy đóng vai trò là victim ở
-
Các máy ảo phục vụ cho khóa hoco Máy ảo đóng vai trò Attacker: Kali Linux, Parrot OS Security
o Máy ảo đóng vai trò Victim: Window 7, Window 10, CentOS-7-VulnLab
o Chương trình GNS3 phục vụ giả lập Router, Switch, Firewall
-
Sơ đồ bài thực hành tổng quát sẽ như hình bên dưới-
Các bước chuẩn bị bài thực hànho Các máy ảo phục vụ cho bài lab
o Cấu hình gán IP Static và thiết lập dịch vụ SSHv2 vào máy Kali Linux
Trang 54 Lê Đình Nhân | Giáo trình Athena Ethical Hacker-AEH
o Thiết lập VMware Workstation và cài đặt VMware Tools cho máy Kali
Linux
o Thiết lập máy ảo CentOS-7-VulnLab
CẤU HÌNH IP STATIC CHO MÁY LINUX
-
Bước 1: Cấu hình gán IP Static và thiết lập dịch vụ SSHv2 máy linux đóng vai trò làattacker Thông tin đăng nhập học viên tham khảo trong trang học của trung tâm
Trang 65 Lê Đình Nhân | Giáo trình Athena Ethical Hacker-AEH
Retype new password:
-
Bước 3: Khởi động dịch vụ SSH và cho dịch vụ SSH khởi động chung với máyroot@nhanle:~# systemctl enable ssh
root@nhanle:~# init 6
THIẾT LẬP ĐIỀU KHIỂN MÁY LAB
- Bước 1: khởi động máy CentOS-7-VulnLab và đăng nhập bằng tài khoản root /
123456
- Bước 2: Kiểm tra IP của máy bằng câu lệnh ifconfig để xác định địa chỉ IP của
máy tính
Trang 76 Lê Đình Nhân | Giáo trình Athena Ethical Hacker-AEH
- Bước 3: Trên máy Kali cấu hình file hosts
- Bước 4: Dùng trình duyệt truy cập vào đường dẫn http://bwapp.nhanle.lab/ để
vào các trang web phục vụ cho bài tấn công ứng dụng web
Trang 87 Lê Đình Nhân | Giáo trình Athena Ethical Hacker-AEH
Trang 98 Lê Đình Nhân | Giáo trình Athena Ethical Hacker-AEH
CÂU HỎI ÔN TẬP PHẦN I
Câu 1: Để cấu hình địa chỉ IP cho máy Kali Linux, ta dùng lệnh nào sau đây?
A vi /etc/network/interfaces
B vi /etc/interfaces
C vi /var/network/interfaces
D vi /var/interfaces
Câu 2: Dịch vụ SSH trong Linux là gì?
A Secure Socket Shell
B Secure Shell
C Samba Shell
D Không là dịch vụ gì cả
Câu 3: Để khởi động dịch vụ SSH và cho dịch vụ SSH khởi động chung với máy trên
Kali Linux, ta dùng lệnh nào sau đây?
A systemctl enable ssh
B rc-update add sshd
C systemctl enable sshd
D service ssh start
Câu 4: Chức năng của dịch vụ SSH là gì?
A Cho phép máy khách đăng nhập và kiểm soát server từ xa
B Tạo đường hầm để kết nối 02 mạng với nhau
C Giúp việc truyền tải dữ liệu giữa máy chủ và máy khách an toàn
Câu 6: Các chức năng của file hosts là gì? (Chọn 02 đáp án)
A Chuyển hướng Websitey
B Cấu hình DNS cho máy
C Tạo domain cho Website
D Chặn Website bất kỳ
Câu 7: Để cấu hình dịch vụ SSH, ta dùng lệnh nào sau đây?
Trang 109 Lê Đình Nhân | Giáo trình Athena Ethical Hacker-AEH
Câu 9: Giả sử ta muốn truy cập vào máy chủ 192.168.1.1 với user là root thông qua
SSH, ta dùng lệnh nào sau đây?
A ssh 192.168.1.1@root
B ssh 192.168.1.1 root
C ssh root 192.168.1.1
D ssh root@192.168.1.1
Câu 10: Để chuyển hướng máy về IP 192.168.255.5 mỗi khi nhập domain
testsite.lab thì ta thêm dòng nào sau đây vào file hosts?
A ::ffff:45ab:fa23 testsite.lab
B 192.168.255.5 testsite.lab
C 127.0.0.1 testsite.lab
D Cả A và B đều đúng
Trang 1110 Lê Đình Nhân | Giáo trình Athena Ethical Hacker-AEH
PHẦN II - THU THẬP THÔNG TIN
VÀ XÁC ĐỊNH LỖI HỆ THỐNG
Thu thập thông tin là một trong những bước quan trọng để thực hiện tấn công kiểm
thử hệ thống Các bước thu thập thông tin có thể được thực hiện thụ động trên môi
trường internet và không làm ảnh hưởng đến mục tiêu Ta có thể xác định các thông
số sau:
o Các thông tin của cá nhân và tổ chức có thể thu thập được từ môi trường
internet
o Xác định thông tin các máy chủ mục tiêu thông qua phân giải DNS
o Thông số hệ điều hành và phiên bản đang hoạt động của máy chủ
Sau khi ta đã thu thập các thông tin mục tiêu một cách thụ động, bước kế tiếp nhân
viên kiểm thử sẽ thực hiện scan hệ thống một cách chủ động Các thông tin cần
phải thu thập ở bước này bao gồm:
o Số lượng port ở trạng thái OPEN ở trên máy tính, số lượng port này sẽ tương
ứng với các dịch vụ được triển khai trên máy tính
o Ta sẽ xác định được phiên bản ứng dụng đang hoạt động trên máy mục tiêu
o Cuối cùng nhân viên kiểm thử sẽ dùng các công cụ rà soát lỗi bảo mật của
ứng dụng
Trang 1211 Lê Đình Nhân | Giáo trình Athena Ethical Hacker-AEH
BÀI 2: THU THẬP THÔNG TIN TỪ
INTERNET VÀ NMAP SCAN
THU THẬP THÔNG TIN HỆ THỐNG TỪ MẠNG INTERNET
− Khái niệm, thu thập thông tin nghĩa là sử dụng các kênh hợp lệ, không làm ảnh
hưởng đến mục tiêu để thu thập thông tin Các phần chính trong bài
o Tìm thông tin thông qua search Google, Bing, Yahoo
o Tìm kiếm thông tin của 1 domain
o Tìm kiếm thông tin của 1 cá nhân
o Tìm kiếm thông tin thông qua DNS
− Tìm thông tin thông qua search Google, Bing, Yahoo Ta sử dụng các từ khóa
search trên google để tìm thông tin
o site:vn filetype:sql
o site:cn filetype:sql
o filetype:sql insite:pass && user
o filetype:txt url site:com "pass"
o filetype:cfg url site:com "pass"
o inurl:/wp-content/wpbackitup_backups
Ví dụ: tìm file dạng mysql trên các trang web từ Trung Quốc
Trang 1312 Lê Đình Nhân | Giáo trình Athena Ethical Hacker-AEH
− Ví dụ khác, tìm trong url các trang có chứa nội dung
/wp-content/wpbackitup_backups
− Tìm kiếm thông tin domain, vào trang web http://whois.domaintools.com/ nhập vào
thông tin domain ta muốn tìm kiếm Nếu như domain chưa được bảo vệ thì sẽ
hiển thị thông tin như Email Số điên thoại Số nhà
Trang 14
13 Lê Đình Nhân | Giáo trình Athena Ethical Hacker-AEH
− Tìm kiếm thông tin của domain dạng vn , ta vào trang web “
https://vnnic.vn/whois-information ” và nhập thông tin domain
Trang 1514 Lê Đình Nhân | Giáo trình Athena Ethical Hacker-AEH
− Tìm kiếm thông tin chủ sở hữu của domain tại trang web https://www.whois.com/whois
Trang 1615 Lê Đình Nhân | Giáo trình Athena Ethical Hacker-AEH
− Tìm kiếm các trang web đặt chung server
• Vào trang web http://viewdns.info nhập vào thông tin domain
Trang 17
16 Lê Đình Nhân | Giáo trình Athena Ethical Hacker-AEH
• Search xem cấu hình của server của một trang web
Vào trang http://news.netcraft.com/, nhâp vào tên miền trang web sẽ cung cấp các
thông tin: OS, phiên bản Web Server, IP,…
Trang 18
17 Lê Đình Nhân | Giáo trình Athena Ethical Hacker-AEH
− Sử dụng DNS để query thông tin tên miền Để tìm hiểu thông tin của một domain
nào đó thể sử dụng các công phân giải tên miền Ví dụ bên dưới sử dụng
nslookup ở trong window để kiểm tra thông tin Trong quá trình này ta nên kiểm
tra phân giải với nhiều DNS server khác nhau
nslookup
> server 8.8.8.8
> set type=any
vnexpress.net
Trang 1918 Lê Đình Nhân | Giáo trình Athena Ethical Hacker-AEH
THỰC HÀNH SCAN HỆ THỐNG MẠNG VỚI NMAP
- Sơ đồ bài lab như sau:
- PC của attacker sử dụng hệ điều hành Kali Linux hoặc Parrot OS, trong đó đã
được install mặc định chương trình Nmap Ngoài ra ta có thể download và cài đặt
Nmap có thể install trên Windows và macOS
- Mục đích bài lab: sử dụng Nmap để xác định các thông số hệ điều hành, port,
dịch vụ tương ứng với…
- Nmap là một trong những network scanner rất hiệu quả Thông qua Nmap ta có
thể thực hiện quá trình scan với các kỹ thuật khác nhau như SYN scan, TCP
Connection scan, Xmas scan, Null scan…
1 CÁC BƯỚC THỰC HIỆN
- Ta có thể sử dụng nmap hỗ giao diện đồ họa và giao diện dòng lệnh Giao diện
dòng đồ họa sử dụng chương trình Zendmap Còn ở giao diện dòng lệnh thì ta sử
dụng câu lệnh nmap
- Bước 1: Ta xem giúp đỡ của câu lệnh nmap Chương trình này hỗ trợ rất tốt cho
các dạng network scan và cho kết quả scan khá chính xác
Internet Attacker
Trang 2019 Lê Đình Nhân | Giáo trình Athena Ethical Hacker-AEH
- Bước 2: thực hiện quá trình ping sweep cho đường mạng 192.168.255.0/24 để
xác định các host đang có trong đường mạng bằng câu lệnh:
nmap -sn -v 192.168.255.0/24
Trang 2120 Lê Đình Nhân | Giáo trình Athena Ethical Hacker-AEH
- Bước 3: Ta cần xác định xem ở IP 192.168.255.200 đ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:
sudo nmap –sS 192.168.255.200
Lưu ý: Một số loại scan trong Nmap yêu cầu phải là quyền root, nên chúng ta
phải thêm lệnh sudo trước lệnh nmap
Trang 2221 Lê Đình Nhân | Giáo trình Athena Ethical Hacker-AEH
Trang 2322 Lê Đình Nhân | Giáo trình Athena Ethical Hacker-AEH
- 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 192.168.255.0/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 192.168.255.0/24
- 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:
Trang 2423 Lê Đình Nhân | Giáo trình Athena Ethical Hacker-AEH
sudo nmap -sS 115.78.93.230 -oN ~/Desktop/scan_ip_public.txt
Như vậy kết quả scan sẽ được ghi thành file scan_ip_public.txt ở đường dẫn
Desktop
- 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 athena.edu.vn
- 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 MS17-010 của
các máy trong đường mạng:
Trang 2524 Lê Đình Nhân | Giáo trình Athena Ethical Hacker-AEH
nmap -sT script smb-vuln-ms17-010.nse -p 445 192.168.255.0/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 sniffer-detect 192.168.255.0/24
- 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:
Trang 2625 Lê Đình Nhân | Giáo trình Athena Ethical Hacker-AEH
sudo nmap -sS -p 3389,445,139,23,22,80 max-rate 50 -S 10.0.0.1
Lưu ý: Nmap khi sử dụng flag -S sẽ báo lỗi là không bind được địa chỉ giả Trên thực
tế, Nmap vẫn giả thành công những gói tin gửi đến nạn nhân và có thể kiểm chứng
lại trên Wireshark
Trang 2726 Lê Đình Nhân | Giáo trình Athena Ethical Hacker-AEH
BÀI 3: SỬ DỤNG NMAP SCRIPT
XÁC ĐỊNH LỖI BẢO MẬT
MỤC TIÊU BÀI THỰC HÀNH
- Nmap scripts là công cụ scan IP và port rất hiệu quả Ngoài ra, công cụ nmap có
nhiều scripts hữu dụng để kiểm tra các lỗi liên quan đến vấn đề bảo mật và thu
thập thông tin hệ thống Các script này thực hiện đượ
- Sơ đồ bài lab, các máy ảo kết nối vào card mạng VMnet8
o Kali Linux: 192.168.255.39
o Windows Server 2019 R2: 192.168.255.200
o Windows 7 SP1: 192.168.200.201
CÁC BƯỚC THỰC HIỆN CHÍNH
− Kiểm tra các scripts có trong chương trình Nmap
locate nmap | grep script
=> liệt kê tất cả các script có trong Nmap
Trang 2827 Lê Đình Nhân | Giáo trình Athena Ethical Hacker-AEH
locate nmap | grep http
=> liệt kê script có liên quan đến http
locate nmap | grep rdp
Trang 2928 Lê Đình Nhân | Giáo trình Athena Ethical Hacker-AEH
=> liệt kê các lỗi liên quan đến rdp
locate nmap | grep ssl
=> liệt kê các scan lỗi liên quan đến SSL
Trang 3029 Lê Đình Nhân | Giáo trình Athena Ethical Hacker-AEH
Sử dụng script "rdp-vuln-ms17-010.nse" kiểm tra lỗi MS17-010
nmap -sT -p 445 script smb-vuln-ms17-010.nse 192.168.255.200
nmap -sT -p 445 script smb-vuln-ms17-010.nse 192.168.255.201
- Scan mã lỗi "MS12-020" tấn công DoS vào Remote Desktop
nmap -sT -p 3389 script rdp-vuln-ms12-020 192.168.255.200
Trang 3130 Lê Đình Nhân | Giáo trình Athena Ethical Hacker-AEH
nmap -sT -p 3389 script rdp-vuln-ms12-020 192.168.255.201
- Scan http-methods ở trên Web Server 192.168.255.200
nmap script http-methods script-args http.url-path='/' 192.168.255.200
Trang 3231 Lê Đình Nhân | Giáo trình Athena Ethical Hacker-AEH
Trang 3332 Lê Đình Nhân | Giáo trình Athena Ethical Hacker-AEH
BÀI 4: HPING SCANNING
MỤC TIÊU BÀI THỰC HÀNH
-
Mục tiêu bài thực hành: Hping là công cụ cho phép tạo ra packet theo ý muốncủa mình Sử dụng 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
-
Sơ đồ bài thực hành-
Chương trình Nmap thông thường đã được cài đặt sẵn ở trong máy Kali LinuxBạn có thể sử dụng để kiểm tra máy tính mạng nội bộ và các máy chủ ở môi
trường Internet
CÁC BƯỚC CHÍNH THỰC HIỆN
-
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ácgói tin theo ý muốn, điều chỉnh số lượng gói tin gửi.… Mặc định hping3 được cài
đặt mặc định trong Kali Linux Ta có thể xem giúp đỡ bằng câu lệnh “hping3
help”