
PowerShell Runspace ポストエクスプロイテーションツールキット
PowerShell 実行空間 ポストエクスプロレーション ツールキット
バージョン: 2.6 ライセンス: BSD 3-Clause
p0wnedShell は C# で書かれた攻撃的な PowerShell ホストアプリケーションです。powershell.exe に依存せず、PowerShell のコマンドや関数を PowerShell の実行空間(.NET)環境内で実行します。数多くの攻撃用 PowerShell モジュールとバイナリが含まれており、ポストエクスプロレーションのプロセスを容易にします。 私たちが目指したのは、すべての(あるいは少なくともいくつかの)緩和策を回避でき、関連するツールをすべて含んだ「オールインワン」のポストエクスプロレーションツールを構築することでした。 Active Directory 環境内での最新の攻撃を実行し、ブルーチームに認識を促して適切な防御戦略を構築するために使用できます。
p0wnedShell をコンパイルするには、Microsoft Visual Studio でこのプロジェクトを開き、x64/x86 プラットフォーム用にビルドします。 コンパイル前に以下の AutoMasq オプションを変更できます。
public static bool AutoMasq = true;
public static string masqBinary = @"C:\Windows\Notepad.exe";
AutoMasq を false に設定すると、通常通り実行ファイルを実行します。 AutoMasq を有効にすると、p0wnedShell の実行ファイルを偽装するプロセス(masqBinary)の名前に変更することで、そのプロセス(例: notepad.exe)のように見せかけることができます。
オプションの "-parent" コマンドライン引数を使用すると、別の親プロセス ID で p0wnedShell を起動できます。 PEB マスクオプションと異なる親プロセス ID(例: svchost)を組み合わせることで、p0wnedShell を正当なサービスのように見せかけることができます ;)
注: 別の親プロセス ID を使用した p0wnedShell の起動は、Meterpreter セッション/シェルからは機能しません… まだ。
親プロセス ID の変更は、例えば lsass を親プロセスとして使用することで、システム権限で p0wnedShell プロセスを起動するためにも使用できます。
これには UAC 昇格された管理者権限が必要です。
C:\p0wnedShell>p0wnedShellx64.exe -parent
[+] 有効な親プロセス名を入力してください。
[+] 例: C:\p0wnedShell\p0wnedShellx64.exe -parent svchost
C:\p0wnedShell>p0wnedShellx64.exe -parent lsass
x86 バイナリとして実行し、AppLocker をバイパスするには(この優れたバイパスは Casey Smith(別名 subTee)に感謝します):
cd \Windows\Microsoft.NET\Framework\v4.0.30319 (または新しい .NET バージョンフォルダ)
InstallUtil.exe /logfile= /LogToConsole=false /U C:\p0wnedShell\p0wnedShellx86.exe
x64 バイナリとして実行し、AppLocker をバイパスするには:
cd \Windows\Microsoft.NET\Framework64\v4.0.30319 (または新しい .NET バージョンフォルダ)
InstallUtil.exe /logfile= /LogToConsole=false /U C:\p0wnedShell\p0wnedShellx64.exe
実行空間内の PowerShell 関数は、Base64 エンコードおよび圧縮された文字列 からメモリに読み込まれます。
バイナリは ReflectivePEInjection を使用してメモリに読み込まれます(バイト配列は Gzip で圧縮され、Base64 エンコードされた文字列 として p0wnedShell 内に保存されます)。
p0wnedShell は、harmj0y、Powersploit のメンバー、Sean Metcalf、SubTee、Nikhil Mittal、Besimorhino、Benjamin Delpy、Breenmachine、FoxGlove Security、Kevin Robertson、FuzzySecurity、James Forshaw など、多くの人々のツールと知識に大きく依存しています。また、忘れている方々にも感謝します。そしてもちろん、非常に強力なハッキング言語を提供してくれた Redmond の友人たちにも感謝します。
問題の報告や機能のリクエストについては、以下の連絡先までお気軽にどうぞ:
Cornelis at dePlaa.com または @Cn33lis