Sunday, April 14, 2024

Nmap là gì

  • Nmap (Network Mapper) là một công cụ quét, theo dõi và đánh giá bảo mật một hệ thống mạng được phát triển bởi Gordon Lyon (hay còn được biết đến với tên gọi Fyodor Vaskovich). 
  • Nmap được công bố lần đầu tiên vào tháng 9 năm 1997. 
  • Nmap là phần mềm mã nguồn mở miễn phí, ban đầu chỉ được phát triển trên nền tảng Linux sau đó được phát triển trên nhiều nền tảng khác nhau như Windows, Solari, Mac OS… và phát triển thêm phiên bản giao diện người dùng (Zenmap).

Các chức năng của Nmap:  

  • Phát hiện host (là máy tính hoặc các thiết bị) hoạt động trên môi trường mạng. 
  • Liệt kê các port (cổng dịch vụ mạng) đang mở trên một host. 
  • Xác định các dịch vụ chạy trên các port đang mở cùng với phần mềm và phiên bản đang dùng. 
  • Xác định hệ điều hành của thiết bị. 
  • Chạy các script (kịch bản) đặc biệt. 

Cài đặt Nmap

Trên Windows hãy truy cập trang https://nmap.org và tải về phiên bản mới nhất, cài đặt như các phần mềm thông thường.

Trên Linux (Debian) có thể cài từ Repository (kho chứa) với lệnh:

sudo apt-get install nmap
 
Trên Linux (Red Hat) có thể cài từ Repository
 
sudo yum install nmap
 

Trên macOS có thể cài thông qua homebrew (cần cài đặt homebrew trước) và với lệnh:

sudo brew install nmap

Nmap chạy dưới giao diện dòng lệnh, trên Windows hãy mở “cmd” trên Linux và macOS hãy mở “Terminal” và gõ lệnh “nmap”

Nmap cung cấp nhiều tham số lệnh để thực hiện scan, do đó cần xác định trước các thông tin cần thiết và áp dụng tham số lệnh phù hợp để thực hiện scan. Một số ví dụ về nmap cheatsheet:

Đặc điểm mục tiêu

Tham số Ví dụ Chi tiết
  nmap 192.168.1.1 Quét một IP đơn
  nmap 192.168.1.1 192.168.2.1 Quét nhiều IP
  nmap 192.168.1.1-254 Quét một dải IP
  nmap scanme.nmap.org Quét một miền cụ thể
  nmap 192.168.1.0/24 Quét một Subnet (CIDR)
-iL nmap -iL targets.txt Quét các mục tiêu trong một tệp
-iR nmap -iR 100 Quét ngẫu nhiên 100 IP
–exclude nmap –exclude 192.168.1.1 Quét mà không bao gồm IP được chỉ rõ.

Kỹ thuật quét

Tham số Ví dụ Chi tiết
-sS nmap 192.168.1.1 -sS Quét cổng TCP gửi gói SYN
-sT nmap 192.168.1.1 -sT Quét kết nối cổng TCP
-sU nmap 192.168.1.1 -sU Quét cổng UDP
-sA nmap 192.168.1.1 -sA Quét cổng TCP với gói ACK
-sW nmap 192.168.1.1 -sW Quét các cổng TCP của Windows
-sM nmap 192.168.1.1 -sM Quét các cổng Maimon

Tìm kiếm các HOST

Tham số Ví dụ Chi tiết
-sL nmap 192.168.1.1-3 -sL Không quét, chỉ liệt kê các đối tượng
-sn nmap 192.168.1.1/24 -sn Chỉ tìm kiếm các host, không quét cổng
-Pn nmap 192.168.1.1-5 -Pn Không tìm kiếm các host, chỉ quét cổng
-PS nmap 192.168.1.1-5 -PS22-25,80 Phát hiện Host dựa trên gói SYN đến một cổng TCP cụ thể.
-PA nmap 192.168.1.1-5 -PA22-25,80 Phát hiện Host dựa trên gói ACK đến một cổng TCP cụ thể.
-PU nmap 192.168.1.1-5 -PU53 Phát hiện Host dựa trên gói SYN đến một cổng UDP cụ thể.
-PR nmap 192.168.1.1-1/24 -PR Khám phá các ARP trên mạng nội bộ.
-n nmap 192.168.1.1 -n Không phân giải tên miền.

Quét các cổng đặc biệt

Tham số Ví dụ Chi tiết
-p nmap 192.168.1.1 -p 21 Quét một cổng cụ thể (21)
-p nmap 192.168.1.1 -p 21-100 Quét một dải cổng cụ thể
-p nmap 192.168.1.1 -p U:53,T:21-25,80 Quét nhiều cổng bao gồm UDP và TCP
-p- nmap 192.168.1.1 -p- Quét tất cả các cổng (1-65535)
-p nmap 192.168.1.1 -p http,https Quét cổng theo tên dịch vụ.
-F nmap 192.168.1.1 -F Quét nhanh (100 ports)
–top-ports nmap 192.168.1.1 –top-ports 2000 Quét một dải cổng đầu tiên (2000)
-p-65535 nmap 192.168.1.1 -p-65535 Quét tuần tự từ cổng 1-65535

Phát hiện dịch vụ và phiên bản

Tham số Ví dụ Chi tiết
-sV nmap 192.168.1.1 -sV Cố gắng phát hiện phiên bản đang chạy trên cổng.
-sV –version-intensity nmap 192.168.1.1 -sV –version-intensity 8 Cấp độ phân tích từ 0-9, càng cao càng chính xác.
-sV –version-light nmap 192.168.1.1 -sV –version-light Chế độ quét nhẹ nhàng, nhanh hơn nhưng thiếu chính xác.
-sV –version-all nmap 192.168.1.1 -sV –version-all Cấp độ chi tiết nhất, chậm hơn nhưng chính xác nhất.
-A nmap 192.168.1.1 -A Cho phép phát hiện hệ điều hành, phát hiện phiên bản, quét tập lệnh và theo dõi.

Phát hiện hệ điều hành

Tham số Ví dụ Chi tiết
-O nmap 192.168.1.1 -O Phát hiện Hệ điều hành dựa trên các tín hiệu của TCP/IP đặc trưng.
-O –osscan-limit nmap 192.168.1.1 -O –osscan-limit Nếu một cổng mở, một cổng đóng, cổng TCP không nhìn thấy thì sẽ không thử phát hiện lại.
-O –osscan-guess nmap 192.168.1.1 -O –osscan-guess Nmap sẽ phải đoán nhiều hơn.
-O –max-os-tries nmap 192.168.1.1 -O –max-os-tries 1 Thiết lập số lần tối đa mà nmap sẽ đoán phiên bản hệ điều hành.
-A nmap 192.168.1.1 -A Cho phép phát hiện hệ điều hành, phát hiện phiên bản, quét tập lệnh và theo dõi.

Thời gian và hiệu suất

Tham số Ví dụ Chi tiết
-T0 nmap 192.168.1.1 -T0 Quét rất chậm. Tránh các hệ thống phát hiện xâm nhập chủ động.
-T1 nmap 192.168.1.1 -T1 Quét chậm. Tránh các hệ thống phát hiện xâm nhập bị động.
-T2 nmap 192.168.1.1 -T2 Quét nhàn rỗi, hạn chế chiếm dụng băng thông và tránh ảnh hưởng đến vận hành của mục tiêu.
-T3 nmap 192.168.1.1 -T3 Quét thông thường, trạng thái mặc định.
-T4 nmap 192.168.1.1 -T4 Quét nhanh, cần băng thông rộng và có ít thời gian để quét.
-T5 nmap 192.168.1.1 -T5 Quét rất nhanh, cần băng thông mạng rộng hơn nữa, đây là chế độ quét nhanh nhất.

NSE – Các kịch bản quét

Tham số Ví dụ Chi tiết
-sC nmap 192.168.1.1 -sC Quét bằng các tập lệnh NSE mặc định. Được coi là hữu ích để khám phá và an toàn
–script default nmap 192.168.1.1 –script default Quét bằng các tập lệnh NSE mặc định. Được coi là hữu ích để khám phá và an toàn
–script nmap 192.168.1.1 –script=banner Quét với một script cụ thể, ví dụ banner.
–script nmap 192.168.1.1 –script=http* Quét với một Wildcard, ví dụ http
–script nmap 192.168.1.1 –script=http,banner Quét với 2 kịch bản đồng thời.
–script nmap 192.168.1.1 –script “not intrusive” Quét bình thường, nhưng loại bỏ các script xâm nhập.
–script-args nmap –script snmp-sysdescr –script-args snmpcommunity=admin 192.168.1.1 Quét với các đối số.

Các ví dụ hữu ích với NSE

Lệnh Chi tiết
nmap -Pn –script=http-sitemap-generator scanme.nmap.org Tạo bản đồ trang web.
nmap -n -Pn -p 80 –open -sV -vvv –script banner,http-title -iR 1000 Tìm kiếm nhanh thông tin Web server
nmap -Pn –script=dns-brute domain.com Đoán tên miền phụ
nmap -n -Pn -vv -O -sV –script smb-enum*,smb-ls,smb-mbenum,smb-os-discovery,smb-s*,smb-vuln*,smbv2* -vv 192.168.1.1 Chạy các kịch bản quét SMB an toàn.
nmap –script whois* domain.com Truy vấn thông tin Domain
nmap -p80 –script http-unsafe-output-escaping scanme.nmap.org Phát hiện lỗ hổng XSS
nmap -p80 –script http-sql-injection scanme.nmap.org Kiểm tra SQL injection

Tránh phát hiện của Firewall & IDS

Tham số Ví dụ Chi tiết
-f nmap 192.168.1.1 -f Phân mảnh các gói gồm ping để tránh phát hiện.
–mtu nmap 192.168.1.1 –mtu 32 Đặt kích thước gói mtu.
-D nmap -D 192.168.1.101,192.168.1.102,192.168.1.103, Làm giả thông tin IP trước khi quét.
-D nmap -D decoy-ip1,decoy-ip2,your-own-ip,decoy-ip3,decoy-ip4 remote-host-ip  
-S nmap -S www.microsoft.com www.facebook.com Quét facebook từ Microsoft.
-g nmap -g 53 192.168.1.1 Sử dụng cổng nguồn để quét
–proxies nmap –proxies http://192.168.1.1:8080, http://192.168.1.2:8080 192.168.1.1 Chuyển tiếp các kết nối qua cổng Proxy.
–data-length nmap –data-length 200 192.168.1.1 Thêm dữ liệu ngẫu nhiên vào gói gửi.

Ví dụ cụ thể

nmap -f -t 0 -n -Pn –data-length 200 -D 192.168.1.101,192.168.1.102,192.168.1.103,192.168.1.23 192.168.1.1

Xuất kết quả scan

Tham số Ví dụ Chi tiết
-oN nmap 192.168.1.1 -oN normal.file Xuất file bình thường ví dụ normal.file
-oX nmap 192.168.1.1 -oX xml.file Xuất ở định dạng XML
-oG nmap 192.168.1.1 -oG grep.file Gộp dữ liệu vào tệp Grep.file
-oA nmap 192.168.1.1 -oA results Xuất cả ba định dạng cùng một lúc.
-oG – nmap 192.168.1.1 -oG –  
–append-output nmap 192.168.1.1 -oN file.file –append-output Nối các bản quét vào bản quét trước đó.
-v nmap 192.168.1.1 -v Tăng mức độ chi tiết (sử dụng -vv trở lên để có hiệu quả cao hơn)
-d nmap 192.168.1.1 -d Tăng mức độ gỡ lỗi (sử dụng -dd trở lên để có hiệu quả cao hơn)
–reason nmap 192.168.1.1 –reason Hiển thị lý do một cổng ở trạng thái cụ thể, đầu ra giống như -vv
–open nmap 192.168.1.1 –open Chỉ hiển thị các cổng đang mở (hoặc có thể đang mở)
–packet-trace nmap 192.168.1.1 -T4 –packet-trace Hiển thị tất cả các gói được gửi và nhận
–iflist nmap –iflist Hiển thị giao diện máy chủ và các đường định tuyến.
–resume nmap –resume results.file Phục hồi quét.

Ví dụ hữu ích về xuất kết quả

Lệnh Chi tiết
nmap -p80 -sV -oG – –open 192.168.1.1/24 | grep open Quét máy chủ web và grep để hiển thị IP nào đang chạy máy chủ web
nmap -iR 10 -n -oX out.xml | grep “Nmap” | cut -d ” ” -f5 > live-hosts.txt Tạo và giữ lại danh sách các IP đã phát hiện.
nmap -iR 10 -n -oX out2.xml | grep “Nmap” | cut -d ” ” -f5 >> live-hosts.txt Nối thêm các IP vào danh sách
ndiff scanl.xml scan2.xml So sánh đầu ra từ nmap bằng cách sử dụng ndif
xsltproc nmap.xml -o nmap.html Chuyển đổi tệp nmap xml thành tệp html
grep ” open ” results.nmap | sed -r ‘s/ +/ /g’ | sort | uniq -c | sort -rn | less Danh sách được sắp xếp ngược về tần suất các cổng hoạt động.

Cờ Nmap linh tinh

CÔNG TẮC VÍ DỤ SỰ MIÊU TẢ
-6 nmap -6 2607:f0d0:1002:51::4 Bật tính năng quét IPv6
-h nmap -h màn hình trợ giúp nmap

Các lệnh Nmap hữu ích khác

YÊU CẦU SỰ MIÊU TẢ
nmap -iR 10 -PS22-25,80,113,1050,35000 -v -sn Chỉ phát hiện trên các cổng x, không quét cổng
nmap 192.168.1.1-1/24 -PR -sn -vv Chỉ phát hiện Arp trên mạng cục bộ, không quét cổng
nmap -iR 10 -sn -traceroute Theo dõi các mục tiêu ngẫu nhiên, không quét cổng
nmap 192.168.1.1-50 -sL -dns-máy chủ 192.168.1.1 Truy vấn DNS nội bộ cho máy chủ, chỉ liệt kê các mục tiêu
nmap 192.168.1.1 –packet-trace Hiển thị chi tiết của các gói được gửi và nhận trong quá trình quét và nắm bắt lưu lượng.
Thien Tek95
Thien Tek95https://trungthienit.com/
Tôi là Thien Tek, Tôi thích công nghệ bảo mật. Tôi đã hoàn thành thành công tất cả các yêu cầu và tiêu chí đối với Hacker có đạo đức được EC-Council chứng nhận , xem tại đây. Chứng nhận Hacker đạo đức Liên hệ với chúng tôi: 0902 03 1995
Latest news
Related news

LEAVE A REPLY

Please enter your comment!
Please enter your name here