Đối tượng và phạm vi nghiên cứuĐối tượng nghiên cứu: Bộ công cụ NmapPhạm vi nghiên cứu : Nghiên cứu sử dụng và khai thác các chức năng của công cụ Nmap Zenmap để quét thông tin của một m
Trang 1TRƯỜNG ĐẠI HỌC KINH TẾ ĐÀ NẴNG KHOA THỐNG KÊ – TIN HỌC
BÁO CÁO THỰC HÀNH
AN TOÀN & BẢO MẬT HỆ THỐNG THÔNG TIN
KỸ THUẬT DÙNG CÔNG CỤ NMAP ĐỂ QUÉT MÁY CHỦ
Nhóm : 8
Lớp : 46K21.2 Sinh viên thực hiện: Trần Thị Hiền
Kiều Thị Lệ Hoa
Phan Thiện Hữu
Nguyễn Kiều Ánh Na
Phan Thị Thu Thảo
Giáo viên hướng dẫn : ThS Trần Thị Thu Thảo
Đà Nẵng, tháng 3 năm 2023
Trang 2Mục Lục
I LỜI MỞ ĐẦU 3
1 Đối tượng và phạm vi nghiên cứu 3
2 Phương pháp nghiên cứu 3
3 Mục tiêu nghiên cứu 3
II GIỚI THIỆU TỔNG QUAN VỀ NMAP 4
1 Giới thiệu về Nmap 4
2 Chức năng của công cụ nmap 4
3 Cách cài đặt và sử dụng 5
III CƠ SỞ LÝ THUYẾT 6
1 Trạng thái các cổng trong Nmap 6
2 Các cú lệnh cơ bản trong Nmap 6
3 Các dịch vụ thường chạy trên Port 6
IV DEMO 9
1 Xác định địa chỉ IP 9
1.1 Sử dụng Nmap cho mạng cục bộ 9
1.2 Sử dụng Nmap cho mạng từ xa 10
2 Quét thông tin máy chủ 11
2.1 Xác định các cổng đang mở và dịch vụ 11
2.2 Xác định thông tin điều hành 12
2.3 Scan 1 port cụ thể 13
3 Các phương pháp quét cổng cơ bản 14
3.1 TCP 14
3.2 UDP 15
4 Các phương pháp quét cổng nâng cao 16
4.1 Xmas Scan: 16
4.2 FIN Scan: 16
4.3 Null Scan: 17
5 Quét lỗ hổng 17
V TỔNG KẾT 21
1 Ưu điểm Nmap 21
2 Nhược điểm của Nmap 22
VI TÀI LIỆU THAM KHẢO 23
Trang 3I LỜI MỞ ĐẦU
1 Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu: Bộ công cụ Nmap
Phạm vi nghiên cứu : Nghiên cứu sử dụng và khai thác các chức năng của công cụ Nmap (Zenmap) để quét thông tin của một máy chủ
2 Phương pháp nghiên cứu
Công dụng và chức năng của Nmap để quét các thông tin của máy chủ và lỗ hổng
3 Mục tiêu nghiên cứu
Tìm hiểu về bộ công cụ Nmap
Cơ sở lý thuyết, nghiên cứu khai thác các chức năng của bộ công cụ Nmap
Chụp ảnh kết quả quét, giải thích và nhận xét về hệ điều hành, dịch vụ, cổng đang mở,
lỗ hổng trên máy bị quét
Demo sử dụng bộ công cụ Nmap vào trường hợp cụ thể, thực tế
II GIỚI THIỆU TỔNG QUAN VỀ NMAP
Trang 41 Giới thiệu về Nmap
Nmap (Network Mapper) là tiện ích mã
nguồn mở miễn phí cho việc khám phá mạng
và kiểm tra bảo mật Nhiều quản trị viên hệ
thống và quản trị viên network đã chứng minh
sự hữu dụng cho các tác vụ như kiểm kê mạng,
quản lý lịch trình nâng cấp dịch vụ và theo dõi
thời gian hoạt động của máy chủ hoặc dịch vụ
Nmap sử dụng các kĩ thuật trong các gói IP
cùng một số kĩ thuật tương tác nâng cao nhằm xác định máy chủ nào có sẵn trên mạng, những dịch vụ nào (tên ứng dụng và phiên bản OS) đang hoạt động, những bộ lọc packet / tường lửa nào đang sử dụng và hàng tá những đặc điểm khác
Nmap được thiết kế để nhanh chóng quét các mạng lớn nhưng đạt hiệu suất cao với
một máy chủ duy nhất Nmap có thể hoạt động trên rất nhiều các hệ điều hành quen thuộc và các gói binary chính thức có sẵn trên Linux, Windows và Mac OS X Ngoài lệnh Nmap thực thi nguyên bản, Nmap còn cung cấp giao diện phần mềm (Zenmap) một công cụ chuyển data, chuyển hướng linh hoạt và gỡ lỗi (Ncat), một tiện ích để so sánh kết quả (Ndiff) và một công cụ phân tích và tạo gói (Nping)
Nmap được đánh giá là “Sản phẩm bảo mật của năm” bởi Linux Journal, Enito World
LinuxQuestions.org và Codetalker Digest Nó thậm chí còn được xuất hiện trong 12
bộ phim, trong đó có các bộ phim lớn như: The Matrix, Die Hard 4, The Bourne Ultimatum…
2 Chức năng của công cụ nmap
Nmap sử dụng các gói IP để cung cấp thông tin cho người dùng về các thiết bịđược kết nối với mạng Dưới đây là một số tính năng của công cụ này:
- Quét các địa chỉ IP đang hoạt động trên mạng của bạn, xem xét việc bị xâm phạm
Too long to read on your phone? Save to
read later on your computer
Save to a Studylist
Trang 5- Công cụ này cho biết một dịch vụ là hợp pháp hay bị thao túng bởi tin tặc.
- Quét toàn bộ mạng để nhận thông tin về máy chủ, các cổng đang mở, hệ điều hành của thiết bị,… Điều này có ý nghĩa trong pan-testing, giám sát hệ thống hoạt động
- Xác định được các lỗ hổng ở máy chủ web, bảo vệ các trang web cá nhân hoặc thương mại
- Phát triển bản đồ trực quan Zenmap – ánh xạ mạng và hỗ trợ khả năng sử dụng,báo cáo
- Tự động quét hệ thống và các lỗ hổng thông qua Nmap Scripting Engine (NSE) Người dùng sử dụng bộ tập lệnh, xác định trước các hành động để tự động hóa
3 Cách cài đặt và sử dụng
Người dùng có thể sử dụng công cụ Nmap thông qua 2 phương thức:
- Trên window: Truy cập link website: https://nmap.org/download để cài đặt và sau đó khởi động ứng dụng
- Trên MacOS: Trên macos có thể tải file.dmg cài đặt
https://nmap.org/dist/nmap-7.92.dmgZenmap trên hệ điều hành
III CƠ SỞ LÝ THUYẾT
1 Trạng thái các cổng trong Nmap
Trong quá trình scan ta có thể thấy trạng thái các cổng như sau:
Open: Đang có dịch vụ thực hiện kết nối ra bên ngoài nhưng không bị giám sát bởi tường lửa
Closed: Máy mục tiêu vẫn nhận được và phản hồi, nhưng không có ứng dụng nào đang nghe trên cổng đó Khi đó cổng được báo là đóng nhưng vẫn xác định được host đang sống
Trang 6Filtered: Đã có sự ngăn chặn bởi tường lửa, thì không thể nhận được bất cứ phản hồi nào từ mục tiêu.
Unfiltered: Cổng không bị chặn nhưng không thể biết được cổng đóng hay mở.Open/Filtered: không biết là cổng mở hay bị lọc Nó xảy ra đối với kiểu quét mà cổng dù mở nhưng không phản hồi gì cả nên biểu hiện của nó giống như bị lọc.Closed/Filtered: Trạng thái xuất hiện khi Nmap không biết được port đó đang Closed hay Filtered Nó được sử dụng cho quét IPID Idle
2 Các cú lệnh cơ bản trong Nmap
Kiểm tra xem host còn alive không: #nmap -sn [IP_của_mục tiêu]
Kiểm tra hệ điều hành của server: #nmap -O [IP_của_mục tiêu]
Quét một port cụ thể: #nmap -p [số_cổng] [IP_của_mục tiêu]
Quét kết nối TCP, Nmap sẽ thực hiện việc quét bắt tay 3 bước: #nmap -sT [IP_của_mục tiêu]
Quét kết nối UDP: #nmap -sU [IP_của_mục tiêu]
Quét xác định phiên bản của dịch vụ đang chạy trên host: #nmap -PN -p [số_cổng] -sV [IP_của_mục tiêu]
3 Các dịch vụ thường chạy trên Port
Port có tổng cộng là 65535 cổng, được chia làm 3 phần: Well Known Port (WKP) baogồm các Port quy định từ 0 – 1023, quy định cho các ứng dụng như website (Port 80),FTP (Port 21), email (Port 25), Registered Port (RP) bao gồm các Port từ 1024 –
49151, Dynamic/Private Port (D/PP) bao gồm các Port từ 49152 – 65535 Theo quyđịnh của IANA thì WKP và RP phải được đăng ký với IANA trước khi sử dụng
- 20 – TPC – File Transfer – FTP data: cho phép upload và dowload dữ liệu từ server
- 21 – TPC – File Transfer – FTP control: Khi có máy tính muốn kết nối với dịch vụFTP của máy bạn, máy đó sẽ tự động phải thêm Port và tìm cách kết nối đến cổng
21 theo mặc định
Trang 7- 22 – TPC /UDP – SSH Remote Login Protocol: Nếu bạn chạy SSH Secure Shell, cổng 22 được yêu cầu cho người dùng SSH để kết nối tới người phục vụ của bạn.
- 23 – TPC – Telnet: Trường hợp bạn chạy một người phục vụ Telnet, cổng này được yêu cầu cho người dùng Telnet kết nối tới người phục vụ của các bạn
- 25 – TPC – Simple Mail Transfer Protocol (SMTP): khi có thư tới server SMTP của bạn, chúng sẽ cố gắng tiến vào server thông qua Cổng 25 theo mặc định 38 – TPC – Route Access Protocol (RAP)
- 53 - DSN - Domain Name System: một hệ thống phân giải tên miền, hệ thống này
lý giải cho việc người dùng trỏ tên miền về DNS cần qua một hệ thống xử lý để hệthống hiểu và xử lý thông qua các con số
- 80 – Hyper-Text Transfer Protocol (HTTP): khi có người dùng sử dụng địa chỉ IP hay tên miền của bạn, bộ duyệt sẽ giám sát địa chỉ IP trên cổng 80 theo mặc định dành cho website, đồng thời hỗ trợ HTML và các tệp website khác ví dụ như ASP – Active Server Pages
- 110 – TCP UDP – Post Office Protocol (POP) Version 3: bạn chạy một máy, ngườidùng sẽ tiến hành truy cập theo đường POP3 (Nghi thức cơ quan bưu điện) hay IMAP4 (giao thức truy nhập Thông báo Internet) theo quy định
- 143 – TCP UDP – Internet Message Access Protocol (IMAP) Mail Server: giao thức truy cập thông báo Internet ngày càng trở nên phổ biến hơn bao giờ hết và cho phép sử dụng từ xa Vì thế, các thông báo đều được giữ ở server để dễ dàng truy cập trực tuyến, online, offline
Trang 8Ở phần Wireless LAN adapter Wi-fi, đọc kết quả ở phần DHCP Server chúng ta sẽ dễ dàng xác định được IP mà router đang sử dụng là 192.168.1.1
1.1 Sử dụng Nmap cho mạng cục bộ
Sau khi có IP của Router, thực hiện kiểm tra nhanh router bằng dòng lệnh quét nhanh nmap -F 192.168.1.1/24
- Thiết bị router có địa chỉ IP 192.168.1.1, địa chỉ MAC CC:71:90:0A:E4:B8 đang có
94 port đang đóng (94 close tcp port), các port mở là 53/tcp, 80/tcp, 443/tcp và có 3 cổng bị ngăn chặn bởi tường lửa là port 21/tcp, 22/tcp, 23/tcp
Thiết bị có địa chỉ IP 192.168.1.2, địa chỉ MAC 06:D4:D1:B8:32:17 đang có 100 port đang đóng
Trang 9Thiết bị có địa chỉ IP 192.268.1.4, địa chỉ MAC 48:79:4D:99:9A:41 đang có 100 port đang đóng
Thiết bị có địa chỉ IP 192.268.1.6, địa chỉ MAC 52:D4:0B:B5:3C:63 đang có 99 port đang đóng và có 1 port đang mở là 49152/tcp
Thiết bị có địa chỉ IP là 192.168.1.3 đang có 95 port đang đóng và có 5 port đang mở lần lượt là 80/tcp, 135/tcp, 139/tcp, 445/tcp và 5357/tcp
Trong mạng máy tính, việc mở quá nhiều cổng truy cập trên một thiết bị sẽ làm tăng nguy cơ bị xâm nhập hoặc tấn công Khi quét nhanh, ta có thể nhận ra máy chủ có địa chỉ
IP 192.168.1.3 là một trong những địa chỉ có nhiều cổng mở nhất, do đó nó có thể là mục tiêu tiềm năng của các cuộc tấn công Các thiết bị bị tấn công thường có số lượng cổng truy cập mở nhiều hoặc chứa các dịch vụ cho phép chia sẻ dữ liệu như cổng 80/tcp, 445/tcp
1.2 Sử dụng Nmap cho mạng từ xa
Ngoài việc quét các mạng cục bộ, Nmap cũng có thể có thể hiển thị tin tức về cácmạng từ xa Trên thực tế, bạn có thể chạy Nmap trên trang web muốn kiểm tra và nó sẽphân tích cú pháp và lấy địa điểm IP được liên kết với tên miền của trang web đó
Google có địa chỉ IP là 172.217.24.238 đang có 98 port bị ngăn chặn bởi tường lửa và
có 2 port đang mở lần lượt là 80/tcp, 443/tcp
Trang 102 Quét thông tin máy chủ
Call (RPC) trên mạng
139/tcp netbios-ssn Sử dụng để định danh các máy tính,
hoạt động trên các mạng LAN hay WAN
445/tcp microsoft-ds Microsoft Directory Service - dịch vụ
chia sẻ tập tin và máy chủ dành cho các hệ thống Windows
902/tcp iss-realsecure Sử dụng cho dịch vụ của VMware
ESXi, một hệ thống ảo hóa được phát
Trang 11triển bởi VMware.
912/tcp apex-mesh Sử dụng để truy cập vào các dịch vụ
và ứng dụng của VMware vSphere Web Client
nhắn trên mạng và xử lý các tin nhắn đến và từ các ứng dụng trong một môi trường phân tán
2103/tcp zephyr- clt Sử dụng để gửi và nhận tin nhắn
trong mạng Zephyr
2105/tcp eklogin Sử dụng để quản lý các thông tin
chứng thực và phiên làm việc trên hệ thống
2107/tcp msmq-mgmt Sử dụng bởi Microsoft Message
Queuing để cho phép các ứng dụng
và máy tính truyền tải và nhận các hàng đợi thông điệp MSMQ
2382/tcp ms-olap3 Sử dụng bởi SQL Server để chứa các
dịch vụ và ứng dụng liên quan đến cơ
sở dữ liệu
-được sử dụng trên hệ điều hành Windows để hỗ trợ công nghệ Web Services on Devices (WSD)
2.2 Xác định thông tin điều hành
Để xác định được những thông tin trong hệ điều hành, thông tin từ thiết bị, thì
chúng ta có thể sử dụng dòng lệnh: nmap -O 192.168.1.3
Trang 12Kết quả cho thấy với thiết bị có địa chỉ IP là 192.168.1.3 là máy tính đang sử dụng hệ điều hành Microsoft Window 10, phiên bản Microsoft Window 10 1809-1909 Câu lệnh này cũng cho chúng ta kết quả trạng thái của các port trên host.
2.3 Scan port cụ thể
Scan port 80
Hiện tại cổng 80 của ip 192.168.1.3 đang mở và sử dụng dịch vụ http - (HyperText Transfer Protocol) là giao thức truyền tải siêu văn bản được sử dụng trong www dùng để truyền tải dữ liệu giữa Web server đến các trình duyệt Web và ngược lại
Trang 13Scan port 443
Hiện tại cổng 443 của ip 192.168.1.3 đang đóng và sử dụng dịch vụ https - truy cập các trang web bảo mật qua giao thức HTTPS (HTTP Secure)
Scan các port phổ biến
Hiện tại có 5 cổng phổ biến nhất: 21, 22, 23, 80, 443 Trong đó chỉ có 1 cổng đang mở là 80–http, còn lại 21–ftp, 22-ssh, 23-telnet và 443-https đang đóng
3 Các phương pháp quét cổng cơ bản
3.1 TCP
Kỹ thuật này được dùng khi user không có quyền truy cập raw packet để thực hiện SYN scan (thường thì với quyền root trên linux mới có thể sử dụng SYN scan) TCP
Trang 14connect scan sẽ sử dụng TCP stack của hệ điều hành để tạo ra 1 kết nối bình thường với mục tiêu, do thực hiện 1 kết nối đầy đủ nên kỹ thuật này dễ bị phát hiện bởi hệ thống log của mục tiêu do đó SYN scan thường được sử dụng nhiều hơn để tránh bị phát hiện.
Hiện tại đang có 989 cổng bị lọc và có 11 port giao thức TCP đang mở tại IP của host Bao gồm port 80 http, 135 msrpc, 139 netbios-ssn, 445 microsoft-ds, 902 iss-realsecure,
1801 msmq, 2103 zephyr-clt, 2105 eklogin, 2107 msmq-mgmt, 2382 ms-olap3, 5357 wsdapi
3.2 UDP
Nmap gửi gói tin UDP tới 1 port của mục tiêu nếu nhận được gói tin ICMP port unreachable error (type 3, code 3) thì port đó ở trạng thái close Nếu nhận được ICMP unreachable errors (type 3, codes 1, 2, 9, 10, or 13) thì port đó ở trạng thái filtered Nếu không nhận được gì thì port ở trạng thái open|filtered Nếu nhận được gói tin UDP thì port đó ở trạng thái open
Trang 15Hiện tại đang có 990 cổng đang đóng và có 10 port bị lọc hoặc mở tại IP của host Bao gồm port 137 netbios-ns, 138 netbios-dgm, 500 isakmp, 1434 ms-sql-m, 1900 upnp,
3702 ws-discovery, 4500 nat-t-ike, 5050 mmcc, 5353 zeroconf, 5355 llmnr
4 Các phương pháp quét cổng nâng cao
4.1 Xmas Scan: Gửi gói tin TCP với các flag PSH, URG và FIN.
Trang 164.2 FIN Scan: Gửi gói tin TCP với flag FIN.
4.3 Null Scan: Gửi gói tin TCP mà không kèm bất kỳ flag nào.
Các kỹ thuật của nhóm này sẽ cho ra một kết quả giống nhau, tuy nhiên tuỳ theo nhu cầu bạn có thể chọn NULL, FIN hay là Xmas Khi các gói tin được gửi đi nếu nhận được RST thì port ở trạng thái close, nếu nhận được các loại gói tin ICMP (type 3, code 1, 2, 3,
9, 10, or 13) thì port ở trạng thái filtered, còn nếu không nhận được gói tin trả lời thì port
ở trạng thái open
Trang 175 Quét lỗ hổng
Nmap Scripting Engine (NSE) là 1 trong những tùy chọn khá lợi hại trong Nmap Nócho phép người dùng viết và chia sẻ những đoạn script đơn giản để thực hiện những côngviệc khác nhau trong lĩnh vực networking một cách tự động Những đoạn script này cóthể sử dụng để phát hiện các lỗ hổng và khai thác các lỗ hổng
Để thực hiện chức năng này của nmap sử dụng tùy chọn: –-script [tên_script].nse
Trong nmap chúng ta gồm có 4 loại NSE scripts như sau:
host script: là một loại script được thực thi sau khi nmap đã thực hiện tác vụ của
nó như quét những host, cổng mạng hay hệ điều hành…
prerule script: là một loại script được thực thi trước bất kì 1 tác vụ quét hay thu thập thông tin nào
service script: là loại script chạy để chống lại 1 service đang lắng nghe ở trên mục tiêu đang pentest
postrule sciprt: là loại script chạy sau khi Nmap thực thi scan mục tiêu
Vị trí của NSE script: Các script (.nse file) nằm trong thư mục script khi cài đặt nmap,người dùng có thể tùy biến chỉnh sửa, thêm các scirpt khác
Trên mỗi hệ điều hành khác nhau chúng sẽ được lưu trữ ở một vị trí khác nhau:
Trên linux: ~/.nmap/scripts/hoặc /usr/share/nmap/scripts/ hoặc trong $NMAPDIR.Hoặc với cách dễ nhất là chạy lệnh: locate *.nse
Trên Mac: /usr/local/Cellar/nmap//share/nmap/scripts/
Trên windows: C:\Program Files (x86)\Nmap\scripts or C:\Program