Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Active Directory攻防
Search
Ruslan Sayfiev
February 23, 2025
Technology
10
7.7k
Active Directory攻防
長年にわたり、ペンテストやRed Teamの案件において、Active Directory環境でよく見られる脆弱性とその対策をまとめた資料です。
Ruslan Sayfiev
February 23, 2025
Tweet
Share
More Decks by Ruslan Sayfiev
See All by Ruslan Sayfiev
ペンテストに関するTIPS
cryptopeg
2
1.9k
Other Decks in Technology
See All in Technology
【CEDEC2025】『Shadowverse: Worlds Beyond』二度目のDCG開発でゲームをリデザインする~遊びやすさと競技性の両立~
cygames
PRO
1
340
生成AI導入の効果を最大化する データ活用戦略
ham0215
0
130
Amazon Qで2Dゲームを作成してみた
siromi
0
130
MCP認可の現在地と自律型エージェント対応に向けた課題 / MCP Authorization Today and Challenges to Support Autonomous Agents
yokawasa
5
2.2k
Agent Development Kitで始める生成 AI エージェント実践開発
danishi
0
140
Foundation Model × VisionKit で実現するローカル OCR
sansantech
PRO
1
340
Vision Language Modelと自動運転AIの最前線_20250730
yuyamaguchi
4
1.2k
Telemetry APIから学ぶGoogle Cloud ObservabilityとOpenTelemetryの現在 / getting-started-telemetry-api-with-google-cloud
k6s4i53rx
0
140
AI時代の経営、Bet AI Vision #BetAIDay
layerx
PRO
1
1.9k
Claude Codeから我々が学ぶべきこと
oikon48
10
2.8k
LLMでAI-OCR、実際どうなの? / llm_ai_ocr_layerx_bet_ai_day_lt
sbrf248
0
450
Claude CodeでKiroの仕様駆動開発を実現させるには...
gotalab555
3
980
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
95
14k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Writing Fast Ruby
sferik
628
62k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.6k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.4k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
Gamification - CAS2011
davidbonilla
81
5.4k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Testing 201, or: Great Expectations
jmmastey
45
7.6k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
880
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
BBQ
matthewcrist
89
9.8k
Transcript
2025/02/23 Ruslan Sayfiev Active Directory攻防 ※よく見る脆弱性
Whoami #> Ruslan Sayfiev (ルスラン サイフィエフ) (https://twitter.com/cryptopeg) Red Team/Pentestリーダー&執行役員 @
GMO サイバーセキュリティ by イエラエ - 主な知見:Web・NW診断、Cloud、OSINT、Pentest(TLPT)、Red Team、ツール開発、IoT診断など - 資格:OSWP、OSCP、OSCE3、OSTH、OSDA、OSEE、GXPN、CRTO、CRTL、CRTE、CRTMなど - HackTheBox (Guru): Offshore、Zephyr、RastaLabs、APTLabs、FullHouse - Microsoft researcher (MVR): 2023 Annual – 61位 - 多数のCVE保持
目次 ・攻撃者モデル ・企業インフラにおけるActive Directoryの役割 ・Active Directoryでよく見る脆弱性 - パスワード関連 - SMBシェア関連
- 不適切な権限の設定 - SMB/LDAP署名・NTLMリレー - ADCS関連 - クライアント端末・サーバの既知や0Day脆弱性 ・まとめ
攻撃者モデル
企業インフラにおけるActive Directoryの役割
Active Directoryでよく見る脆弱性 ※一部の紹介
パスワード関連 - Joeアカウント - 環境が古ければ古いほど存在する可能性が高まる(例:backup/backup) - 脆弱なパスワード - 推測しやすいパスワードの使用(例:会社名、デフォルトパスワード、P@ssw0rd) -
ドメインユーザアカウントにSPNが設定されている(Kerberoast攻撃)かつ短期間 でクラック可能なパスワードの使用(※多くの場合ドメイン管理者が設定されている) - 共通パスワード - 複数アカウントのパスワードが共通(例:一般と管理者、サービスアカウント) - ローカル管理者のパスワードが共通(場合によってドメイン管理者と共通) - 認証情報のハードコーディング(平文または復号が可能な状態) 主に使用されているツール: ・Kerberoast(Windows:Rubeus・PowerShell系、Linux:Impacket系) ・パスワードスプレー(Windows:複数にある、Linux:NetExecなど)
パスワード関連「推奨される対策」 対策: - 脆弱なパスワードの使用 - ドメインアカウント(特に管理者アカウント)に SPN を登録しないようにして、gMSAを使用するか、どうしても 登録が必要な場合、パスワードを強固な文字列(英数記号混在の25桁以上)に設定することで、現実的な時間 での解析を困難にする
- デフォルトのパスワードをランダムパスワードにして、ドメインユーザアカウントのパスワードポリシーも強化する - 共通パスワードの使用 - ローカル管理者のパスワードをLAPSで管理する - 環境・アカウントごとに強固な異なるパスワードを設定する - その他 - 認証情報をハードコーディングをせず、同様なことを平文認証情報の使用に頼らない仕組みにする - ドメイン管理者系アカウントにおいてSmartCard認証、ログイン先サーバの制限及びMFAを設定する 監視: - SIEMを活用して、ログイン (成功・失敗) イベントをリアルタイムに監視し、管理者アカ ウント利用時には即時アラートを通知(例:Slack, Microsoft Teams)
SMBシェア関連 主に使用されているツール: ・自動: SharpShares - https://github.com/mitchmoser/SharpShares - LDAPクエリによって端末一覧を取得し、マルチスレッドでアクセス可能なシェアを探索する (読み込み・書き込みの確認も可能) ・手動:
BloodHound結果から1〜2ヶ月以内にパスワード更新したサーバ・端末の一覧を作成し、 CMD・PowerShellまたは「NetShareEnum」Windows APIを使用して探索する ※環境によってデフォルトである1ヶ月ごとにパスワードを更新しないサーバも存在する可能 性があることに注意! ※サーバのバックアップイメージが数100GBの場合でも、 ダウンロードせずに容易に取得が可能
SMBシェア関連、事例 平文認証情報 管理シェア 隠しシェア Palo Altoのコンフィグにある認証情報 バックアップイメージをダウンロードせずに ReadOnlyでマウントが可能
SMBシェア関連「推奨される対策」 対策: - 資産管理及び定期的に不明なシェアがないかを確認する - GPOやIntuneなどでシェア一覧及び権限を取得するスクリプトの実行 ※管理シェア(C$など)を停止する(管理者権限によってファイルダウンロード・アップロードに使われる可能性がある) ※NAS・LinuxサーバやAD未参加の端末において要注意 - アカウントごとに最小権限の原則に基づいて、適切なアクセス権限を設定する
- 平文や暗号化されている認証情報が含まれるファイルをファイルサーバに保管しない - 場合によって重要なアカウントのパスワード一覧から辞書を作り、ファイルサーバのローカルから探索することも推奨 ※重要アカウントにおいて、なるべくセキュリティキーによるMFAなどがあるパスワードマネージャーを使用 - AD環境のバックアップを同AD内のサーバに保管しない - 別ドメインやドメイン未参加サーバなどに保管する 監視: - SMB通信における、大量ファイルへのアクセス及び大量データのダウンロードを監視する - 管理シェア(C$など)におけるアクセス(ダウンロード・アップロード)を監視する ※一部の製品がデフォルトでできている
不適切な権限の設定 主に使用されているツール: ・Windows: SharpHound - https://github.com/SpecterOps/SharpHound ※または、ADExplorer+ADExplorerSnapshot.py(https://github.com/c3c/ADExplorerSnapshot.py) ・Linux: Bloodhound.py -
https://github.com/dirkjanm/BloodHound.py
不適切な権限の設定、事例 + ・「Domain Users」グループなどの低権限オブジェクトにマシンアカウントへ の書き込み可能な「GenericWrite」権限が付いている また、ほとんどの環境にマシン10台までデフォルトポリシーが設定されている ※マシンアカウントの追加なしでも悪用が可能! 参考リンク:https://www.tiraniddo.dev/2022/05/exploiting-rbcd-using-normal-user.html https://gmo-cybersecurity.com/blog/htb-ctf-2024-bulwark-writeup/ ・「Domain
Users」グループなどの低権限オブジェクトに他オブジェクト (OU、グループ、ユーザアカウントなど)に「GenericAll、GenericWrite、 DCSync」などの権限が付いている ・「Domain Users」グループなどの低権限オブジェクトにマシンアカウントに 対して「CanRDP、AdminTo」などの権限が付いている ※RBCD (Resource-Based Constrained Delegation)
不適切な権限の設定「推奨される対策」 対策: - ms-DS-MachineAccountQuota属性の設定を0台にする - 攻撃者より早くBloodHoundを使用して全ての悪用可能な経路を潰そう! - 運用・設計上で直すことが困難な場合、攻撃想定で監視を高める 監視: -
ドメインコントローラーのイベントログやIDSなどにおいて、デフォルトな状態で実行さ れるBloodHoundのLDAPクエリなどに基づいて検知する 参考リンク:https://medium.com/securonix-tech-blog/detecting-ldap-enumeration-and- bloodhound-s-sharphound-collector-using-active-directory-decoys-dfc840f2f644 - ADExplorerによる大量のLDAP通信やSOAPHoundによるイベントログも監視する 参考リンク: https://www.mdsec.co.uk/2024/02/active-directory-enumeration-for-red-teams/
SMB/LDAP署名・NTLMリレー 主に使用されているツール: ・Linux: Impacket(ntlmrelayx)、Responder、krbrelayx、MitM6 参考リンク(Lanmanサービス無効化): https://posts.specterops.io/relay-your-heart-away-an-opsec-conscious-approach- to-445-takeover-1c9b4666c8ac 参考リンク(NTLMRelay2Self・LDAP署名): https://github.com/med0x2e/NTLMRelay2Self 参考リンク(NTLMリレー):https://en.hackndo.com/ntlm-relay/
参考リンク(Kerberosリレー):https://www.synacktiv.com/publications/relaying-kerberos-over-smb-using-krbrelayx
SMB/LDAP署名・NTLMリレー、事例 ・LDAP未署名(ユニバーサルローカル権限昇格問題) 似ている攻撃例(KrbRelayUp):https://github.com/Dec0ne/KrbRelayUp
SMB/LDAP署名・NTLMリレー「推奨される対策」 対策: - ドメインコントローラー、サーバやクライアント端末においてSMB署名を強制する - ドメインコントローラーやドメインデフォルトポリシーのGPOにおいて「LmCompatibilityLevel」を 5に設定し、LM・NTLMv1の受付・送信を拒否する(NTLMv2のみの使用になる) ※レガシーOSやLinuxなどのマシンに注意して実施! - LDAP署名・LDAPSチャンネルバインディングを有効化する
※Radiusサーバ、プリンターなどに注意して実施! - クライアント端末間通信・サーバ(DC含む)からクライアント端末への通信を制限するようにマイクロ セグメンテーションを実装する - LLMNR/NBNS/mDNSプロトコルやIPv6の使用をGPOにおいて無効化する 監視: - ローカル権限昇格のLDAP署名を悪用する際、Shadow CredentialsまたはRBCD攻撃の実施が 必要なため、イベントログを監視する - リレーが成功した場合、リレー先のサーバにおいて何らかのコマンドの実行されるため、各サーバのイ ベントログを監視する
ADCS関連 主に使用されているツール: ・Windows: Certify - https://github.com/GhostPack/Certify ・Linux: Certipy - https://github.com/ly4k/Certipy
参考リンク: https://specterops.io/wp-content/uploads/sites/3/2022/06/Certified_Pre-Owned.pdf
ADCS関連「推奨される対策」 対策: - 全てのテンプレートの確認・整理(設定不備など) - NTLMリレーを防ぐため、認証の拡張保護 (EPA) を有効にする - 証明書発行の際、マネージャー承認ステップを導入する
- ADCSの設計を再検討し、RootCAサーバをオフラインの状態で管理して、 IssuingCAにおいてHSMの使用及びイベントログ(証明書バックアップ・発行な ど)の強化な監視を行う - クライアント端末に発行される証明書を必須的にTPMに保管する ※ネタバラシ:TPMキーの構成証明も検討!(3〜4月に記事を楽しみに!) - VPNにおいて、同時接続可能なセッション数を最小(例:1)に限定する 監視: - ADCSサーバにおいて証明書発行のイベントログを監視する
クライアント端末・サーバの既知や0Day脆弱性
発見した脆弱性(一部) CVE番号 対象製品 脆弱性種類 分類 CVE-2021-22159 Proofpoint ITM (旧ObserveIT) 権限昇格
リスク管理 CVE-2022-25294 Proofpoint ITM (旧ObserveIT) 権限昇格 CVE-2022-1038 HP Jumpstart 権限昇格 ベンダー CVE-2022-22814 ASUS System Diagnosis 権限昇格 CVE-2024-2208 HP Sound Research audio 権限昇格 CVE-2021-29644 Hitachi JP1 リモートコード実行 資産管理 CVE-2021-29645 Hitachi JP1 権限昇格 CVE-2022-27773 Ivanti Endpoint Manager (旧LANDesk) 権限昇格/リモートコード実行 CVE-2022-28719 ハンモックAssetView リモートコード実行 CVE-2023-22335 IT資産管理ツールSS1 組み合わせで、リモートコード実行 CVE-2023-22336 IT資産管理ツールSS1 CVE-2023-22344 IT資産管理ツールSS1 CVE-2024-24964 SkySea Client View 権限昇格 CVE-2024-41139 SkySea Client View 権限昇格 CVE-2024-41143 SkySea Client View 権限昇格 CVE-2024-41726 SkySea Client View リモートコード実行 CVE-2022-44669 Microsoft Windows 権限昇格 OS/Office CVE-2023-21726 Microsoft Windows 権限昇格 CVE-2023-33148 Microsoft Office 権限昇格 CVE取得数:17 申請中:15
クライアント端末・サーバの既知や0Day脆弱性「推奨される対策」 対策: - 既知の脆弱性において、ネットワーク全体的(ドメインに参加していないホストも含 む)にパッチマネジメントを実施する - 0Dayの脆弱性は全ての製品に存在し得るため、根本的な対策はほぼ無理。また、ど の製品にあるかによって大きく影響範囲も異なる。そのため、最終的に会社にとって 重要な資産が守られているような設計と運用にして、適切な監視を実施することで影 響範囲を減少する
監視: - 適切な監視を行うため、EDR/XDR/SIEMなどのソリューションの活用し、自社環 境を細く解析する必要がある。特に未知の攻撃を発見するため、全環境に対するス レッドハンティングの実施、運用や導入中の製品の弱点などを理解して、カスタマイ ズなどで監視をする
まとめ - Active Directoryに関して、年々を通して見てきた脆弱性は多くの場合は0Day脆 弱性でもなく、設計・運用不備が主な原因であり、これらを修正することで大部分の 脆弱性は防止可能 - 主な脆弱性として、単なるパスワードに関する問題やファイルシェアの問題、権限設 定の不備ではあるものの、環境の設計・運用によって修正するには最も時間がかか る脆弱性でもある
- Active Directoryは昔からある管理システムですが、Entra IDなどのフルクラウ ド環境に徐々に移行しつつある。しかし、大企業(特に歴史が長い企業)は、レガシー システムの互換性や移行コストの観点から、引き続きAD環境を使用し続けると考え られる - 設定や運用面の脆弱性を修正し、ゼロトラストアーキテクチャ(マイクロセグメンテー ション)、ビジネスプロセスや設計による脆弱性を環境全般的に把握した上で適切な 監視を行いましょう!