0Pricing
Cloud & IT Cert Prep · レッスン

ラテラルムーブメント:Pass-the-HashとPass-the-Ticket

攻撃者が平文パスワードを知らなくてもNTLMハッシュやKerberosチケットを再利用して横方向に移動する仕組みと、それを阻止する防御策を理解します。

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

ラテラルムーブメント:ネットワーク内への拡散

ラテラルムーブメントとは、攻撃者がネットワーク内に初期 footholdを確立した後、ネットワーク内を段階的に移動し、ドメインコントローラー、データベース、管理用ワークステーションなど、より価値の高い標的へ到達するために使用する手法を指します。通常、単一のエンドポイントを標的とする初期アクセスとは異なり、ラテラルムーブメントでは、正規ユーザーが日常的に利用するシステム間の信頼関係(認証メカニズム、共有認証情報、ネットワーク接続、管理ツール)が悪用されます。効果的なラテラルムーブメントにより、侵害された低権限アカウント1つから、最終的に環境内のすべてのシステムへ到達できる可能性があります。

Windows認証の仕組み:NTLM

NTLM(NT LAN Manager)は、チャレンジレスポンス方式に基づく旧式のWindows認証プロトコルです。クライアントがサーバーに対して認証を行うと、サーバーはランダムなチャレンジを送信します。クライアントは、ユーザーのNTハッシュ(パスワードから導出された固定ハッシュ)でチャレンジをハッシュ化して応答します。設計上の重大な欠陥は、パスワードそのものではなく、NTハッシュだけで認証できることです。NTハッシュは、ワークステーションではSecurity Account Manager(SAM)データベースに、ドメインコントローラーではNTDS.DITに保存されています。攻撃者がNTハッシュを取得すると、パスワードを知ることなくそのユーザーとして認証できます。

# NT hash example: MD4 of Unicode password
# Password 'Password123' -> NT hash: 58a478135a93ac3bf058a5ea0e8fdb71
# This hash alone is sufficient for NTLM authentication
# An attacker with the hash can authenticate to any service accepting NTLM

Pass-the-Hash(PtH):パスワードを使わない認証

Pass-the-Hash(PtH)は、攻撃者が取得したNTLMハッシュを使用し、元の平文パスワードを知らずに他のシステムへ認証する攻撃手法です。1台のシステムを侵害してメモリ(LSASS)またはSAMデータベースからハッシュを抽出した後、攻撃者は認証要求で自分の認証情報マテリアルを盗んだハッシュに置き換えます。これは、ローカル管理者パスワードの共有(LAPSを導入していない環境で一般的)があると、1つのハッシュで数百台、数千台のマシンが侵害される可能性があるため、特に深刻です。Mimikatz、Impacket's psexec.py、CrackMapExecなどのツールを使うと、PtH攻撃を自動化できます。

# PtH attack using Impacket's psexec (attacker tool - for understanding defenses)
# psexec.py -hashes :58a478135a93ac3bf058a5ea0e8fdb71 administrator@192.168.1.100

# This grants an interactive shell on 192.168.1.100 WITHOUT knowing the password
# Using only the NTLM hash extracted from a previously compromised system

Pass-the-Hashからの防御

いくつかの緩和策により、PtH攻撃の有効性を低下させることができます。Local Administrator Password Solution(LAPS) — Microsoftのツールで、各マシンに一意で定期的に変更されるローカル管理者パスワードを割り当てます。これにより、1台のマシンから盗まれたハッシュで解除できるのはそのマシンだけになります。Credential Guard(Windows 10/11) — 仮想化ベースのセキュリティを使用してLSASSを安全なエンクレーブに分離し、ハッシュを抽出できないようにします。可能な場合はKerberosを優先してNTLMを無効化すること、Privileged Access Workstations(PAW)と階層型管理モデルを通じて管理アクセスを制限すること、そしてActive DirectoryのProtected Usersセキュリティグループを使用し、メンバーアカウントのハッシュキャッシュを防ぐことも有効です。

# Check if LAPS is deployed on a domain
# Look for the ms-Mcs-AdmPwd attribute on computer objects
Get-ADComputer -Filter * -Properties ms-Mcs-AdmPwd | 
  Where {$_.'ms-Mcs-AdmPwd' -ne $null} | 
  Select-Object Name, 'ms-Mcs-AdmPwd'

Kerberosの概要:チケットの仕組み

Kerberosは、Active Directory環境における既定の認証プロトコルです。暗号化されたチケットを使用するため、ネットワーク上でパスワードやハッシュを送信する必要がありません。処理の流れは次のとおりです。(1) クライアントがKey Distribution Center(KDC)(ドメインコントローラーが担う役割)に対して認証を行い、KRBTGTアカウントのハッシュで暗号化されたTicket Granting Ticket(TGT)を受け取ります。(2) クライアントがサービスへのアクセスを必要とすると、TGTを提示して、対象サービスのキーで暗号化されたService Ticket(TGS/ST)を受け取ります。(3) クライアントがサービスチケットを対象サービスに提示すると、対象サービスはKDCに問い合わせることなくチケットを検証します。チケットの既定の有効期間は10時間です。

# View current Kerberos tickets on Windows
klist
# Output shows:
# Ticket cache: API:...
# Server: krbtgt/DOMAIN.COM
# Encryption type: AES-256
# Expiration date: <timestamp>

Pass-the-Ticket(PtT):Kerberosチケットの窃取

Pass-the-Ticket(PtT)は、Pass-the-Hashに相当するKerberosの攻撃手法です。攻撃者は、侵害したシステムのメモリから有効なKerberosチケットを抽出し、自分のセッションにインポートして、チケット所有者として認証します。KerberosチケットはWindowsのメモリに保存されており、Mimikatz's kerberos::listおよびkerberos::pttコマンドで抽出できます。盗まれたTGTは、チケット所有者がアクセスできる任意のサービスのサービスチケットを要求できるため、最も価値があります。盗まれたService Tickets(TGS)は、発行対象となった特定のサービスへのアクセスしか許可しないため、より限定的です。

# PtT attack: export and import tickets with Mimikatz
# On compromised system:
# mimikatz# kerberos::list /export   <- dumps all tickets to .kirbi files

# On attacker system:
# mimikatz# kerberos::ptt ticket.kirbi  <- injects stolen ticket
# Now authenticated as the ticket's owner for its service

Over-Pass-the-Hash:ハッシュからチケットへの変換

Over-Pass-the-Hash(oPtH)はPass-the-Keyとも呼ばれ、NTLMハッシュの窃取とKerberosチケットの取得の間をつなぐ手法です。攻撃者は、盗んだNTハッシュまたはAESキーを使用して、平文パスワードを知らなくてもドメインコントローラーにKerberos TGTを要求します。これにより、盗んだハッシュが完全なKerberos TGTに変換され、PtT攻撃と同等の柔軟性が得られます。多くの組織がNTLMを無効にしてKerberosを優先しているため、この手法は有用です。oPtHを使えば、Kerberosのみの環境に対してもハッシュベースの攻撃を成功させられます。Mimikatzでは、これをsekurlsa::pthとして実装しています。

ラテラルムーブメントのプロトコル:SMB、WMI、RDP

攻撃者は、盗んだ認証情報やチケットを使ってラテラルムーブメントを行うために、複数のプロトコルを使用します。SMB(Server Message Block)では、PsExecを介してコマンドをリモート実行でき、リモートファイルアクセスやサービスの作成も可能です。WMI(Windows Management Instrumentation)では、リモートコマンドを実行できます。広く普及している一方でログの不足もあるため、管理者と攻撃者の双方に多用されています。RDP(Remote Desktop Protocol)では、対話型のデスクトップセッションを利用できます。また、WinRM/PowerShell Remotingでは、リモートシステム上でPowerShellコマンドを実行できます。防御側は、これらのプロトコルを正当に使用するシステムを把握し、異常な使用パターンを検知する必要があります。

# Detection: look for unusual SMB authentication from workstations
# Windows Security Event ID 4624: successful logon
# Windows Security Event ID 4648: explicit credential use
# Splunk query:
# index=windows EventCode=4624 LogonType=3 WorkstationName!='DOMAIN\server*'
#   NOT [whitelist of servers]
# | stats count by Computer, AccountName, IpAddress

BloodHound:攻撃経路の可視化

BloodHoundは、レッドチームと防御側の双方がActive Directoryにおける権限昇格とラテラルムーブメントの経路を可視化するために使用するオープンソースツールです。誰がどのグループに所属しているか、誰がどのマシンの管理者権限を持っているか、どのアカウントで委任が有効になっているかといった関係データを収集し、ユーザー、マシン、グループをノード、権限をエッジとするグラフとして表示します。BloodHoundの'Find Shortest Paths to Domain Admins'クエリを使うと、攻撃者や防御側は、ドメイン全体の制御につながる侵害の手順を正確に確認できます。防御側はBloodHoundを使用して、攻撃者に悪用される前に不要な権限経路を排除します。

# Run BloodHound collector (SharpHound) on domain
# SharpHound.exe -c All --outputdirectory C:\Temp
# Outputs JSON files imported into BloodHound Neo4j database

# Key queries for defenders:
# - Find all Domain Admins
# - Find Shortest Paths to Domain Admins
# - Find Principals with DCSync Rights

ラテラルムーブメントの検知

ラテラルムーブメントを検知するには、複数のシステムにまたがるイベントを相関させる必要があります。主な検知シグナルには、WindowsイベントID 4648(明示的な認証情報によるログオン。PtH/PtTでよく見られます)、イベントID 4769(Kerberosサービスチケットの要求。ほとんどアクセスされないサービスのチケットを要求している場合は異常です)、イベントID 7045/4697(新しいサービスのインストール。PsExecベースのラテラルムーブメントでよく見られます)、非管理者ワークステーションからの通常とは異なる管理ツールの使用(wmic.exe、psexec.exe)、そしてワークステーションが別のワークステーションに対して認証を行うSMB認証の異常があります(通常の通信はワークステーションからサーバーへ流れ、ピアツーピアにはなりません)。EDRプラットフォームは、ネットワーク全体でこれらのパターンを行動分析によって検知できます。

階層型管理モデル

階層型管理モデル(Microsoftが推奨するActive Directory設計)は、ある階層から認証情報が盗まれても、上位階層が侵害されないようにします。Tier 0(ID制御プレーン — ドメインコントローラー、Azure AD)では、Tier 0の管理者アカウントだけが管理を行い、これらのアカウントでTier 1またはTier 2のシステムにログインすることはありません。Tier 1(サーバーとクラウドサービス)では、専用のTier 1管理者アカウントを使用します。Tier 2(ワークステーションとデバイス)では、ヘルプデスクおよび標準管理者アカウントを使用します。認証情報を階層ごとに分離することで、侵害されたワークステーション管理者アカウントをドメインコントローラーへの攻撃に利用できなくなります。これは、PtHおよびPtTによるラテラルムーブメントに直接対抗します。

理解度チェック

このレッスンで学んだ CompTIA Security+ (SY0-701) の概念について、理解度を確認します。

レッスンのまとめ

このレッスンでは、次のことを学びました。Pass-the-Hash は、NTLM の「ハッシュを認証情報として使用する」設計を悪用します。つまり、NT ハッシュだけでパスワードなしに認証でき、主な対策は LAPS と Credential Guard です。Pass-the-Ticket は、メモリから有効な Kerberos チケットを窃取します。これにより別のユーザーとして認証できます。特に、窃取した TGT は任意のサービス用のサービスチケットを生成できるため、非常に強力です。また、階層型管理モデルにより、ある階層で認証情報を窃取されても、より高い権限を持つ階層へのラテラルムーブメントを防止できます。次は、Active Directory の Kerberos 実装を標的とする Kerberoasting と Golden Ticket 攻撃について学びます。

よくある質問

「ラテラルムーブメント:Pass-the-HashとPass-the-Ticket」レッスンは無料ですか?

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

「ラテラルムーブメント:Pass-the-HashとPass-the-Ticket」で何を学びますか?

攻撃者が平文パスワードを知らなくてもNTLMハッシュやKerberosチケットを再利用して横方向に移動する仕組みと、それを阻止する防御策を理解します。 ブラウザで直接実行するハンズオンコードでCloud & IT Cert Prepを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Cloud & IT Cert Prepを始めるのに経験は必要ですか?

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

「ラテラルムーブメント:Pass-the-HashとPass-the-Ticket」レッスンにはどのくらい時間がかかりますか?

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

このCloud & IT Cert Prepレッスンでコードを書いて実行できますか?

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

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

  1. APTのライフサイクル:初期アクセスから永続化まで
  2. ラテラルムーブメント:Pass-the-HashとPass-the-Ticket
  3. KerberoastingとGolden Ticket攻撃
  4. 検知と対応のためのMITRE ATT&CKフレームワーク
← Cloud & IT Cert Prepに戻る