Quét mạng (Network Scanning)
1. Tổng quan
A. Định nghĩa
Quét mạng (Network Scanning) là kỹ thuật chủ động dò tìm và thu thập thông tin về host, cổng (port), dịch vụ và lỗ hổng trên mạng, mang tính hai mặt: đối với kẻ tấn công, đây là phương tiện cốt lõi của trinh sát (reconnaissance) trước khi xâm nhập; đối với bên phòng thủ, đây là công cụ nhận diện tài sản và đánh giá lỗ hổng (Vulnerability Assessment).
Quét mạng quan trọng trong bảo mật vì tính hai mặt 'vừa là bước đầu tiên của tấn công, vừa là bước đầu tiên của phòng thủ'. Trong 7 giai đoạn của Cyber Kill Chain, giai đoạn đầu tiên chính là trinh sát (Reconnaissance), và kẻ tấn công nhất định phải nắm được địa hình của mục tiêu trước khi xâm nhập. Chỉ khi lần lượt nắm được host nào đang hoạt động (phát hiện host), cổng nào đang mở (quét cổng), dịch vụ và hệ điều hành nào đang chạy với phiên bản nào trên cổng đó (nhận dạng dấu vân tay dịch vụ/OS), và phiên bản đó có lỗ hổng đã biết (CVE) hay không (quét lỗ hổng), kẻ tấn công mới xác định được đường tấn công thực tế (Exploitation). Quét mạng chính là hoạt động 'vẽ bản đồ' này.
Thế nhưng bên phòng thủ cũng dùng chính xác cùng kỹ thuật đó. Quản trị viên bảo mật tự quét mạng của mình để tìm ra các cổng mở không cần thiết, các dịch vụ được khởi chạy mà quản trị viên không hay biết (Shadow IT), các phiên bản dễ bị tấn công chưa được vá, và chặn trước. Vì thế công cụ tiêu biểu Nmap (Network Mapper) đã trở thành công cụ thiết yếu của cả kẻ tấn công lẫn bên phòng thủ; và khác với trinh sát thụ động (passive), vì là trinh sát chủ động (Active) gửi gói tin trực tiếp tới mục tiêu nên nó để lại dấu vết (log, lưu lượng). Do đó, ở góc độ phòng thủ, đồng thời cần có ① năng lực phát hiện và chặn các lượt quét của người khác và ② năng lực tự quét để thu hẹp bề mặt tấn công (Attack Surface).
B. Trinh sát thụ động và trinh sát chủ động
Trinh sát được chia thành trinh sát thụ động (Passive) — chỉ thu thập thông tin từ nguồn công khai (WHOIS, DNS, công cụ tìm kiếm, Shodan, v.v.) mà không gửi gói tin tới mục tiêu — và trinh sát chủ động (Active) — thực sự gửi gói tin và quan sát phản ứng. Quét mạng thuộc loại sau, chấp nhận rủi ro bị phát hiện để đổi lấy việc gây ra phản ứng. Kẻ tấn công thường dùng chiến lược hai bước: thu hẹp phạm vi tài sản sơ bộ bằng trinh sát thụ động, rồi hoàn thiện bản đồ chi tiết bằng quét chủ động.
| Mục đích | Nội dung | Kỹ thuật, công cụ tiêu biểu |
|---|---|---|
| Phát hiện host | Nhận diện host đang hoạt động (kiểm tra còn sống) | Ping/ICMP, quét ARP, TCP Ping |
| Quét cổng | Nắm bắt cổng mở, dịch vụ | Quét SYN, Connect, UDP |
| Phát hiện dịch vụ, OS | Nhận diện phiên bản, hệ điều hành (fingerprinting) | Nmap -sV, -O, banner grabbing |
| Quét lỗ hổng | Có tồn tại lỗ hổng đã biết (CVE) hay không | Nessus, OpenVAS, Nmap NSE |
2. Quy trình tổng thể và các loại quét
A. Quy trình quét
Quét không phải là gõ bừa vào toàn bộ cổng mà thu hẹp dần theo hình phễu (funnel): phát hiện host → quét cổng → phát hiện dịch vụ/OS → quét lỗ hổng. Phải thu hẹp phạm vi theo cách chỉ quét cổng trên các host đã được xác nhận còn sống ở bước trước, và chỉ phát hiện dịch vụ trên các cổng đã được xác nhận mở, thì cả hiệu quả lẫn tính ẩn mình mới cùng tăng. Ví dụ, quét toàn bộ cổng (65.535 cổng) trên dải /24 (254 host) cần khoảng 16 triệu lượt thăm dò, nhưng nếu trước tiên dùng phát hiện host để lọc ra 20 máy còn sống và chỉ xem 1.000 cổng phổ biến nhất thì giảm xuống còn 20 nghìn lượt.
flowchart TB
A[Chọn phạm vi mục tiêu] --> B["Phát hiện host<br/>(ICMP/ARP Ping)"]
B --> C{Host còn sống?}
C -->|Yes| D["Quét cổng<br/>(SYN/Connect/UDP)"]
C -->|No| Z[Loại trừ]
D --> E{Cổng mở?}
E -->|Yes| F["Phát hiện dịch vụ, OS<br/>(banner, fingerprinting)"]
E -->|No| Z
F --> G["Quét lỗ hổng<br/>(đối chiếu CVE, NSE)"]
G --> H[Lập bản đồ kết quả trinh sát]
style A fill:#e8f0fe,stroke:#2f6fed,stroke-width:2px
style H fill:#e8f0fe,stroke:#2f6fed,stroke-width:2px
B. Phân loại quét
flowchart TB
S[Quét mạng] --> H["Quét host<br/>(kiểm tra còn sống)"]
S --> P["Quét cổng<br/>(TCP/UDP)"]
S --> O["Phát hiện dịch vụ, OS<br/>(fingerprinting)"]
S --> V["Quét lỗ hổng<br/>(kiểm tra CVE)"]
P --> P1["Connect<br/>(Full-open)"]
P --> P2["SYN<br/>(Half-open)"]
P --> P3["FIN/NULL/XMAS<br/>(stealth)"]
P --> P4["Quét UDP"]
style S fill:#e8f0fe,stroke:#2f6fed,stroke-width:2px
style P fill:#fef3f2,stroke:#e11d48,stroke-width:2px
Quét host trước tiên lọc ra IP nào trong dải mục tiêu thực sự phản hồi. Theo truyền thống dùng ICMP Echo (Ping), nhưng vì nhiều môi trường có tường lửa chặn ICMP, trong thực tế người ta dùng kết hợp TCP SYN Ping (gửi SYN tới cổng 80/443), TCP ACK Ping, UDP Ping. Nếu ở trong cùng miền quảng bá (broadcast domain) thì quét ARP — khó chặn ngay cả bằng tường lửa — là chắc chắn nhất. Tùy chọn -sn của Nmap là chế độ chỉ thực hiện phát hiện host mà không quét cổng.
Phát hiện dịch vụ, OS gửi thăm dò thực tế tới cổng mở và đối chiếu đặc điểm phản hồi (chuỗi banner, khác biệt tinh vi trong cách triển khai ngăn xếp TCP/IP) như dấu vân tay để suy ra loại và phiên bản phần mềm cùng hệ điều hành. Ví dụ, nếu cổng 22 trả về banner SSH-2.0-OpenSSH_7.4 thì xác định được là OpenSSH 7.4, và có thể tra cứu ngay các CVE liên quan đến phiên bản này. Phát hiện OS (-O) tổng hợp các đặc tính ngăn xếp như giá trị TTL ban đầu, kích thước cửa sổ TCP, thứ tự tùy chọn để phân biệt họ Windows/Linux.
C. Nguyên lý các kỹ thuật quét cổng
Cốt lõi của quét cổng là lợi dụng ngược nguyên lý hoạt động của TCP 3-way handshake (SYN → SYN/ACK → ACK). Cổng mở phản hồi SYN bằng SYN/ACK, cổng đóng phản hồi bằng RST, còn nếu tường lửa lặng lẽ bỏ (Drop) thì không có phản hồi nào. Trạng thái cổng (open/closed/filtered) được xác định bằng cách đọc sự khác biệt giữa ba phản ứng này.
Quét TCP Connect (Full-open) dùng nguyên lời gọi hệ thống connect() của OS để hoàn tất handshake. Có thể chạy mà không cần quyền đặc biệt và kết quả chắc chắn, nhưng vì kết nối được thiết lập hoàn toàn nên log ứng dụng máy chủ lưu lại nguyên vẹn bản ghi truy cập, dễ bị phát hiện. Quét SYN (Half-open) chỉ gửi SYN, khi nhận SYN/ACK thì đánh giá là 'mở' và ngay sau đó gửi RST thay vì ACK để ngắt kết nối. Vì không hoàn tất 3-way handshake nên không lưu lại trong nhiều log ứng dụng, được gọi là 'quét ẩn (stealth scan)', nhanh và kín đáo, được dùng làm kiểu quét mặc định của Nmap (-sS, tuy nhiên cần quyền quản trị).
Quét FIN, NULL, XMAS gửi các tổ hợp cờ bất thường không liên quan đến handshake. Theo RFC 793, cổng đóng trả lời các gói tin này bằng RST còn cổng mở thì bỏ qua, nên suy ngược 'không phản hồi = mở hoặc bị lọc'. Có khả năng vượt qua tường lửa, ACL đơn giản không trạng thái (stateless), nhưng họ Windows không tuân theo RFC nên ít hiệu quả. Quét UDP do đặc tính phi kết nối nên dù không có phản hồi vẫn có thể là cổng mở, khiến việc xác định chậm và mơ hồ; trạng thái được suy ra dựa trên việc cổng đóng có trả về ICMP Port Unreachable (Type 3, Code 3) hay không. Kiểu quét này bắt buộc cần thiết để kiểm tra các dịch vụ UDP quan trọng như DNS (53), SNMP (161), NTP (123).
| Kỹ thuật | Nguyên lý hoạt động | Đặc điểm |
|---|---|---|
| TCP Connect | Hoàn tất 3-way handshake | Chắc chắn, không cần quyền, để lại log |
| SYN (Half-open) | Gửi SYN rồi ngắt bằng RST | Kín đáo, nhanh, kiểu quét mặc định |
| FIN/NULL/XMAS | Suy ngược bằng cờ bất thường | Vượt tường lửa đơn giản, vô hiệu với Windows |
| Quét UDP | Có hay không ICMP Unreachable | Chậm, mơ hồ, bắt buộc để kiểm tra DNS/SNMP |
D. Ví dụ quét thực tế (Nmap)
Trong kiểm tra và kiểm thử xâm nhập thực tế, các tùy chọn được kết hợp theo mục đích. Dưới đây là các kịch bản quét tiêu biểu, và chiến lược phễu 'quét rộng rồi đào sâu hẹp' cũng thể hiện nguyên vẹn ở cấp độ tùy chọn.
nmap -sn 10.0.0.0/24— Chỉ phát hiện host, không quét cổng (kiểm tra còn sống). Lọc trước các tài sản đang hoạt động trong dải.nmap -sS -p- 10.0.0.5— Kiểm tra toàn bộ cổng (1~65535) bằng quét SYN (Half-open). Kiểu quét chi tiết cơ bản, kín đáo và nhanh.nmap -sV -sC 10.0.0.5— Phát hiện phiên bản dịch vụ (-sV) + script mặc định (-sC) để kiểm tra banner và lỗ hổng cơ bản.nmap -O 10.0.0.5— Suy ra hệ điều hành và phiên bản bằng dấu vân tay ngăn xếp TCP/IP.nmap -sU --top-ports 50 10.0.0.5— Kiểm tra các cổng UDP chính (DNS, SNMP, NTP, v.v.).nmap -T2 -f -D RND:10 <target>— Giảm tốc độ (-T2), phân mảnh gói tin và dùng mồi nhử (-D) để thử né tránh phát hiện của IDS (chỉ giới hạn trong kiểm thử xâm nhập).nmap --script vuln 10.0.0.5— Tự động kiểm tra các lỗ hổng đã biết bằng NSE (Nmap Scripting Engine).
Như vậy, quét thay đổi kỹ thuật, tốc độ và tùy chọn né tránh tùy theo mục đích 'thông tin gì, kín đáo đến mức nào'. Sự khác biệt ở chỗ bên phòng thủ ưa dùng -sV -sC để kiểm tra tài sản, còn kẻ tấn công ưa dùng -T2 -f -D để né tránh phát hiện, chính là manh mối để thiết kế quy tắc phát hiện.
3. Phát hiện và ứng phó
Vì là trinh sát chủ động nên quét nhất định để lại dấu vết. Các dấu hiệu tiêu biểu là mẫu hình một nguồn cố gắng kết nối tới nhiều cổng, nhiều host trong thời gian ngắn, sự gia tăng đột biến của các kết nối nửa vời (Half-open) không hoàn tất, và các gói tin có cờ bất thường. Phòng thủ chia thành trục phát hiện các dấu hiệu này và trục giảm ngay từ đầu những gì bị nhìn thấy.
Trước hết, IDS/IPS và SIEM phát hiện và chặn quét dựa trên ngưỡng (ví dụ: kết nối N cổng trong 1 giây) hoặc dựa trên chữ ký, còn tường lửa chặn tận gốc các cổng không cần thiết để giảm chính bề mặt phản hồi quét. Về chủ động, cũng có thể dùng honeypot, port knocking để dụ và nhận diện máy quét. Tuy nhiên, biện pháp căn bản là tối thiểu hóa bề mặt tấn công. Nếu tắt các dịch vụ không dùng và đóng cổng thì có quét cũng không có gì lộ ra. Trên thực tế, sự kiện WannaCry năm 2017 lây lan bằng cách quét hàng loạt cổng SMB (445) lộ ra Internet, và việc phần lớn có thể được ngăn chặn chỉ bằng chặn cổng 445 và vá lỗi cho thấy tầm quan trọng của việc thu hẹp bề mặt.
| Ứng phó | Nội dung |
|---|---|
| IDS/IPS | Phát hiện, chặn mẫu hình quét (kết nối hàng loạt, Half-open) |
| Tường lửa, ACL | Chặn cổng không cần thiết, nguyên tắc phơi bày tối thiểu |
| Tối thiểu hóa cổng/dịch vụ | Đóng dịch vụ không dùng, gia cố (hardening) |
| Liên kết SIEM, SOAR | Phân tích tương quan log, ứng phó tự động (playbook) |
4. Chuyên sâu — Ứng dụng phòng thủ và xu hướng mới nhất
Quét vừa là 'mối đe dọa cần chặn' vừa là 'quy trình bảo mật cần tận dụng tích cực'. Các tổ chức trưởng thành lấy quét làm động cơ cốt lõi của quản lý lỗ hổng (Vulnerability Management, VM) và quản lý bề mặt tấn công (ASM). Họ tự động quét định kỳ (ví dụ: mỗi tuần 1 lần) tài sản nội bộ và bên ngoài, gom các cổng mới mở, dịch vụ mới khởi chạy, phơi nhiễm CVE mới vào SIEM, và tự động hóa đến cả việc tạo ticket và cách ly bằng playbook SOAR. Trong môi trường cloud, các instance được tạo và hủy liên tục nên sổ tài sản tĩnh trở nên vô nghĩa, khiến quét liên tục (continuous) và phát hiện tài sản liên kết với API cloud trở thành bắt buộc.
Công cụ tấn công cũng đang tiến hóa. Nếu Nmap là chuẩn mực của quét chi tiết, thì Masscan, ZMap là các máy quét siêu tốc có thể rà toàn bộ Internet (khoảng 4,3 tỷ địa chỉ IPv4) trong vài phút đến vài chục phút, được dùng để khảo sát tài sản phơi nhiễm quy mô lớn. Shodan, Censys liên tục tích lũy kết quả quét như vậy và cung cấp như công cụ tìm kiếm; kẻ tấn công có thể lập tức chọn ra các mục tiêu đang phơi nhiễm phiên bản dễ bị tấn công cụ thể, dẫn đến hiện tượng 'thương mại hóa trinh sát'. Bên phòng thủ cũng được khuyến nghị tận dụng theo lối tư duy ngược — tìm kiếm tài sản của tổ chức mình trên Shodan để kiểm tra các phơi nhiễm ngoài ý muốn. Mặt khác, sự phổ biến của IPv6 với không gian địa chỉ khổng lồ (2^128) khiến quét vét cạn trở nên khó khăn, nhưng lại mở ra cục diện mới là trinh sát có mục tiêu thông qua rò rỉ thông tin DNS và quản lý cấu hình.
Ở góc độ đề thi đã ra và chủ đề tương tự, quét mạng được ra đề với liên kết rộng tới Cyber Kill Chain, phương pháp luận kiểm thử xâm nhập (penetration test), quản lý lỗ hổng, IDS/IPS, SOAR. Trong bài làm, cấu trúc không dừng ở liệt kê kỹ thuật đơn thuần mà trình bày đồng thời tính hai mặt 'trinh sát tấn công và kiểm tra phòng thủ' cùng chiến lược phòng thủ tối thiểu hóa bề mặt và tận dụng chủ động sẽ có lợi để đạt điểm cao.
5. Những điểm cần cân nhắc và hàm ý
Tính hợp pháp là tiền đề tuyệt đối. Nếu thực hiện quét trên đối tượng không được phép thì có nguy cơ vi phạm Luật Mạng thông tin và truyền thông của Hàn Quốc (xâm nhập, gây sự cố), vì vậy chỉ được thực hiện trong phạm vi quyền hạn chính đáng và đồng ý bằng văn bản trước (Scope of Work) như kiểm thử xâm nhập, kiểm tra tài sản. Nếu không có hợp đồng ghi rõ IP mục tiêu, thời gian và kỹ thuật thì dù với mục đích phòng thủ vẫn gánh rủi ro pháp lý.
Tối thiểu hóa bề mặt tấn công là phòng thủ căn bản. Giảm cổng mở và dịch vụ không cần thiết hiệu quả hơn phát hiện và chặn; cần ưu tiên cách tiếp cận 'loại bỏ chính những gì bị nhìn thấy' bằng tự quét định kỳ để theo dõi thay đổi của bề mặt phơi nhiễm và áp dụng tiêu chuẩn gia cố (CIS Benchmark, v.v.).
Tận dụng chủ động từ góc độ phòng thủ. Đưa quét thường trực vào quản lý lỗ hổng và quản lý tài sản để xử lý trước các phơi nhiễm CVE mới, đồng thời liên kết sự kiện phát hiện quét với SIEM, SOAR để thực thi chiến lược 'chặn sớm', cắt đứt kill chain ngay ở giai đoạn trinh sát.
Cân nhắc cân bằng giữa né tránh phát hiện và cảnh báo sai. Kẻ tấn công né tránh phát hiện bằng điều chỉnh tốc độ (quét chậm), phân tán nguồn, mồi nhử (decoy), nên phát hiện theo ngưỡng đơn giản dễ bị vượt qua. Cần xây dựng chính sách phân biệt lưu lượng của máy quét lỗ hổng hợp lệ với trinh sát độc hại (whitelist, phân tích dựa trên hành vi) để đồng thời giảm cả cảnh báo sai lẫn bỏ sót.
Chuẩn bị cho sự chuyển đổi sang môi trường cloud và IPv6. Tài sản động và không gian địa chỉ khổng lồ làm giảm hiệu quả thực tế của quét định kỳ truyền thống, nên cần chuyển đổi mô hình sang quét liên tục liên kết API và giải pháp quản lý bề mặt tấn công (ASM).
6. Tài liệu tham khảo
- Tài liệu chính thức của Nmap (Reference Guide): https://nmap.org/book/man.html
- MITRE ATT&CK, Active Scanning(T1595): https://attack.mitre.org/techniques/T1595/
- Lockheed Martin, Cyber Kill Chain: https://www.lockheedmartin.com/en-us/capabilities/cyber/cyber-kill-chain.html
- CISA, Reducing the Significant Risk of Known Exploited Vulnerabilities: https://www.cisa.gov/known-exploited-vulnerabilities-catalog
Tóm tắt một câu: Quét mạng là kỹ thuật chủ động dò tìm host, cổng, dịch vụ và lỗ hổng, mang tính hai mặt vừa là trinh sát đầu tiên của tấn công vừa là kiểm tra đầu tiên của phòng thủ, có các kỹ thuật lợi dụng ngược 3-way handshake như SYN, FIN, UDP, và cốt lõi của phòng thủ là tối thiểu hóa bề mặt tấn công, phát hiện bằng IDS/IPS, liên kết SIEM, SOAR và thực hiện hợp pháp.