
________ _________ _____ _ _____ __
/ ___| \/ || ___ \ / ___| (_) / ___| / _|
\ `--.| . . || |_/ / \ `--. ___ ___ ___ _ ___ _ __ \ `--. _ __ ___ ___ | |_ ___ _ __
`--. \ |\/| || ___ \ `--. \/ _ \/ __/ __| |/ _ \| '_ \ `--. \ '_ \ / _ \ / _ \| _/ _ \ '__|
/\__/ / | | || |_/ / /\__/ / __/\__ \__ \ | (_) | | | | /\__/ / |_) | (_) | (_) | || __/ |
\____/\_| |_/\____/ \____/ \___||___/___/_|\___/|_| |_| \____/| .__/ \___/ \___/|_| \___|_|
| |
|_|
ようこそ! これはVisual Studio 2019(またはそれ以上)でコンパイルできるユーティリティです。このプログラムの目的は、偽のSMBセッションを作成することです。主な用途は、攻撃者をおとりデバイスに誘い込む方法として機能することです。このプログラムには保証や確約は一切ありません。
このプログラムを使用するには、コードを少し修正する必要があります。144行目でWindows APIのCreateProcessWithLogonW APIが呼び出されており、デフォルトで2つのパラメータ(ユーザー名「svc-admin」とドメイン「contoso.com」)が指定されています。これらの値を、実際の本番ネットワークに合わせて変更する必要があります。
CreateProcessWithLogonW(L"DomainAdminUser", L"YourDomain.com", NULL, LOGON_NETCREDENTIALS_ONLY, <snip>);
コードを修正してコンパイルした後、サービスをインストールする必要があります。次のコマンドで実行できます。
sc create servicename binpath="C:\ProgramData\Services\Inject\service.exe" start="auto"
プログラムが正しく機能していることを確認するには、システム上に存在するセッションを確認します。次のコマンドで確認できます。
C:\ProgramData\Services\Inject> net sessions
Computer User name Client Type Opens Idle time
-------------------------------------------------------------------------------
\\[::1] svc-admin 0 00:00:04
The command completed successfully.
約13分後に再度確認し、新しいセッションが作成されプログラムが正しく動作していることを確認してください。
この背後にある理論は、攻撃者がSharpHoundを実行してセッションを収集し、侵害されたプリンシパルからの攻撃経路を分析したときに、Tier-2のインフラストラクチャ(ワークステーション)に高い特権を持つユーザーがサインインしていることを特定できるというものです。すると(見かけ上)そのワークステーションにアクセスして資格情報をダンプし、Domain Adminアクセス権を獲得できるように見えます。
上記のシナリオでは、攻撃者は「[email protected]」というユーザーを侵害しています。このユーザーはlab-wkst-2.contoso.comのローカル管理者です。svc-adminユーザーがlab-wkst-2.contoso.comにログオンしているため、攻撃者はワークステーションにサインインし、Mimikatzを実行して資格情報をダンプするだけで済みます。では、これをどのように監視すればよいでしょうか?
このツールの導入は重要ですが、監視も同様に重要です。監視なしでツールを導入しても実質的に無意味です。したがって、監視は必須です。 このホストを監視する最も効果的な方法は、すべてのログオンに対してアラートを発報することです。このプログラムは、ユーザーアクティビティがなく、ドメインに参加しており、標準的な企業監視ツール(EDR、AV、Windowsイベントログ転送など)が導入されているホストで最適に活用できます。このマシンに関連するインシデントをできるだけ迅速にトリアージできるよう、可能であればメールアラートやSMSアラートなどを設定することを強くお勧めします。これは、実際の攻撃者が当該ワークステーションに関与する可能性が最も高いからです。
サービス・テンプレート・コードと優れたWindows APIドキュメントを提供してくれたMicrosoftに感謝します。