Summary
Option | Meaning |
---|---|
-sV | determine service/version info on open ports |
-sV --version-light | try the most likely probes (2) |
-sV --version-all | try all available probes (9) |
-O | detect OS |
--traceroute | run traceroute to target |
--script=SCRIPTS | Nmap scripts to run |
-sC or --script=default | run default scripts |
-A | equivalent to -sV -O -sC --traceroute |
-oN | save output in normal format |
-oG | save output in grepable format |
-oX | save output in XML format |
-oA | save output in normal, XML and Grepable formats |
Service Detection
Sử dụng option -sV
để thăm dò version của service đang chạy ở port nào đó.
Cần chú ý là khi sử dụng option này, Nmap sẽ thực hiện quá trình bắt tay ba bước của TCP để lấy thông tin nên việc sử dụng chung với các loại scan tàng hình chẳng hạn như TCP SYN scan1 (option -sS
) là bất khả thi.
Ta có thể dùng thêm option --version-intensity LEVEL
, với LEVEL từ 0 đến 9, để thiết lập độ dày đặc của version. Ngoài ra còn có option -sV --version-light
tương ứng với level 2 và option -sV --version-all
tương ứng với level 9.
OS Detection
Để phát hiện hệ điều hành, ta có thể dùng option -O
:
Thông tin thu được có thể là tên hệ điều hành và kernel. Độ chính xác của kết luận mà Nmap đưa ra phụ thuộc vào ít nhất một open port ở target machine. Tuy nhiên, thông tin về OS có thể bị sai lệch bởi vì các công nghệ ảo hóa hoặc tương tự.
Traceroute
Chúng ta có thể thêm option --traceroute
để thực hiện tìm các router đến target machine. Tuy nhiên, đối với câu lệnh traceroute thông thường2, trường TTL sẽ được tăng dần. Nhưng đối với Nmap, trường TTL sẽ có giá trị giảm dần.
Cú pháp hoàn chỉnh:
Nmap Scripting Engine (NSE)
Nmap hỗ trợ một số script có sẵn giúp thực hiện những chức năng custom mà không có trong các built-in command. Danh sách các script này nằm ở thư mục /usr/share/nmap/scripts
.
Chúng ta có thể chạy các script mặc định bằng cách thêm option --script=default
hoặc -sC
.
Ví dụ sử dụng:
Câu lệnh trên thực hiện TCP SYN scan với các script mặc định.
Danh mục đầy đủ các loại script:
Script Category | Description |
---|---|
auth | Authentication related scripts |
broadcast | Discover hosts by sending broadcast messages |
brute | Performs brute-force password auditing against logins |
default | Default scripts, same as -sC |
discovery | Retrieve accessible information, such as database tables and DNS names |
dos | Detects servers vulnerable to Denial of Service (DoS) |
exploit | Attempts to exploit various vulnerable services |
external | Checks using a third-party service, such as Geoplugin and Virustotal |
fuzzer | Launch fuzzing attacks |
intrusive | Intrusive scripts such as brute-force attacks and exploitation |
malware | Scans for backdoors |
safe | Safe scripts that won’t crash the target |
version | Retrieve service versions |
vuln | Checks for vulnerabilities or exploit vulnerable services |
Ta sử dụng như sau:
Có một số loại script thực hiện brute force hay DoS nên ta cần phải cẩn trọng khi sử dụng.
Để chạy một script cụ thể nào đó, chẳng hạn http-date
, ta sử dụng như sau:
Ngoài các script có sẵn thì ta cũng có thể tự viết hoặc download trên mạng.
Saving the Output
Có ba loại format phổ biến để lưu output khi chạy Nmap:
- Normal: là output xuất ra console lúc chạy. Sử dụng option
-oN FILENAME
. - Grepable: là một dạng giúp thực thi câu lệnh grep một cách dễ dàng hơn. Cụ thể, Nmap sẽ cố gắng làm cho mỗi dòng chứa nhiều thông tin ý nghĩa nhất có thể. Sử dụng option
-oG FILENAME
. - XML: sử dụng option
-oX FILENAME
, thường dùng khi cần xử lý bằng các chương trình khác.
Chúng ta có thể sử dụng option -oA FILENAME
để kết hợp cả ba loại trên.
Còn một loại format thất truyền nữa là script kiddie. Loại này có nhìn trông rất ngầu (đối với những người không phải dân tech). Để lưu dưới dạng script kiddie, ta dùng option -oS FILENAME
.
Resources
Footnotes
-
Xem thêm TCP SYN Scan. ↩
-
Xem thêm Traceroute. ↩