
ResponderポイズニングとImpacketリレー、secretsdumpを組み合わせ、資格情報の取得、ハッシュリレー、横移動を実行する自動化NTLMリレー攻撃ツール。
名前が示すように、これは毒です。Cyanideは基本的に、さまざまなポイズニング手法 (現在はResponderのみ) を関連付けるためのトラッカーであり、キャプチャしたハッシュをImpacketのntlmrelayx.pyを介してリレーします。起動時には、既定でSMB・HTTP・DNSサーバーを無効にしたResponderと、SMBおよびHTTPサーバーを有効にしたNtlmrelayxを開始します。出力には次の情報が表示されます:
ntlmrelayxのターゲットには必須ファイルが必要です。ハッシュのみをキャプチャしたい場合は、単に smb://127.0.0.1 と記述してください。それ以外の場合は、通常どおりターゲットのリストを指定します (例: smb://10.0.0.8\n mssql://10.0.0.9)
使用方法はいくつかあります。
推奨される方法です。この方法では、SMB/HTTPを介してキャプチャしたハッシュを利用し、ターゲットファイルに指定されたターゲットへリレーします。リレーが成功すると、secretsdumpが実行され、 (うまくいけば) SAMがダンプされます。
ログインを成功させるには、ターゲットエンドポイントでSMB署名 (smb signing) が無効になっている必要があります。
この方法では、Responderによるホストへのポイズニングを継続しますが、リレーは行いません。SMB / HTTPを引き続きキャプチャするには、必須のntlmrelayxターゲットファイルに smb://127.0.0.1 のホストを指定する必要があります。
python3 -m venv venv
. venv/bin/activate
git clone https://github.com/horizon3ai/cyanide.git
cd cyanide
pip install -r requirements.txt
sudo -i (must be ran under root account)
python cyanide.py -iface <eth0> --watch --stdout-only --responder -ntf ntlmrelayx_targets.txt
注意: --watch/-w を使用すると、プログラムの実行中にターゲットファイルを編集してターゲットを追加/削除できます。Impacket が変更を自動的に検出して更新します。
python cyanide.py -iface <eth0> --stdout-only --responder -ntf ntlmrelayx_targets.txt --no-relay
Cyanideは、ポイズニングされたホストの情報 (poisoner_cache.db)、発生したリレー (poisoner_relay.db)、および (--stdout-onlyを指定しない場合) ポイズナーソース、リレーイベント、secretsdumpデータを含む最終メッセージを本番データベース (poisoner_prod.db) に保存するためにsqliteデータベースを利用します。poisoner_prod.dbは、指定された出力ファイルに30秒ごとにダンプされます。注意: これは、結果が30秒ごとに上書きされることを意味します。
python cyanide.py -iface <eth0> --watch --responder -ntf ntlmrelayx_targets.txt
python cyanide.py -iface <eth0> --responder -ntf ntlmrelayx_targets.txt --no-relay
horizon3_impacket配下のファイルを除くすべてのコードは、GPLv3ライセンスを維持しています。horizon3_impacket配下のすべてのコードは、Impacketの元のApacheライセンスを維持しています。詳細については、licensesディレクトリを参照してください。