Responder

ツール

この記事ではResponderというツールについて「概要」「インストール方法」「利用例」を書いていきます。

Responderとは

Responder は、LLMNR(Link-Local Multicast Name Resolution)NBT-NS(NetBIOS Name Service) を悪用してネットワーク内の認証情報を盗むために使われる 攻撃ツール です。
パスワードハッシュ(NTLMv1/v2)を取得 したり、中間者攻撃(MITM)を実行 したりするために使われます。

Responderが対応している主なプロトコル

プロトコル説明
LLMNR (UDP/5355)Windowsの名前解決プロトコル。DNSで解決できない場合に利用される。
NBT-NS (UDP/137)NetBIOS Name Service。古いWindows環境で名前解決に使用される。
MDNS (UDP/5353)Multicast DNS。AppleのBonjourなど一部の環境で利用される。
DNS (UDP/53)ResponderはDNSの偽サーバーとして動作し、誤った名前解決を強制できる。
SMB (TCP/445, TCP/139)Windowsのファイル共有プロトコル。認証情報(NTLMハッシュ)を盗むことが可能。
HTTP (TCP/80, TCP/443)NTLM認証を求める偽のHTTPサーバーを立て、認証情報を収集できる。
HTTPS (TCP/443)偽のHTTPSサーバーとして動作可能(ただし証明書がないため警告が出る)。
LDAP (TCP/389, TCP/636)Active DirectoryのLDAPサーバーの偽装が可能。NTLMリレー攻撃と併用されることが多い。
FTP (TCP/21)偽のFTPサーバーを立て、クライアントの認証情報を収集可能。
IMAP (TCP/143, TCP/993)メールサーバーの偽装が可能。認証情報の収集を狙う。
POP3 (TCP/110, TCP/995)メール受信プロトコルの偽装が可能。
SMTP (TCP/25, TCP/587, TCP/465)メール送信プロトコルの偽装が可能。
SQL (TCP/1433, TCP/3306)SQLサーバー(MSSQL/MySQL)の偽装が可能。
RDP (TCP/3389)偽のRDPサーバーとして動作し、認証情報を取得できる。

プロトコルの用途と攻撃のポイント

FTP/IMAP/POP3/SMTP/SQL/RDP
→ これらの偽サーバーを立てることで、認証情報を盗み出すことが可能。

LLMNR/NBT-NS/MDNS
→ 名前解決の毒殺(Poisoning)に使用され、クライアントを偽のサーバーに誘導できる。

SMB/LDAP/HTTP
NTLM認証情報を収集し、オフラインでのパスワードクラックやNTLMリレー攻撃が可能。

🔹 基本的な動作

  1. Windowsは名前解決に LLMNR や NBT-NS を利用
    • たとえば \\SERVER にアクセスしようとしてDNS解決に失敗すると、LLMNRやNBT-NSを使って解決しようとする。
  2. Responderが偽の応答を返す
    • たとえば \\FAKE-SERVER というレスポンスを送り、クライアントを攻撃者のマシンに誘導。
  3. 認証情報(NTLMハッシュなど)を取得
    • WindowsのSMB認証(NTLM)を利用して、クライアントが自動的に認証を試みる。
    • その際に送信される NTLMv1/v2のハッシュを取得
  4. ハッシュをクラック or リレー攻撃
    • johnhashcat でハッシュをクラックする。
    • NTLM Relay Attack で、取得したハッシュを使って別のシステムへログイン。

インストール方法

ResponderはKali Linuxに標準で入っています。

1️⃣ Responderのインストール(必要なら)

sudo apt install responder

2️⃣ 実行

sudo responder -I <インターフェース>

オプション

  • -I <インターフェース> : どのネットワークインターフェースでリスニングするか
  • -v : 詳細なログを表示
  • -rd : rd(Responder Database)をクリアして開始

利用例

LDAPの疑似サーバ

LDAPの疑似サーバとして利用しました。
この例ではBindRequest内にプレーンで認証情報を送ってきており、シェルゲットに繋がりました。(HTB Return)
この時の記事は下記です。

タイトルとURLをコピーしました