Quét Cơ Bản
Mục Tiêu Quét
nmap 192.168.1.1 # single host nmap 192.168.1.0/24 # entire subnet nmap 192.168.1.1-50 # IP range nmap -iL targets.txt # hosts from file
Chỉ Định Mục Tiêu
192.168.1.1Địa chỉ IP đơn
192.168.1.0/24Ký hiệu CIDR (256 hosts)
192.168.1.1-254Dải địa chỉ IP
example.comHostname (phân giải thành IP)
-iL file.txtĐọc mục tiêu từ file
--exclude 192.168.1.1Loại trừ host cụ thể
--excludefile skip.txtLoại trừ hosts từ file
Quét Cổng
Loại Quét
-sSTCP SYN scan (mặc định, ẩn, cần root)
-sTTCP connect scan (handshake đầy đủ, không cần root)
-sUUDP scan (chậm, thường bị lọc)
-sATCP ACK scan (phát hiện firewall)
-sNTCP NULL scan (không có flags)
-sFTCP FIN scan (chỉ FIN flag)
-sXXmas scan (FIN+PSH+URG flags)
Chọn Cổng
nmap -p 80,443 target # specific ports nmap -p 1-1000 target # port range nmap -p- target # all 65535 ports nmap --top-ports 100 target # most common 100 ports
Trạng Thái Cổng
openỨng dụng đang nhận kết nối
closedCổng truy cập được nhưng không có service
filteredFirewall chặn, không thể xác định
unfilteredCổng có thể truy cập, chưa rõ open/closed
open|filteredKhông thể phân biệt open hay filtered
Khám Phá Host
Phương Pháp Khám Phá
-snChỉ quét ping (không quét cổng)
-PnBỏ qua host discovery (coi tất cả là up)
-PS 80,443TCP SYN discovery trên các cổng
-PA 80TCP ACK discovery
-PU 53UDP discovery
-PEICMP echo request
-PRARP discovery (mạng nội bộ)
Quét Dải Mạng
nmap -sn 192.168.1.0/24 # ping sweep subnet nmap -sn -n 10.0.0.0/24 # sweep, skip DNS nmap -sn -PR 192.168.1.0/24 # ARP scan (fastest)
Phát Hiện Dịch Vụ
Phát Hiện Phiên Bản
nmap -sV target # detect service versions nmap -sV --version-intensity 5 target # deeper probing nmap -sV --version-all target # try every probe (slow) nmap -A target # OS + version + scripts + traceroute
Flags Dịch Vụ
-sVThăm dò cổng mở để xác định service/phiên bản
--version-intensity 0-9Cường độ thăm dò (mặc định 7)
--version-lightThăm dò nhẹ (cường độ 2)
--version-allThử mọi probe (cường độ 9)
-AToàn diện: -sV -O --script=default -traceroute
-sCChạy NSE scripts mặc định
Phát Hiện OS
OS Fingerprinting
nmap -O target # OS detection (needs root) nmap -O --osscan-limit target # only scan promising hosts nmap -O --osscan-guess target # aggressive OS guessing nmap -A target # includes OS detection
Flags Phát Hiện OS
-OBật phát hiện OS
--osscan-limitBỏ qua hosts không có cổng TCP open+closed
--osscan-guessĐoán OS mạnh hơn
--max-os-tries NSố lần thử phát hiện OS tối đa mỗi host
Scripts (NSE)
Sử Dụng Scripts
nmap --script=default target # default category nmap --script=vuln target # vulnerability scripts nmap --script=http-headers target nmap --script="http-*" target # wildcard match
Danh Mục Scripts
defaultScripts an toàn và hữu dụng (viết tắt -sC)
vulnKiểm tra lỗ hổng đã biết
safeScripts không xâm nhập
intrusiveCó thể gây crash hoặc kích hoạt IDS
discoveryKhám phá mạng và dịch vụ
authKiểm tra liên quan xác thực
bruteKiểm tra brute-force thông tin đăng nhập
exploitThử khai thác chủ động
Scripts Hữu Dụng
http-titleLấy tiêu đề trang web
ssl-certHiển thị chi tiết chứng chỉ SSL
ssh-hostkeyHiển thị fingerprint SSH host key
dns-bruteLiệt kê subdomains DNS
smb-os-discoveryPhát hiện Windows OS qua SMB
vulnChạy tất cả kiểm tra lỗ hổng
Định Dạng Đầu Ra
Tùy Chọn Đầu Ra
nmap -oN scan.txt target # normal text output nmap -oX scan.xml target # XML output nmap -oG scan.gnmap target # grepable output nmap -oA scan_all target # all formats at once
Flags Đầu Ra
-oN fileĐầu ra văn bản thường ra file
-oX fileĐầu ra XML (cho công cụ/phân tích)
-oG fileĐầu ra grepable (một host mỗi dòng)
-oA basenameCả ba định dạng (basename.nmap/xml/gnmap)
-vTăng chi tiết (-vv để nhiều hơn)
-dĐầu ra debug (-dd để nhiều hơn)
--openChỉ hiển thị cổng đang mở
--reasonHiển thị lý do trạng thái cổng
Thời Gian & Hiệu Suất
Templates Thời Gian
-T0 (paranoid)Rất chậm, tránh IDS (5 phút giữa các probe)
-T1 (sneaky)Chậm, tránh IDS (15 giây giữa các probe)
-T2 (polite)Tốc độ giảm, ít băng thông hơn
-T3 (normal)Thời gian mặc định
-T4 (aggressive)Nhanh, giả định mạng ổn định
-T5 (insane)Nhanh nhất, có thể bỏ sót kết quả
Tinh Chỉnh Chi Tiết
--min-rate 1000Gửi ít nhất 1000 gói/giây
--max-rate 500Giới hạn 500 gói/giây
--max-retries 2Số lần gửi lại probe tối đa
--host-timeout 30mBỏ qua host nếu quét quá 30 phút
--scan-delay 1sĐộ trễ giữa các probe
--min-parallelism 10Nhóm probe song song tối thiểu
Vượt Qua Firewall
Kỹ Thuật Vượt Qua
-fPhân mảnh gói tin (8-byte chunks)
-D RND:5Decoy scan với 5 IP ngẫu nhiên
-S spoof_ipGiả mạo IP nguồn (cần raw packets)
-e eth0Dùng interface mạng cụ thể
--source-port 53Dùng cổng nguồn cụ thể (vd: DNS)
--data-length 25Thêm dữ liệu ngẫu nhiên vào gói tin
--spoof-mac 0Ngẫu nhiên hoá địa chỉ MAC
Ví Dụ Vượt Qua
nmap -f -D RND:3 target # fragments + decoys nmap --source-port 53 target # DNS port (often allowed) nmap -T1 --scan-delay 5s target # slow to evade IDS
Mẫu Phổ Biến
Trinh Sát Nhanh
nmap -T4 -F target # fast common ports nmap -T4 -A -v target # OS + service detection nmap -sV --top-ports 1000 target # top 1000 + versions
Quét Toàn Diện
# Full TCP + service + OS + scripts nmap -sS -sV -O -sC -p- -T4 -oA full target # UDP scan on common ports nmap -sU --top-ports 50 target
Kiểm Tra Web Server
nmap -p 80,443 --script=http-title,http-headers,\ ssl-cert,http-methods target # Check for open proxies and vulns nmap -p 80,443,8080 --script=http-open-proxy,vuln target
Kiểm Kê Mạng
# Discover all live hosts with OS info nmap -sn 192.168.1.0/24 -oG - | grep "Up" # Service inventory for subnet nmap -sV -T4 192.168.1.0/24 -oX inventory.xml