Spoofing LLMNR, NBT-NS, mDNS/DNS and WPAD and Relay Attacks
ネットワークプロトコル
ローカルホスト解決プロトコル
LLMNR、NBT-NS、およびmDNS:
Microsoftおよび他のオペレーティングシステムは、DNSが失敗した場合にローカル名の解決にLLMNRおよびNBT-NSを使用します。同様に、AppleおよびLinuxシステムはmDNSを使用します。
これらのプロトコルは、UDPを介した認証されていないブロードキャスト性質により、傍受およびスプーフィングの影響を受けやすくなっています。
Responderを使用して、これらのプロトコルをクエリするホストに偽の応答を送信することで、サービスをなりすますことができます。
Responderを使用したサービスのなりすましに関する詳細情報はこちらにあります。
Web Proxy Auto-Discovery Protocol (WPAD)
WPADはブラウザがプロキシ設定を自動的に検出することを可能にします。
検出は、DHCP、DNS、またはDNSが失敗した場合はLLMNRおよびNBT-NSによって行われます。
Responderを使用して、クライアントを悪意のあるWPADサーバに誘導するWPAD攻撃を自動化できます。
プロトコルポイズニングのためのResponder
Responderは、LLMNR、NBT-NS、およびmDNSクエリを毒化するためのツールであり、クエリタイプに基づいて選択的に応答し、主にSMBサービスを対象としています。
Kali Linuxには事前にインストールされており、
/etc/responder/Responder.conf
で設定可能です。Responderはキャプチャされたハッシュを画面に表示し、
/usr/share/responder/logs
ディレクトリに保存します。IPv4およびIPv6の両方をサポートしています。
ResponderのWindowsバージョンはこちらで入手できます。
Responderの実行
デフォルト設定で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
Responderを使用したDHCPポイズニング
DHCP応答のスプーフィングは、ARPポイズニングに比べてネットワークのルーティング情報を永続的に毒化することができ、より慎重な代替手段を提供します。
ターゲットネットワークの構成について正確な知識が必要です。
攻撃の実行:
./Responder.py -I eth0 -Pdv
この方法は効果的にNTLMv1/2ハッシュをキャプチャできますが、ネットワークの混乱を避けるために注意深く取り扱う必要があります。
Responderを使用した資格情報のキャプチャ
Responderは上記のプロトコルを使用してサービスをなりすまし、ユーザーがなりすましサービスに認証しようとするときに資格情報(通常はNTLMv2チャレンジ/レスポンス)をキャプチャします。
NetNTLMv1へのダウングレードやESSの無効化を試みることで、資格情報のクラックを容易にすることができます。
これらの技術を適切に使用するためには、適切な権限を確保し、不正アクセスや混乱を避けるために合法的かつ倫理的に行動することが重要です。
Inveigh
Inveighは、Windowsシステム向けに設計されたペネトレーションテスターおよびレッドチーム向けのツールです。Responderと同様の機能を提供し、スプーフィングや中間者攻撃を実行します。このツールはPowerShellスクリプトからC#バイナリに進化し、InveighおよびInveighZeroが主要なバージョンとして提供されています。詳細なパラメータや手順については、wikiを参照してください。
InveighはPowerShellを介して操作できます:
または、C# バイナリとして実行されます:
NTLM Relay Attack
この攻撃は、SMB認証セッションを利用してターゲットマシンにアクセスし、成功するとシステムシェルを取得します。主な前提条件は次のとおりです:
認証ユーザーは、中継ホストでのローカル管理者アクセス権を持っている必要があります。
SMB署名が無効になっている必要があります。
445ポートのフォワーディングとトンネリング
直接ネットワーク導入が困難なシナリオでは、ポート445のトラフィックをフォワーディングおよびトンネリングする必要があります。PortBenderのようなツールは、ポート445のトラフィックを別のポートにリダイレクトするのに役立ちます。これは、ローカル管理者アクセス権がドライバーのロードに利用可能な場合に重要です。
Cobalt StrikeでのPortBenderのセットアップと操作:
NTLM Relay Attack用のその他のツール
Metasploit: プロキシ、ローカルおよびリモートホストの詳細を設定します。
smbrelayx: SMBセッションを中継し、コマンドを実行したりバックドアを展開するためのPythonスクリプトです。
MultiRelay: 特定のユーザーまたはすべてのユーザーを中継し、コマンドを実行したりハッシュをダンプするためのResponderスイートからのツールです。
必要に応じて各ツールはSOCKSプロキシを介して操作できるように構成でき、間接的なネットワークアクセスでも攻撃を可能にします。
MultiRelayの操作
MultiRelayは /usr/share/responder/tools ディレクトリから実行され、特定のIPアドレスまたはユーザーを対象とします。
NTLMリレーアタックを実行するための包括的なセットを形成するこれらのツールと技術。
NTLMログインを強制する
Windowsでは、特権アカウントの一部を任意のマシンに認証させることができる場合があります。次のページを読んで詳細を学んでください:
pageForce NTLM Privileged Authentication参考文献
Last updated