Nmap (Network Mapper): เครื่องมือสแกนเครือข่ายโอเพนซอร์สที่ทรงพลัง
Nmap เป็นเครื่องมือสแกนเครือข่ายและตรวจสอบพอร์ต (Port Scanner) ฟรี โอเพนซอร์ส (Open Source) ที่ใช้กันอย่างแพร่หลายทั้งโดย ผู้ปกป้อง (Defenders/Blue Team) และ ผู้โจมตี (Attackers/Red Team) ความมีค่าของมันอยู่ที่ "ความรู้" ที่ได้จากการสแกน
คุณค่าสำหรับฝ่ายป้องกัน (Blue Team / Network Security)
- Asset Discovery & Inventory: หาอุปกรณ์ทั้งหมดในเครือข่าย (Host Discovery) รวมถึง Shadow IT, IoT, Rogue Devices ที่ IT ไม่รู้จัก
- Vulnerability Assessment: ระบุ Open Ports, Services, Versions (Service Version Detection
-sV) เพื่อข้อกลับมาเช็ค CVE, Patch Management - Network Topology Mapping: สร้างแผนผังเครือข่าย (Topology) ด้วย
--tracerouteและ-sn(Ping Sweep) ช่วย Visualize Network Segmentation - Compliance Auditing: ตรวจสอบว่า Firewall Rules/ACLs ทำงานจริง (เช่น พอร์ต 22, 3389, 445 ควรบล็อกจาก Internet แต่เปิดอยู่หรือไม่)
- Security Hardening Verification: ยืนยันว่า Service ที่ไม่จำเป็นถูกปิด (Unnecessary Services), Protocol เก่า (Telnet, FTP, SMBv1) ถูก Disable
- Penetration Testing / Red Teaming: Pre-engagement Recon, Pivot Point Identification, Lateral Movement Path Discovery
- Automation & Scripting (NSE - Nmap Scripting Engine): 600+ Scripts สำหรับ Vulnerability Detection (vuln category), Malware Detection, Brute Force, SSL/TLS Config, DNS Enum, ฯลฯ
- Continuous Monitoring: รัน Scheduled Scan (Cron/Systemd Timer) เปรียบเทียบผลลัพธ์ (Ndiff) เพื่อหาการเปลี่ยนแปลง (New Host, New Open Port, Version Change)
ทำไมแฮกเกอร์จึงใช้ Nmap (Red Team Perspective)
- Reconnaissance ขั้นแรก: หา Target, Open Ports, Services, OS Fingerprinting (
-O), Vulnerable Versions - หา Attack Surface: พอร์ตที่เปิดอยู่, Service ที่ล้าสมัย, Misconfiguration
- Automation: ใช้ NSE Scripts โจมตีเฉพาะช่องโหว่ (เช่น
smb-vuln-ms17-010สำหรับ EternalBlue)
การป้องกัน/ลดความเสี่ยงจากการถูกสแกนโดย Nmap (Defense Against Scanning)
- Firewall/IDS/IPS Rules: บล็อก/แจ้งเตือนการสแกนแบบ Aggressive (SYN Flood, Null/Fin/Xmas Scan, Version Intensity High)
- Port Knocking / SPA (Single Packet Authorization): ซ่อนพอร์ตจริง (fwknop)
- Rate Limiting / Throttling: จำกัดอัตราการเชื่อมต่อต่อ Source IP
- Honeypots / Deception: ติดตั้ง Canary Tokens, Honeypots (Cowrie, Dionaea) ให้แฮกเกอร์สแกนเจอของปลอม
- Network Segmentation / Zero Trust: แม้สแกนเจอ ก็ไม่สามารถเข้าถึง Critical Assets ได้ง่าย
- Minimize Attack Surface: ปิด Service/Port ที่ไม่ใช้, Disable Banner/Version Disclosure
คำสั่ง Nmap ที่นิยมใช้ใน Security Ops
| คำสั่ง | วัตถุประสงค์ |
|---|---|
nmap -sn 192.168.1.0/24 | Ping Sweep (Host Discovery) หา Host ที่ Up |
nmap -sS -sV -O -T4 192.168.1.100 | SYN Scan + Version Detection + OS Fingerprint (Aggressive) |
nmap -p- --min-rate 1000 -T4 192.168.1.100 | Full Port Scan (1-65535) เร็ว |
nmap --script vuln 192.168.1.100 | รัน NSE Vulnerability Scripts ทั้งหมด |
nmap --script ssl-enum-ciphers -p 443 192.168.1.100 | ตรวจสอบ SSL/TLS Cipher Suites |
nmap -sU --top-ports 100 192.168.1.100 | UDP Scan Top 100 Ports (ช้า ต้อง sudo) |
nmap -oA scan_result 192.168.1.0/24 | บันทึกผล Normal, XML, Grepable formats |
ข้อควรระวังทางกฎหมายและจริยธรรม
- สแกนเฉพาะเครือข่ายที่คุณเป็นเจ้าของ หรือได้รับอนุญาตเป็นลายลักษณ์อักษร
- สแกนระบบของผู้อื่นโดยไม่ได้รับอนุญาต อาจละเมิด Computer Fraud and Abuse Act (CFAA) สหรัฐ หรือ Computer Crime Act ประเทศอื่นๆ
- ใช้ในการ Audit/Pentest ต้องมี Scope และ Rules of Engagement (RoE) ชัดเจน
สรุป
Nmap มีค่าเพราะเป็น "ตา" ที่มองเห็นพื้นผิวการโจมตี (Attack Surface) ของเครือข่าย ทั้งฝ่ายป้องกันและโจมตีใช้เครื่องมือเดียวกัน ความแตกต่างอยู่ที่ เจตนาและสิทธิ์การเข้าถึง การใช้ Nmap อย่างสม่ำเสมูและรับผิดชอบ เป็น Best Practice ของ Network Security Hygiene