Using NMAP Like a Red Team Operator (OPSEC Matters!)
三句話摘要
紅隊如何使用 Nmap 進行隱蔽掃描:透過代理鏈與住宅 IP 隱藏身份,降低檢測風險。 紅隊掃描的核心是在每一步都思考行動安全:優先使用被動工具,再用代理和住宅 IP 隱藏來源,最後透過特徵混淆和時機控制降低檢測風險,才能在真實環境中保持隱蔽。 被動優先降低風險:使用 Shodan、DNS Dumpster、SSL 憑證查詢等工具進行被動偵察,往往能直接獲得開放端口和服務版本,完全避免主動掃描暴露自己的行為。
重點整理
重點- 1
被動優先降低風險:使用 Shodan、DNS Dumpster、SSL 憑證查詢等工具進行被動偵察,往往能直接獲得開放端口和服務版本,完全避免主動掃描暴露自己的行為。
- 2
住宅代理隱藏來源:建立 SSH 隧道到 VPS,再透過住宅代理伺服器(如 webshare.io、brightdata.com)轉發掃描流量,讓目標記錄的是普通家庭 IP 而非雲伺服器 IP,住宅流量通常不會被阻止。
- 3
特徵混淆破壞簽名:Nmap 掃描有獨特特徵,透過 --data-length 添加隨機資料、--ttl 偽裝 OS(Linux/Mac 64、Windows 128)、自訂 User-Agent 字串,讓掃描看起來像正常流量。
- 4
時機控制減少檢測:使用 -T0 至 -T2 大幅降低掃描速度(T0 約 8 小時掃 100 端口)、--scan-delay 精確設定延遲、只掃描必要端口、跳過 DNS 和 ICMP,全面降低噪音和被偵測風險。
實用技巧與重點
乾貨- 被動偵察工具
- Shodan:查詢開放端口、服務版本、漏洞信息
- DNS Dumpster:查詢 DNS 記錄歷史
- SSL 憑證查詢:可能洩露真實 IP
- useragents.io:獲取最新 User-Agent 字串
- 住宅代理服務
- webshare.io(10 個免費代理、付費後增加配額)
- brightdata.com(提供住宅代理服務)
- 代理埠:3128(Squid 標準埠)
- Nmap 關鍵選項
- `-n`:跳過 DNS 解析(防止 DNS 洩露)
- `-Pn`:跳過 ping/主機發現(ICMP 與 proxychains 不相容)
- `-p 445,8080`:指定掃描端口(只掃必要端口)
- `-sT`:TCP 連線掃描(proxychains 必須用此模式)
- `-sV`:服務版本枚舉(會增加噪音)
- `-T0` 至 `-T5`:計時選項(T0 最慢約 5 分鐘/包)
- `--scan-delay 55s`:設定掃描延遲(可客製化 300s、5300s 等)
- `--data-length 24`:添加隨機資料破壞簽名
- `--ttl 64`(Linux/Mac)或 `128`(Windows):偽裝 TTL
- `--script-args http.user-agent="[字串]"`:自訂 User-Agent
- Proxychains 配置
- 配置檔:`/etc/proxychains4.conf`
- SSH 動態 SOCKS:`ssh -N -D 127.0.0.1:1080 root@VPS_IP`
- 代理埠:1080(標準 SOCKS 埠)
- 掃描命令:`proxychains nmap [選項] [目標]`
- 驗證工具
- Wireshark:抓包確認掃描來源 IP 是否成功偽裝
- 規避 WAF/防火牆的額外手段
- 查詢郵件頭:透過忘記密碼、聯絡我們頁面獲取真實 IP
- DNS 歷史記錄:使用 DNS Dumpster 發現舊 DNS 記錄中的真實 IP
- SSL 憑證查詢:檢查是否有憑證綁定到真實 IP(不只是 WAF IP)
- JA3 欺騙工具:針對 SSL 握手特徵進行混淆
- 逐個端口探測:速度緩慢但隱蔽性最高
結論
結論“紅隊掃描的核心是在每一步都思考行動安全:優先使用被動工具,再用代理和住宅 IP 隱藏來源,最後透過特徵混淆和時機控制降低檢測風險,才能在真實環境中保持隱蔽。”
完整解析
詳細紅隊演練的成功在於隱蔽性,而非技術複雜性本身。真正的威脅行為者不會直接暴露自己,而是採取低調行動。因此,安全專業人員需要模擬這種現實威脅模式,在不被發現的前提下執行掃描。這與 CTF 比賽中可以肆無忌憚地發送流量的環境截然不同。
首先,被動偵察應該是首選策略。使用 Shodan 這類工具可以查詢目標的公開信息,往往能快速獲得開放端口、服務版本甚至漏洞信息,完全無需發起主動掃描。例如,查詢 scanme.nmap.org 可以直接看到已開放的端口和服務版本,省去掃描的必要。這種方法不僅隱蔽,而且效率高。
當必須進行主動掃描時,流量隱蔽變得至關重要。講者建立了一個複雜的網路架構來演示:紅隊操作員位於 10 網段,目標在 40 網段,中間透過 SSH 隧道連接到 VPS 作為重定向器。VPS 進一步透過住宅代理伺服器(運行 Squid)轉發流量。這樣設計的好處是,目標伺服器在日誌中看到的掃描來源是住宅代理的 IP,而非紅隊操作員的真實 IP。住宅 IP 通常不會被組織阻止,因為他們信任家庭用戶的流量;相比之下,AWS、Linode 等雲伺服器 IP 往往預設被阻止。webshare.io 和 brightdata.com 等服務提供免費或付費的住宅代理方案,讓這個實踐方案完全可行。
除了基礎設施級隱蔽,還需要混淆掃描特徵本身。Nmap 的每次掃描都有獨特的特徵簽名,容易被防火牆識別。透過 --data-length 添加隨機資料、使用 --ttl 偽裝作業系統特徵(64 代表 Linux/Mac,128 代表 Windows)、自訂 User-Agent 字串,可以讓掃描看起來像正常的網路流量。時機控制同樣關鍵:使用 -T0 到 -T2 的計時選項會大幅降低掃描速度(T0 需約 8 小時掃 100 個端口),或使用 --scan-delay 精確設定延遲,都能大幅降低檢測風險。
在實踐中,講者使用 proxychains 工具將 Nmap 掃描透過 SSH 隧道和代理鏈轉發。透過編輯 /etc/proxychains4.conf,添加 SSH 隧道(SOCKS 5 代理監聽 127.0.0.1:1080)和住宅代理(HTTP 代理指向 3128 埠)的條目,就能透過 `proxychains nmap` 命令執行隱蔽掃描。使用 proxychains 時必須採用 -sT(TCP 連線掃描)而非 SYN 掃描,因為代理無法轉發原始 TCP 包。同時要使用 -n 跳過 DNS 解析(防止 DNS 查詢洩露信息)、-Pn 跳過 ICMP 主機發現(ICMP 與 proxychains 不相容,也會產生噪音)。講者透過 Wireshark 驗證了方案的有效性,掃描 8080 和 445 端口時,目標伺服器記錄的來源 IP 確實是住宅代理而非紅隊操作員的真實 IP。
然而,面對配置了 WAF(Web 應用防火牆)或防火牆的目標時,真實 IP 可能已被反向代理隱藏,這需要額外技巧發現真實 IP,例如查詢郵件頭、DNS 歷史記錄或 SSL 憑證,也可以透過 JA3 欺騙等進階工具進一步混淆。
關鍵時刻
Pipeline v2帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。
事實查核
Pipeline v2說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

