Nmap – Thu thập thông tin.

Nmap là gì ? 

nmap
  • 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

Hướng dẫn Scan port với 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.1Quét một IP đơn
nmap 192.168.1.1 192.168.2.1Quét nhiều IP
nmap 192.168.1.1-254Quét một dải IP
nmap scanme.nmap.orgQuét một miền cụ thể
nmap 192.168.1.0/24Quét một Subnet (CIDR)
-iLnmap -iL targets.txtQuét các mục tiêu trong một tệp
-iRnmap -iR 100Quét ngẫu nhiên 100 IP
–excludenmap –exclude 192.168.1.1Quét mà không bao gồm IP được chỉ rõ.

Kỹ thuật quét

Tham sốVí dụChi tiết
-sSnmap 192.168.1.1 -sSQuét cổng TCP gửi gói SYN
-sTnmap 192.168.1.1 -sTQuét kết nối cổng TCP
-sUnmap 192.168.1.1 -sUQuét cổng UDP
-sAnmap 192.168.1.1 -sAQuét cổng TCP với gói ACK
-sWnmap 192.168.1.1 -sWQuét các cổng TCP của Windows
-sMnmap 192.168.1.1 -sMQuét các cổng Maimon

Tìm kiếm các HOST

Tham sốVí dụChi tiết
-sLnmap 192.168.1.1-3 -sLKhông quét, chỉ liệt kê các đối tượng
-snnmap 192.168.1.1/24 -snChỉ tìm kiếm các host, không quét cổng
-Pnnmap 192.168.1.1-5 -PnKhông tìm kiếm các host, chỉ quét cổng
-PSnmap 192.168.1.1-5 -PS22-25,80Phát hiện Host dựa trên gói SYN đến một cổng TCP cụ thể.
-PAnmap 192.168.1.1-5 -PA22-25,80Phát hiện Host dựa trên gói ACK đến một cổng TCP cụ thể.
-PUnmap 192.168.1.1-5 -PU53Phát hiện Host dựa trên gói SYN đến một cổng UDP cụ thể.
-PRnmap 192.168.1.1-1/24 -PRKhám phá các ARP trên mạng nội bộ.
-nnmap 192.168.1.1 -nKhô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
-pnmap 192.168.1.1 -p 21Quét một cổng cụ thể (21)
-pnmap 192.168.1.1 -p 21-100Quét một dải cổng cụ thể
-pnmap 192.168.1.1 -p U:53,T:21-25,80Qué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)
-pnmap 192.168.1.1 -p http,httpsQuét cổng theo tên dịch vụ.
-Fnmap 192.168.1.1 -FQuét nhanh (100 ports)
–top-portsnmap 192.168.1.1 –top-ports 2000Quét một dải cổng đầu tiên (2000)
-p-65535nmap 192.168.1.1 -p-65535Qué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
-sVnmap 192.168.1.1 -sVCố gắng phát hiện phiên bản đang chạy trên cổng.
-sV –version-intensitynmap 192.168.1.1 -sV –version-intensity 8Cấp độ phân tích từ 0-9, càng cao càng chính xác.
-sV –version-lightnmap 192.168.1.1 -sV –version-lightChế độ quét nhẹ nhàng, nhanh hơn nhưng thiếu chính xác.
-sV –version-allnmap 192.168.1.1 -sV –version-allCấp độ chi tiết nhất, chậm hơn nhưng chính xác nhất.
-Anmap 192.168.1.1 -ACho 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
-Onmap 192.168.1.1 -OPhá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-limitnmap 192.168.1.1 -O –osscan-limitNế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-guessnmap 192.168.1.1 -O –osscan-guessNmap sẽ phải đoán nhiều hơn.
-O –max-os-triesnmap 192.168.1.1 -O –max-os-tries 1Thiết lập số lần tối đa mà nmap sẽ đoán phiên bản hệ điều hành.
-Anmap 192.168.1.1 -ACho 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
-T0nmap 192.168.1.1 -T0Quét rất chậm. Tránh các hệ thống phát hiện xâm nhập chủ động.
-T1nmap 192.168.1.1 -T1Quét chậm. Tránh các hệ thống phát hiện xâm nhập bị động.
-T2nmap 192.168.1.1 -T2Qué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.
-T3nmap 192.168.1.1 -T3Quét thông thường, trạng thái mặc định.
-T4nmap 192.168.1.1 -T4Quét nhanh, cần băng thông rộng và có ít thời gian để quét.
-T5nmap 192.168.1.1 -T5Qué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
-sCnmap 192.168.1.1 -sCQué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 defaultnmap 192.168.1.1 –script defaultQué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
–scriptnmap 192.168.1.1 –script=bannerQuét với một script cụ thể, ví dụ banner.
–scriptnmap 192.168.1.1 –script=http*Quét với một Wildcard, ví dụ http
–scriptnmap 192.168.1.1 –script=http,bannerQuét với 2 kịch bản đồng thời.
–scriptnmap 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-argsnmap –script snmp-sysdescr –script-args snmpcommunity=admin 192.168.1.1Quét với các đối số.

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

LệnhChi tiết
nmap -Pn –script=http-sitemap-generator scanme.nmap.orgTạo bản đồ trang web.
nmap -n -Pn -p 80 –open -sV -vvv –script banner,http-title -iR 1000Tì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.1Chạy các kịch bản quét SMB an toàn.
nmap –script whois* domain.comTruy vấn thông tin Domain
nmap -p80 –script http-unsafe-output-escaping scanme.nmap.orgPhát hiện lỗ hổng XSS
nmap -p80 –script http-sql-injection scanme.nmap.orgKiểm tra SQL injection

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

Tham sốVí dụChi tiết
-fnmap 192.168.1.1 -fPhân mảnh các gói gồm ping để tránh phát hiện.
–mtunmap 192.168.1.1 –mtu 32Đặt kích thước gói mtu.
-Dnmap -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.
-Dnmap -D decoy-ip1,decoy-ip2,your-own-ip,decoy-ip3,decoy-ip4 remote-host-ip
-Snmap -S www.microsoft.com www.facebook.comQuét facebook từ Microsoft.
-gnmap -g 53 192.168.1.1Sử dụng cổng nguồn để quét
–proxiesnmap –proxies http://192.168.1.1:8080, http://192.168.1.2:8080 192.168.1.1Chuyển tiếp các kết nối qua cổng Proxy.
–data-lengthnmap –data-length 200 192.168.1.1Thê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
-oNnmap 192.168.1.1 -oN normal.fileXuất file bình thường ví dụ normal.file
-oXnmap 192.168.1.1 -oX xml.fileXuất ở định dạng XML
-oGnmap 192.168.1.1 -oG grep.fileGộp dữ liệu vào tệp Grep.file
-oAnmap 192.168.1.1 -oA resultsXuất cả ba định dạng cùng một lúc.
-oG –nmap 192.168.1.1 -oG –
–append-outputnmap 192.168.1.1 -oN file.file –append-outputNối các bản quét vào bản quét trước đó.
-vnmap 192.168.1.1 -vTăng mức độ chi tiết (sử dụng -vv trở lên để có hiệu quả cao hơn)
-dnmap 192.168.1.1 -dTăng mức độ gỡ lỗi (sử dụng -dd trở lên để có hiệu quả cao hơn)
–reasonnmap 192.168.1.1 –reasonHiển thị lý do một cổng ở trạng thái cụ thể, đầu ra giống như -vv
–opennmap 192.168.1.1 –openChỉ hiển thị các cổng đang mở (hoặc có thể đang mở)
–packet-tracenmap 192.168.1.1 -T4 –packet-traceHiển thị tất cả các gói được gửi và nhận
–iflistnmap –iflistHiển thị giao diện máy chủ và các đường định tuyến.
–resumenmap –resume results.filePhục hồi quét.

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

LệnhChi tiết
nmap -p80 -sV -oG – –open 192.168.1.1/24 | grep openQué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.txtTạ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.txtNối thêm các IP vào danh sách
ndiff scanl.xml scan2.xmlSo sánh đầu ra từ nmap bằng cách sử dụng ndif
xsltproc nmap.xml -o nmap.htmlChuyển đổi tệp nmap xml thành tệp html
grep ” open ” results.nmap | sed -r ‘s/ +/ /g’ | sort | uniq -c | sort -rn | lessDanh sách được sắp xếp ngược về tần suất các cổng hoạt động.

Chỉ cần sử dụng tốt nmap, ta có thể tìm thấy rất nhiều thông tin cần thiết. Nmap được xếp vào nhóm các công cụ trinh sát và thu thập thông tin, đây cũng là bước quan trọng trong các quy trình kiểm tra an ninh mạng.

Nguồn: Nmap Cheat Sheet (stationx.net)

anninhmang.pro

Add a Comment

Your email address will not be published.