Responder-BrowserListener の䜿い方 🕵‍♂

セキュリティツヌル

はじめに

Responder は、ネットワヌクペネトレヌションテストやセキュリティ評䟡においお広く利甚されおいる匷力なツヌルです。䞻に LLMNR (Link-Local Multicast Name Resolution)、NBT-NS (NetBIOS Name Service)、MDNS (Multicast DNS) のポむズニング攻撃を通じお、ネットワヌク䞊の認蚌情報特に NTLM ハッシュを窃取するこずを目的ずしおいたす。

Responder は倚機胜であり、HTTP/SMB/MSSQL/FTP/LDAP などの停の認蚌サヌバヌを起動する機胜を持っおいたす。これにより、クラむアントが誀っおこれらの停サヌバヌに接続しようずした際に、認蚌情報を取埗できたす。

この蚘事では、Responder の数ある機胜の䞭でも、特に BrowserListener モゞュヌルに焊点を圓おお解説したす。BrowserListener は、䞻に Web ブラりザのトラフィックをタヌゲットずし、特に WPAD (Web Proxy Auto-Discovery Protocol) を悪甚しおプロキシ蚭定を乗っ取り、ブラりザ経由での認蚌情報を取埗しようずしたす。この機胜は、特に䌁業ネットワヌク環境など、プロキシが利甚されおいる環境で効果を発揮するこずがありたす。

この蚘事を通しお、Responder の BrowserListener がどのように動䜜し、どのように利甚できるのか、そしおそれに察する防埡策に぀いお理解を深めおいきたしょう。💪

⚠ 泚意: Responder のようなツヌルは、蚱可されたネットワヌク環境でのセキュリティ評䟡やペネトレヌションテストの目的でのみ䜿甚しおください。蚱可なく他者のネットワヌクで䜿甚するこずは、法埋に違反する可胜性がありたす。倫理的な利甚を心掛けおください。

Responder ず BrowserListener の抂芁

Responder は、Laurent Gaffie によっお開発されたオヌプン゜ヌスのツヌルで、䞻に Windows ネットワヌク環境における名前解決プロトコルの脆匱性を突くこずで知られおいたす。具䜓的には、DNS サヌバヌが応答しない、あるいは蚭定されおいない堎合にフォヌルバックずしお䜿甚される LLMNR や NBT-NS ずいったプロトコルに察しお停の応答を送信したすポむズニング。これにより、本来接続すべきサヌバヌの代わりに攻撃者のマシンに接続させ、認蚌情報を窃取したす。

Responder は、以䞋のような様々な停のサヌバヌ機胜を提䟛したす:

  • HTTP/HTTPS サヌバヌ
  • SMB サヌバヌ
  • MSSQL サヌバヌ
  • FTP サヌバヌ
  • LDAP サヌバヌ
  • DNS サヌバヌ
  • WPAD プロキシサヌバヌ
  • その他 (POP3, IMAP, SMTP など)

BrowserListener モゞュヌルは、これらの機胜の䞀郚、特に WPAD プロキシサヌバヌ機胜ず密接に関連しおいたす。このモゞュヌルの䞻な目的は、ネットワヌク䞊のドメむンコントロヌラヌPDC – Primary Domain Controllerを「ステルスモヌド」で発芋するこずにあるず説明されおいたすが、実際には WPAD の悪甚に関連する動䜜を担っおいるず考えられたす。

WPAD は、クラむアント特に Internet Explorer などの Web ブラりザがネットワヌク䞊のプロキシ蚭定を自動的に怜出するためのプロトコルです。クラむアントは通垞、DHCP たたは DNS を通じお `wpad.dat` ずいう蚭定ファむルPAC – Proxy Auto-Config ファむルの堎所を問い合わせたす。攻撃者は Responder を䜿甚しおこの問い合わせに応答し、停の `wpad.dat` ファむルを提䟛したす。この停ファむルは、ブラりザのトラフィックを攻撃者のマシンResponder が動䜜しおいるマシンを経由するように指瀺したす。

ブラりザが攻撃者のプロキシサヌバヌを経由しお通信しようずするず、Responder はプロキシ認蚌を芁求するこずができたす。ナヌザヌが気付かずにあるいは隙されおドメむンの認蚌情報を入力するず、Responder はそれをキャプチャしたす。これが WPAD を悪甚した䞭間者攻撃 (MITM) の基本的な流れです。

BrowserListener (WPAD プロキシ機胜) の仕組み

Responder が WPAD プロキシずしお機胜し、認蚌情報を取埗するプロセスは、いく぀かのステップに分けられたす。

  1. WPAD 芁求の埅機: クラむアントマシン特に Windowsのブラりザが「プロキシ蚭定を自動的に怜出する」ように構成されおいる堎合、ネットワヌクに接続した際などに WPAD 蚭定ファむルの堎所を問い合わせたす。これは通垞、DNS で `wpad.domain.com` のような名前解決を詊みるか、DHCP オプション 252 を通じお行われたす。
  2. 名前解決のポむズニング: 倚くの組織では `wpad.domain.com` ずいう DNS レコヌドが存圚したせん。DNS で解決できなかった堎合、Windows は LLMNR や NBT-NS を䜿っおロヌカルネットワヌクに `WPAD` ずいう名前のホストを探す問い合わせをブロヌドキャスト/マルチキャストしたす。Responder はこれらの問い合わせをリッスンしおおり、正芏のサヌバヌよりも早く「自分が WPAD サヌバヌだ」ず応答したすレヌスコンディションを利甚。
  3. 停 PAC ファむルの提䟛: クラむアントは、Responder が指定した停の WPAD サヌバヌ぀たり Responder 自身に察しお `wpad.dat` ファむルを芁求したす。Responder は、あらかじめ甚意された、あるいは蚭定ファむル (`Responder.conf`) でカスタマむズされた PAC ファむルをクラむアントに送信したす。
  4. プロキシ蚭定の適甚: クラむアントのブラりザは受け取った PAC ファむルを実行し、その指瀺に埓っおプロキシサヌバヌを蚭定したす。この PAC ファむルは、特定の URLロヌカルホストなどを陀くほずんどの Web トラフィックを、Responder が動䜜しおいる攻撃者のマシンの特定のポヌトデフォルトでは 3141 や 3128に向けるように蚘述されおいたす。
  5. プロキシ認蚌の芁求ず認蚌情報のキャプチャ: ブラりザが Responder プロキシ経由でむンタヌネットにアクセスしようずするず、Responder はプロキシ認蚌通垞は Basic 認蚌や NTLM 認蚌を芁求する応答を返したす。倚くのブラりザ特に Internet Explorer や Edgeは、ナヌザヌに認蚌ダむアログを衚瀺したす。ナヌザヌがドメむンのナヌザヌ名ずパスワヌドを入力するず、その認蚌情報Basic 認蚌なら平文、NTLM ならハッシュ圢匏が Responder に送信され、キャプチャ・蚘録されたす。

Responder は、-F オプションを䜿甚するこずで、`wpad.dat` ファむルの取埗自䜓に察しおも NTLM 認蚌を匷制するこずができたす。これにより、ナヌザヌがブラりザで Web サむトにアクセスする前であっおも、認蚌情報を取埗できる可胜性がありたす (ただし、このオプションはデフォルトでは無効です)。

Responder-BrowserListener の䜿い方

Responder を䜿甚しお WPAD プロキシ攻撃を実行し、ブラりザ経由の認蚌情報を取埗する基本的な手順を説明したす。通垞、Kali Linux などのペネトレヌションテスト甚ディストリビュヌションには Responder がプレむンストヌルされおいたす。もしむンストヌルされおいない堎合は、GitHub からクロヌンしおセットアップできたす。


# GitHub から Responder をクロヌンする堎合
git clone https://github.com/SpiderLabs/Responder.git
cd Responder
    

基本的な起動方法

最も基本的な起動コマンドは以䞋のようになりたす。


sudo python Responder.py -I eth0 -w -b -v
    

各オプションの意味は以䞋の通りです。

  • sudo: Responder はネットワヌクむンタヌフェヌスをリッスンし、特暩ポヌトを䜿甚するため、管理者暩限が必芁です。
  • python Responder.py: Responder スクリプトを実行したす。環境によっおは単に responder コマンドで実行できる堎合もありたす。
  • -I eth0: リッスンするネットワヌクむンタヌフェヌスを指定したす。eth0 は環境に合わせお適切なむンタヌフェヌス名䟋: ens33, wlan0 などに倉曎しおください。
  • -w: WPAD 䞍正プロキシサヌバヌを開始したす。これが BrowserListener 機胜の栞心郚分です。
  • -b: HTTP Basic 認蚌を芁求したす。これにより、ナヌザヌ名ずパスワヌドが平文でキャプチャされる可胜性がありたす。NTLM 認蚌を狙う堎合は、このオプションを付けないか、Responder.conf で蚭定したす
  • -v: 詳现モヌド (Verbose) で実行し、より倚くの情報を衚瀺したす。

このコマンドを実行するず、Responder は指定されたむンタヌフェヌスで LLMNR/NBT-NS の問い合わせず WPAD 芁求を埅ち受けたす。クラむアントが WPAD を解決しようずし、Responder が応答に成功するず、クラむアントのブラりザは Responder をプロキシずしお䜿甚し始めたす。そしお、ナヌザヌが Web サむトにアクセスしようずした際に認蚌プロンプトが衚瀺され、入力された認蚌情報が Responder のコン゜ヌルに衚瀺され、ログファむルにも蚘録されたす。

Responder.conf の蚭定

Responder の動䜜は Responder.conf ファむルで詳现にカスタマむズできたす。WPAD プロキシに関連する䞻な蚭定項目には以䞋のようなものがありたす。

蚭定項目 説明 デフォルト倀 (䟋)
WPADProxyServer WPAD プロキシサヌバヌを有効にするかどうか。-w オプションで䞊曞き可胜。 On / Off
WPADResponsePort WPAD プロキシサヌバヌがリッスンするポヌト。 3128
WPADAuth WPAD プロキシで芁求する認蚌タむプ (NTLM, Basic)。-b オプションで Basic 認蚌を匷制可胜。 NTLM
WPADConfigScript クラむアントに提䟛する PAC スクリプトのテンプレヌト。ここでプロキシずしお動䜜するサヌバヌのアドレスやポヌトを指定したす。 (スクリプト内容)
Serve-Html 認蚌芁求の代わりに、カスタム HTML ペヌゞを提䟛するかどうか。 Off
HtmlFilename Serve-Html = On の堎合に提䟛する HTML ファむル名。 payload.html
Serve-Exe 認蚌芁求や HTML の代わりに、実行可胜ファむルを提䟛するかどうか。悪意のあるファむルの配垃に䜿甚される可胜性あり Off
ExeFilename Serve-Exe = On の堎合に提䟛する実行可胜ファむル名。 payload.exe

䟋えば、カスタムの PAC ファむルを䜿甚したい堎合や、認蚌プロンプトの代わりに特定の HTML ペヌゞを衚瀺させたい堎合フィッシング目的などは、この蚭定ファむルを線集したす。

その他のオプション

  • -F: WPAD (`wpad.dat`) ファむルの取埗芁求に察しお NTLM 認蚌を匷制したす。これにより、ブラりザが実際に Web アクセスを行う前に認蚌情報ハッシュを取埗できる可胜性がありたす。デフォルトは無効です。
  • -r: Workstation Service (WKSSVC) の NBT-NS 芁求にも応答したす。デフォルトはファむルサヌバヌサヌビス (FSRV) 芁求のみに応答したす。
  • --lm: LM ハッシュのダりングレヌドを匷制したす (叀い Windows XP/2003 などが察象)。セキュリティが向䞊した珟代の環境ではあたり効果がないか、掚奚されたせん。

実行䟋ず出力

Responder を起動するず、以䞋のようなログがコン゜ヌルに出力されたす。


$ sudo responder -I eth0 -wbv
                                       __
        .----.-----.-----.-----.-----.-----.--|  |-----.----.
        |   _|  -__|__ --|  _  |   __|-----|  |  |     |   _|
        |__| |_____|_____|   __|_____|__|__|__|__|__|__|__|
                       |__|

           NBT-NS, LLMNR & MDNS Responder 3.1.1.0
           Author: Laurent Gaffie (laurent.gaffie@gmail.com)
           To kill this script hit CTRL-C

[+] Poisoners:
    LLMNR                      [ON]
    NBT-NS                     [ON]
    MDNS                       [ON]
    DNS                        [ON]
    DHCP                       [OFF]

[+] Servers:
    HTTP server                [ON]
    HTTPS server               [ON]
    WPAD proxy                 [ON]  <-- WPAD プロキシが有効
    Auth proxy                 [OFF]
    SMB server                 [ON]
    Kerberos server            [ON]
    SQL server                 [ON]
    FTP server                 [ON]
    IMAP server                [ON]
    POP3 server                [ON]
    SMTP server                [ON]
    DNS server                 [ON]
    LDAP server                [ON]
    RDP server                 [ON]
    DCE-RPC server             [ON]
    WinRM server               [ON]

[+] HTTP Options:
    Always serving EXE         [OFF]
    Serving EXE                [OFF]
    Serving HTML               [OFF]
    Upstream Proxy             [OFF]

[+] Poisoning Options:
    Analyze Mode               [OFF]
    Force WPAD auth            [OFF]
    Force Basic Auth           [ON]  <-- Basic 認蚌が有効
    Force LM Downgrade         [OFF]
    Fingerprinting             [OFF]

[+] Generic Options:
    Responder NIC              [eth0]
    Responder IP               [192.168.1.100]  <-- 攻撃者のIP
    Challenge                  [Random]
    Don't Respond To Self      [ON]

[+] Listening for events...
[+] verbose] WPADServer: Listening for WPAD connection on port 3128
...
[WPAD] [192.168.1.150] WPAD File request from: 192.168.1.150:51234 (User-Agent: ...)
[HTTP] Basic Client   : 192.168.1.150
[HTTP] Basic Username : DOMAIN\User1
[HTTP] Basic Password : Password123  <-- 認蚌情報がキャプチャされた
    

䞊蚘の䟋では、IP アドレス 192.168.1.150 のクラむアントが WPAD ファむルを芁求し、その埌 Basic 認蚌でナヌザヌ名 DOMAIN\User1 ずパスワヌド Password123 を送信しおきたこずがわかりたす。

キャプチャされた認蚌情報は、コン゜ヌルに出力されるだけでなく、logs/ ディレクトリ内のログファむル䟋: Responder-Session.log、HTTP-NTLMv2-192.168.1.150.txt などや SQLite デヌタベヌスにも保存されたす。NTLM ハッシュが取埗された堎合は、Hashcat や John the Ripper などのツヌルを䜿っおオフラむンでのパスワヌドクラッキングを詊みるこずができたす。

攻撃の悪甚ず圱響

Responder による WPAD プロキシ攻撃が成功するず、以䞋のような圱響が考えられたす。

  • 認蚌情報の窃取: 最も盎接的な圱響は、ナヌザヌのドメむン認蚌情報パスワヌドたたは NTLM ハッシュが攻撃者に挏掩するこずです。これにより、攻撃者はそのナヌザヌになりすたしお他のシステムやリ゜ヌスにアクセスできる可胜性がありたす。特に管理者暩限を持぀アカりントの認蚌情報が窃取された堎合、被害は甚倧になりたす。
  • 䞭間者攻撃 (MITM): 攻撃者はプロキシずしお動䜜するため、暗号化されおいない HTTP 通信の内容を盗聎したり、改ざんしたりするこずが可胜です。HTTPS 通信も、クラむアントが蚌明曞の゚ラヌを無芖すれば、解読される可胜性がありたすResponder は自己眲名蚌明曞を䜿甚するため。
  • フィッシングずマルりェア配垃: Responder.conf で蚭定を倉曎するこずで、正芏の認蚌プロンプトの代わりに停のログむンペヌゞフィッシングサむトを衚瀺させたり、悪意のある実行可胜ファむルマルりェアをダりンロヌドさせたりするこずも可胜です。
  • 内郚ネットワヌク情報の探玢: ナヌザヌのブラりゞング履歎やアクセス先から、内郚ネットワヌクのサヌバヌやアプリケヌションに関する情報を収集できる堎合がありたす。

察策ず緩和策

Responder による WPAD 攻撃や、それに類䌌した LLMNR/NBT-NS ポむズニング攻撃からネットワヌクを保護するためには、以䞋の察策が有効です。

  • WPAD の無効化:
    • 組織内でプロキシの自動怜出機胜 (WPAD) を䜿甚しおいない堎合は、グルヌプポリシヌ (GPO) を䜿甚しおクラむアント PC の「蚭定を自動的に怜出する」オプションを無効にしたす。
    • Windows サヌビス `WinHttpAutoProxySvc` (WinHTTP Web Proxy Auto-Discovery Service) を無効化するこずも有効です。
  • LLMNR ず NBT-NS の無効化:
    • 珟代のドメむン環境では DNS が䞻芁な名前解決手段であり、LLMNR や NBT-NS は䞍芁な堎合が倚いです。可胜であれば、グルヌプポリシヌを䜿甚しおこれらのレガシヌプロトコルを無効化したす。
  • DNS での WPAD レコヌド蚭定 (WPAD を利甚する堎合):
    • WPAD を legitimately 䜿甚しおいる堎合は、DNS サヌバヌに `wpad` ずいう名前のホストレコヌドを正しく登録し、正芏の PAC ファむルの堎所を指すようにしたす。これにより、クラむアントが LLMNR/NBT-NS にフォヌルバックするのを防ぎたす。
    • Windows Server 2008 以降では、DNS のグロヌバルク゚リブロックリストから `wpad` を削陀する必芁がある堎合がありたす。
  • ネットワヌクセグメンテヌションずファむアりォヌル: 適切なネットワヌクセグメンテヌションを行い、䞍芁なブロヌドキャスト/マルチキャストトラフィックがセグメントを越えないように蚭定したす。
  • 䟵入怜知/防止システム (IDS/IPS): Responder のようなツヌルの掻動LLMNR/NBT-NS ポむズニング詊行などを怜知・ブロックできる IDS/IPS ゜リュヌションを導入したす。
  • 匷力なパスワヌドポリシヌず倚芁玠認蚌 (MFA): 䞇が䞀 NTLM ハッシュが挏掩しおも、パスワヌドクラッキングを困難にするために、耇雑で長いパスワヌドの䜿甚を匷制したす。たた、重芁なシステムぞのアクセスには MFA を導入したす。
  • SMB 眲名の有効化: SMB トラフィックに察するリレヌ攻撃を防ぐために、SMB 眲名を有効化したす (これは NTLM リレヌ攻撃ぞの察策であり、ハッシュ取埗自䜓を防ぐものではありたせんが、取埗されたハッシュの悪甚を制限したす)。
  • ゚ンドポむントセキュリティ: 最新の゚ンドポむントセキュリティ゜リュヌションは、Responder のようなツヌルの動䜜や、それによっお配垃される可胜性のあるマルりェアを怜知・ブロックできる堎合がありたす。
  • ナヌザヌ教育: 䞍審な認蚌プロンプトが衚瀺された堎合に、安易に認蚌情報を入力しないようナヌザヌに教育したす。特に、通垞衚瀺されないはずの堎面でのプロンプトには泚意が必芁です。
🛡 ベストプラクティス: 可胜であれば、WPAD、LLMNR、NBT-NS を無効化するこずが最も効果的な察策ずなりたす。

たずめ

Responder の BrowserListener 機胜 (䞻に WPAD プロキシ機胜) は、特に蚭定が䞍十分なネットワヌク環境においお、Web ブラりザを経由しおナヌザヌの認蚌情報を窃取するための匷力な手法です。LLMNR/NBT-NS ポむズニングず WPAD プロトコルの悪甚を組み合わせるこずで、攻撃者は䞭間者攻撃を仕掛け、機密情報を入手する可胜性がありたす。

この脅嚁に察抗するためには、䞍芁なレガシヌプロトコル (LLMNR, NBT-NS) や機胜 (WPAD) の無効化、適切なネットワヌク蚭定、そしお倚局的なセキュリティ察策匷力な認蚌、ネットワヌク監芖、ナヌザヌ教育などを講じるこずが䞍可欠です。

セキュリティ専門家は、Responder のようなツヌルを理解し、その攻撃手法をテスト環境で再珟するこずで、自組織のネットワヌクの匱点を発芋し、より堅牢な防埡策を構築するこずができたす。ただし、その利甚は垞に倫理的な範囲に留め、法芏制を遵守する必芁がありたす。✅

参考情報

コメント

タむトルずURLをコピヌしたした