Spoofing LLMNR, NBT-NS, mDNS/DNS and WPAD and Relay Attacks
Last updated
Last updated
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
LLMNR、NBT-NS、mDNS:
Microsoftや他のオペレーティングシステムは、DNSが失敗した場合にローカル名解決のためにLLMNRとNBT-NSを使用します。同様に、AppleやLinuxシステムはmDNSを使用します。
これらのプロトコルは、UDP上での認証されていないブロードキャストの性質のため、傍受やスプーフィングに対して脆弱です。
Responderを使用して、これらのプロトコルを照会するホストに対して偽の応答を送信することでサービスを偽装できます。
Responderを使用したサービスの偽装に関する詳細情報はこちらで確認できます。
WPADは、ブラウザがプロキシ設定を自動的に発見することを可能にします。
発見は、DHCP、DNSを介して行われ、DNSが失敗した場合はLLMNRとNBT-NSにフォールバックします。
ResponderはWPAD攻撃を自動化し、クライアントを悪意のあるWPADサーバーに誘導できます。
Responderは、LLMNR、NBT-NS、mDNSクエリをポイズニングするためのツールで、主にSMBサービスをターゲットにしてクエリタイプに基づいて選択的に応答します。
Kali Linuxにプリインストールされており、/etc/responder/Responder.conf
で設定可能です。
Responderはキャプチャしたハッシュを画面に表示し、/usr/share/responder/logs
ディレクトリに保存します。
IPv4とIPv6の両方をサポートしています。
ResponderのWindows版はこちらで入手できます。
デフォルト設定でResponderを実行するには:responder -I <Interface>
より攻撃的なプロービングを行うには(潜在的な副作用あり):responder -I <Interface> -P -r -v
NTLMv1チャレンジ/レスポンスをキャプチャして簡単にクラックするための技術:responder -I <Interface> --lm --disable-ess
WPADの偽装を有効にするには:responder -I <Interface> --wpad
NetBIOSリクエストを攻撃者のIPに解決し、認証プロキシを設定するには:responder.py -I <interface> -Pv
DHCP応答をスプーフィングすることで、被害者のルーティング情報を永続的にポイズンし、ARPポイズニングよりもステルス性の高い代替手段を提供します。
これは、ターゲットネットワークの構成に関する正確な知識を必要とします。
攻撃を実行するには:./Responder.py -I eth0 -Pdv
この方法はNTLMv1/2ハッシュを効果的にキャプチャできますが、ネットワークの混乱を避けるために慎重な取り扱いが必要です。
Responderは、上記のプロトコルを使用してサービスを偽装し、ユーザーが偽装されたサービスに対して認証を試みるときに資格情報(通常はNTLMv2チャレンジ/レスポンス)をキャプチャします。
NetNTLMv1にダウングレードしたり、ESSを無効にして資格情報のクラックを容易にする試みが行われることがあります。
これらの技術を使用する際は、法的かつ倫理的に行動し、適切な承認を得て、混乱や不正アクセスを避けることが重要です。
Inveighは、Windowsシステム向けに設計されたペネトレーションテスターおよびレッドチーム向けのツールです。Responderと同様の機能を提供し、スプーフィングや中間者攻撃を実行します。このツールは、PowerShellスクリプトからC#バイナリに進化し、InveighとInveighZeroが主要なバージョンです。詳細なパラメータと指示はwikiで確認できます。
InveighはPowerShellを通じて操作できます:
またはC#バイナリとして実行されます:
この攻撃は、SMB認証セッションを利用してターゲットマシンにアクセスし、成功すればシステムシェルを取得します。主な前提条件は以下の通りです:
認証するユーザーは、リレーされたホストでローカル管理者アクセスを持っている必要があります。
SMB署名は無効にする必要があります。
直接的なネットワーク導入が不可能なシナリオでは、ポート445のトラフィックを転送し、トンネリングする必要があります。PortBenderのようなツールは、ポート445のトラフィックを別のポートにリダイレクトするのに役立ち、ローカル管理者アクセスがある場合にドライバのロードに不可欠です。
Cobalt StrikeにおけるPortBenderのセットアップと操作:
Metasploit: プロキシ、ローカルおよびリモートホストの詳細を設定します。
smbrelayx: SMBセッションをリレーし、コマンドを実行したり、バックドアを展開するためのPythonスクリプトです。
MultiRelay: 特定のユーザーまたはすべてのユーザーをリレーし、コマンドを実行したり、ハッシュをダンプするためのResponderスイートのツールです。
各ツールは、必要に応じてSOCKSプロキシを介して動作するように構成でき、間接的なネットワークアクセスでも攻撃を可能にします。
MultiRelayは、特定のIPまたはユーザーをターゲットにして、/usr/share/responder/tools ディレクトリから実行されます。
これらのツールと技術は、さまざまなネットワーク環境でNTLMリレー攻撃を実施するための包括的なセットを形成します。
Windowsでは、特権アカウントの一部を任意のマシンに認証させることができる場合があります。方法を学ぶには、以下のページをお読みください:
Force NTLM Privileged AuthenticationAWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)