2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

『ADの横展開(ラテラルムーブメント)の技術』〜なぜドメイン管理者は気づかぬうちに陥落するのか〜

2
Posted at

要旨

 Active Directory(AD)は企業ネットワークの中核として、認証・認可・リソース管理を一手に担います。その重要性ゆえに、ADは攻撃者にとって最も魅力的な標的でもあります。Verizon DBIRの2025年版によれば、侵害の74%が認証情報の窃取を伴っているとされており、その多くがAD環境を舞台に展開されています[1]。

 本記事では、攻撃者が「最初の足場」を得た後に展開するラテラルムーブメント(横展開)の技術体系を、MITRE ATT&CKフレームワークのTTP(戦術・技術・手順)と照合しながら詳解します。Pass-the-Hash、Kerberoasting、DCSync、Golden Ticketなど、実際のペネトレーションテストやHackTheBoxで遭遇する技術を中心に、攻撃の仕組みと防御の考え方を整理します。

免責事項:本記事の内容は、倫理的なセキュリティ研究・教育・ペネトレーションテスト(書面による許可がある場合のみ)を目的としています。無許可のシステムへの適用は違法です。


記事本文

1. ラテラルムーブメントとは何か

 ラテラルムーブメントとは、攻撃者が最初に侵害した端末やアカウントを起点に、ネットワーク内を水平方向へ移動していく一連の技術と行為を指します。目的は単一ホストの制御ではなく、ドメイン管理者権限の奪取や機密データへのアクセスです[2]。

 典型的な攻撃チェーンは下図のように進行します:

初期侵入(フィッシング等)
   ↓
ローカル認証情報のダンプ(LSASSメモリ等)
   ↓
Pass-the-Hash / Kerberoasting などで横展開
   ↓
高権限アカウントへの到達(Domain Admin等)
   ↓
DCSync / Golden Ticket による永続化・全ドメイン制圧

 現代の攻撃者は、ノイズの多いマルウェアや総当たりには頼りません。代わりに、Windowsが本来提供している認証プロトコル(NTLMやKerberos)の仕様を悪用し、正規の管理者と区別のつかない形で移動します[1]。これが検知を難しくしている本質的な理由です。


2. フェーズ0:列挙(Enumeration)

BloodHound / SharpHound によるドメイン全体のマッピング

 攻撃者が最初に行うのは「今いる環境の把握」です。その代表的なツールが BloodHound(SpecterOps 開発)です。MITRE ATT&CK上では S0521 として登録されており、AD環境内のユーザー・グループ・コンピュータ間の関係をグラフ構造として可視化します[3]。

 データ収集はC#製インジェスタの SharpHound が担い、LDAP を通じてユーザー・グループ・ACL・セッション情報などを一括収集します[4]。

# SharpHound によるドメイン情報収集
.\SharpHound.exe -c All --OutputDirectory C:\Temp\bloodhound

 収集したデータをBloodHoundのGUIに取り込むと、「ドメイン管理者への最短経路」が視覚的に表示されます。攻撃者はこの経路を辿るように横展開を計画します。

 防御側にとっての教訓は、BloodHoundは攻撃者のツールである前に防御者のツールでもあるという点です。自組織のAD環境を定期的にBloodHoundでスキャンし、意図しない特権経路が存在しないか確認することが有効です。


3. フェーズ1:資格情報の窃取

手法1:Pass-the-Hash(PtH)— MITRE T1550.002

 Pass-the-HashはWindowsのNTLMハッシュを平文パスワードの代わりに使って認証する技術です。NTLMは「チャレンジ・レスポンス」形式の認証プロトコルですが、ハッシュそのものが認証トークンになるため、パスワードを解読することなく別システムへのログインが可能です[5]。

# Impacket を使った Pass-the-Hash
python3 psexec.py -hashes :NTハッシュ値 DOMAIN/Administrator@192.168.1.10

# Mimikatz でメモリからハッシュをダンプ(Windows上)
sekurlsa::logonpasswords

 ハッシュはパスワード変更まで有効なため、長期間にわたる侵害の継続に使われます[1]。一度管理者ハッシュを入手すると、そのハッシュを受け入れるすべてのシステムへ即座に侵入できるため、影響範囲は爆発的に拡大します。

ラテラルムーブメントへの影響:

  • SMBを受け入れるすべてのホストへの即時横展開が可能
  • 管理者ハッシュ1つでドメイン全体の制圧につながりうる

手法2:Pass-the-Ticket(PtT)— MITRE T1550.003

 Pass-the-Ticketは、メモリから窃取したKerberosチケット(TGTまたはTGS)をそのまま注入し、ユーザーを偽装する技術です[6]。Kerberosはドメイン環境のデフォルト認証プロトコルであり、PtHよりもさらに検知が難しい特性があります。

# Mimikatz でKerberosチケットをエクスポート
kerberos::list /export

# 窃取したチケットを現在のセッションに注入
kerberos::ptt ticket.kirbi

# Rubeus を使った注入(より現代的な手法)
Rubeus.exe ptt /ticket:base64エンコードされたチケット

 TGTはKDC(Key Distribution Center)によって正規に発行されたものであるため、ネットワーク上の動作が正規ユーザーと区別しにくい点がPtTの最大の脅威です[6]。


手法3:Kerberoasting — MITRE T1558.003

 KerberoastingはAD環境におけるサービスアカウントのパスワードハッシュをオフラインで解析する技術です。仕組みは以下の通りです:

  1. SPN(Service Principal Name)が設定されたサービスアカウントを列挙
  2. 認証済みドメインユーザーとして、対象SPNのTGS(サービスチケット)をKDCに要求
  3. KDCはサービスアカウントのパスワードハッシュで暗号化したTGSを返す
  4. このTGSをオフラインでhashcat等を使ってクラック

なぜ特権不要で実行できるのか?
KerberosはSPNを持つ任意のサービスへのTGS要求を、認証済みドメインユーザーなら誰でも実行できる仕様になっているためです[7]。

# Impacket の GetUserSPNs でハッシュを取得
GetUserSPNs.py -request -dc-ip 192.168.1.1 DOMAIN/user -outputfile hashes.kerberoast

# Rubeus を使ったKerberoasting
Rubeus.exe kerberoast /outfile:hashes.txt

# Hashcat でRC4ハッシュをクラック
hashcat -m 13100 hashes.kerberoast /usr/share/wordlists/rockyou.txt

 ハッシュの形式は暗号化方式によって異なります:

暗号化方式 ハッシュ形式 クラック難易度
RC4-HMAC(etype 23) $krb5tgs$23$*...* 低(高速)
AES128(etype 17) $krb5tgs$17$*...*
AES256(etype 18) $krb5tgs$18$*...* 最高

 Microsoftは Windows 11 24H2 および Windows Server 2025 においてRC4の廃止を進めています[8]。しかしレガシーシステムが混在する環境では依然としてRC4が有効なケースが多く、現代のGPUクラッキングツールが毎秒1000億回以上の試行を可能とする状況では、弱いパスワードは数秒で解析されます[8]。

 2024年5月に発生したAscension Health社のランサムウェア侵害では、RC4暗号化Kerberosチケットのクラックが起点となり、140病院が紙業務に移行し、560万人分の患者データが漏洩しました[2]。


手法4:AS-REP Roasting — MITRE T1558.004

 AS-REP Roastingは、Kerberos事前認証が無効化されたユーザーアカウントを標的とします。事前認証が不要なアカウントに対してはKDCが資格情報を検証せずにAS-REPを返すため、攻撃者はそのレスポンスに含まれるハッシュをオフラインでクラックできます[9]。

# Impacket で事前認証不要ユーザーのハッシュ取得
GetNPUsers.py DOMAIN/user:"password" -dc-ip 192.168.1.1 -request

# Hashcat でクラック
hashcat -m 18200 asrep_hashes.txt /usr/share/wordlists/rockyou.txt

 Kerberoastingとの違いは、認証済みドメインアカウントすら不要という点です。足場が極めて浅い段階でも実行可能なため、初期侵入後の最初のステップとして使われることがあります。


4. フェーズ2:制圧とドメイン全体への到達

手法5:DCSync — MITRE T1003.006

 DCSyncは、攻撃者が正規のドメインコントローラー(DC)間のレプリケーション機能を悪用して、ADから任意のアカウントのパスワードハッシュを取得する技術です。MimikatzのBenjamin DelPyらによって2015年8月に実装されて以来、実際の侵害事例でも頻繁に使われています[10]。

# Mimikatz で KRBTGT アカウントのハッシュを取得
lsadump::dcsync /user:krbtgt /domain:example.local

# Impacket の secretsdump.py を使った実行
secretsdump.py -just-dc-user krbtgt DOMAIN/DomainAdmin:"password"@192.168.1.1

 通常、DCSync の実行には以下のいずれかの権限が必要です:

  • Domain Admins / Enterprise Admins
  • Administrators グループのメンバー
  • DCSync 権限(Replicating Directory Changes など)が明示的に委任されたアカウント[11]

 DCSyncはDC上でコードを実行せず、正規のレプリケーションプロトコル(MS-DRSR)を利用するため、従来のエンドポイント検知手法では見逃されやすい攻撃です[10]。


手法6:Golden Ticket攻撃 — MITRE T1558.001

 Golden Ticket攻撃は、DCSyncなどで入手したKRBTGTアカウントのハッシュを使って偽のKerberos TGT(チケット発行チケット)を偽造する技術です。KDCが発行を記録しない偽造チケットを持つ攻撃者は、ドメイン内の任意のサービスへのアクセスを事実上永続的に維持できます[12]。

# Mimikatz でGolden Ticketを生成
kerberos::golden /user:Administrator /domain:example.local /sid:S-1-5-21-... /krbtgt:KRBTGTのハッシュ /ticket:golden.kirbi

# Rubeus を使った方法
Rubeus.exe golden /rc4:KRBTGTのNTハッシュ /domain:example.local /sid:ドメインSID /user:Administrator /ptt

 このチケットは有効期限を10年に設定することも可能であり、KRBTGTアカウントのパスワードがリセットされるまで有効です。KRBTGT のパスワードは自動ローテーションされないため、対処を怠ると攻撃者が「一度制圧したら半永久的に支配を維持できる」状態になります。


手法7:Silver Ticket攻撃 — MITRE T1558.002

 Silver Ticket攻撃は、特定サービスアカウントのハッシュを用いてTGS(サービスチケット)を偽造する技術です。Golden Ticketと異なり、DCへの通信が一切発生しないため、DCのログに痕跡がまったく残らないという特徴があります[12]。

# 特定サービス(CIFS)に対するSilver Ticketの生成
kerberos::golden /user:Administrator /domain:example.local /sid:ドメインSID /target:ファイルサーバー.example.local /service:cifs /rc4:サービスアカウントのハッシュ /ticket:silver.kirbi

5. フェーズ3:Living off the Land — 痕跡を残さない横展開

 現代の攻撃者はカスタムマルウェアよりも、Windowsに標準搭載された管理ツールを悪用する「LotL(Living off the Land)」戦術を好みます。Picus Security 2025 Red Reportによれば、PowerShellはランサムウェアを含む全攻撃の71%で使用されており、最も頻繁に使われるポストコンプロミスツールです[2]。

RDP(Remote Desktop Protocol)

 RDP(ポート3389)は対話的な管理セッションを提供するため、攻撃者にとって理想的な横展開手段です。Sophos 2024 Active Adversary Reportによれば、RDPの悪用が調査対象のランサムウェアインシデントの90%に登場しており、過去最高の出現率を記録しました[2]。

# RDP 経由の接続確認
mstsc /v:ターゲットのIP

# PowerShell Remoting(WinRM経由)
Enter-PSSession -ComputerName ターゲット -Credential 資格情報

WMI(Windows Management Instrumentation)

 WMIはWindowsのリモート管理プロトコルです。認証情報さえあれば、リモートでコマンドを実行しながらサービスのインストールも痕跡も最小限に抑えられます

# Impacket の wmiexec.py
wmiexec.py DOMAIN/Administrator:"password"@192.168.1.10 "whoami"

PsExec / SMB

 PsExecはSysinternalsツールで、SMBを使ってリモートサービスを作成してコマンドを実行します。Event ID 7045(サービスインストール)がトリガーされるため、正しく監視していれば検知可能です。


6. 検知:Blue Team の視点

 ラテラルムーブメントの検知は、Windowsセキュリティイベントログの相関分析が基礎となります。各手法に対応するイベントIDを把握しておくことが重要です[13][14]。

主要なイベントIDと監視指針

イベントID 説明 監視ポイント
4624 成功したログオン Logon Type 3(ネットワーク)が複数ホストへ短時間に集中
4648 明示的資格情報でのログオン試行 PtH・資格情報リプレイの典型的な痕跡
4672 特権アカウントのログオン DA等が通常と異なるホストへログイン
4768 KerberosのTGT要求 PreAuthType: 0(AS-REP Roastingの証拠)
4769 KerberosのTGS要求 暗号化タイプ 0x17(RC4)= Kerberoastingの兆候
4662 オブジェクト操作 DCSyncの検知に使用(レプリケーション権限の行使)
7045 サービスのインストール PsExecを使った横展開の痕跡
5140/5145 管理共有へのアクセス ADMIN$C$への不審なアクセス

Golden Ticket の特殊な検知方法

 Golden Ticketには「DCのログに4768(TGT発行記録)が存在しないのに4769(TGS要求)が発生する」という矛盾が生じます[15]。また、偽造チケットの有効期限がドメインポリシーを超えて設定されている場合も兆候となります。

# Kerberoasting 検知(Event 4769 で暗号化タイプが RC4 のもの)
# Splunk 例
index=security EventCode=4769 Ticket_Encryption_Type=0x17
| stats count by Account_Name, Service_Name, Client_Address
| where count > 5

7. 防御側のチェックリスト

攻撃の流れを踏まえて、防御側として実装すべき対策を整理します。

認証プロトコルの強化

  • NTLMを可能な範囲で無効化・制限し、KerberosをデフォルトプロトコルとするようにGPOを設定する
  • SMB署名(SMB Signing)を有効化し、NTLMリレー攻撃を防ぐ
  • Windows Credential Guardを有効化し、LSASSメモリからの認証情報窃取を防ぐ

サービスアカウントの管理(Kerberoasting対策)

  • SPNを持つサービスアカウントには25文字以上のランダムパスワードを使用する
  • gMSA(Group Managed Service Account)を活用してパスワードの自動ローテーションを実現する
  • RC4を廃止し、AES専用に移行する(msDS-SupportedEncryptionTypesを設定)

LAPS(Local Administrator Password Solution)の導入(PtH対策)

  • 全端末のローカル管理者パスワードを個別ランダム化し、ハッシュの横展開を阻止する

KRBTGT アカウントの管理(Golden Ticket対策)

  • 確認された侵害後はKRBTGTのパスワードを2回連続でリセットする(古いチケットの無効化のため)
  • KRBTGTの最終パスワード変更日を定期的に確認し、異常がないか検証する

最小権限・Tier0管理の徹底

  • Domain Adminsは専用のTier0端末のみから使用し、一般端末からの使用を禁止する
  • 管理アカウントのセッションが一般ワークステーションのメモリに残らないよう、ジャンプサーバーを導入する
  • BloodHoundで定期的に「意図しないDA昇格経路」を検出・修正する

ログ・監視の強化

  • Sysmon を全端末に導入し、詳細なプロセス・ネットワークテレメトリを収集する
  • Event ID 4662(DCSync検知)・4769(RC4 TGS要求)・4624 Type3の異常集中をSIEMでアラート化する
  • Microsoft Defender for Identityを活用し、DCSync・PtH・PtTをリアルタイムで検知する

8. 考えるべきこと

 ラテラルムーブメントが危険な理由は、正規の認証プロトコルと見た目が区別できない点にあります。攻撃者がKerberosチケットを要求するとき、それは管理者がするリクエストと同じです。攻撃者がRDPで接続するとき、それは正規ユーザーがするセッションと同じです。

 「技術的なゼロデイを使わなくてもドメインは落ちる」というのがAD攻撃の本質です。AD関連のセキュリティ問題の80%が設定ミスに起因するという報告もあり[5]、技術的な脆弱性よりも設定・運用・権限設計の隙間がはるかに多くの侵害を生み出しています。

 守る立場に立つためには、攻撃者の視点でBloodHoundを動かし、Pass-the-Hashを試み、DCSyncを実行してみることが不可欠です。ペネトレーションテストで自組織のADを「一度攻撃してみる」ことは、机上の設計では見えない経路を可視化する最短の方法です。


参考文献

[1] Qualys Blog. "Qualys ETM: Detect Pass-the-Hash and Pass-the-Ticket Attacks." February 11, 2026.
https://blog.qualys.com/product-tech/2026/02/11/qualys-etm-detect-pass-the-hash-pass-the-ticket-attacks

[2] Elisity. "9 Lateral Movement Techniques Attackers Use (and How to Stop Them)." March 3, 2026.
https://www.elisity.com/blog/lateral-movement-techniques

[3] MITRE ATT&CK. "BloodHound — Software S0521."
https://attack.mitre.org/software/S0521/

[4] ManageEngine. "Detect SharpHound files — BloodHound Ingestor Detection."
https://www.manageengine.com/log-management/cyber-security/sharphound-detection.html

[5] HackTheBox Blog. "How Active Directory (AD) attacks have evolved — and what that means for blue teamers."
https://www.hackthebox.com/blog/active-directory-attacks-history-tactics-defenses

[6] Cymulate. "What is a Pass-the-Ticket Attack? Detection & Prevention." July 13, 2025.
https://cymulate.com/cybersecurity-glossary/pass-the-ticket-attack/

[7] HackTricks. "Kerberoast."
https://book.hacktricks.xyz/windows-hardening/active-directory-methodology/kerberoast

[8] Netwrix. "Kerberoasting Attack — Detection and Prevention Strategies."
https://www.netwrix.com/cracking_kerberos_tgs_tickets_using_kerberoasting.html

[9] Networkershome. "Active Directory Attacks — Kerberoasting, Pass-the-Hash."
https://www.networkershome.com/fundamentals/ethical-hacking/active-directory-attacks-kerberoasting-pass-the-hash/

[10] DenizHalil. "What is DCSync Attack and Mimikatz Usage in Active Directory." March 27, 2026.
https://denizhalil.com/2026/03/27/dcsync-attack-active-directory-guide/

[11] MITRE ATT&CK. "OS Credential Dumping: DCSync — T1003.006."
https://attack.mitre.org/techniques/T1003/006/

[12] CyberDefenders. "Lateral Movement Detection Guide for SOC Analysts." November 23, 2025.
https://cyberdefenders.org/blog/soc-playbook-lateral-movement-detection-and-response-guide/

[13] CERT-EU. "Detecting Lateral Movements in Windows Infrastructure."
https://cert.europa.eu/static/WhitePapers/CERT-EU_SWP_17-002_Lateral_Movements.pdf

[14] HackingDream. "Windows Event Log Analysis — Investigating Kerberos & AD Attacks." February 18, 2026.
https://www.hackingdream.net/2026/02/windows-event-log-analysis-investigating-kerberos-ad-attacks.html

[15] Microsoft Learn. "Event 4769 — A Kerberos service ticket was requested."
https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-10/security/threat-protection/auditing/event-4769

[16] Zscaler Blog. "Detecting Kerberos and other AD attacks." September 12, 2025.
https://www.zscaler.com/blogs/product-insights/active-directory-kerberoasting-deception-detection

[17] MITRE ATT&CK. "Steal or Forge Kerberos Tickets: Kerberoasting — T1558.003."
https://attack.mitre.org/techniques/T1558/003/

[18] JumpCloud. "What Is DCSync? Critical Active Directory Attack Explained." September 12, 2025.
https://jumpcloud.com/it-index/what-is-dcsync-critical-active-directory-attack-explained

2
4
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
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?