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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Ruslan Sayfiev
February 23, 2025
Technology
12
9.2k
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
3
2.4k
Other Decks in Technology
See All in Technology
(金融庁共催)第4回金融データ活用チャレンジ勉強会資料
takumimukaiyama
0
130
Meshy Proプラン課金した
henjin0
0
250
Bill One急成長の舞台裏 開発組織が直面した失敗と教訓
sansantech
PRO
1
300
レガシー共有バッチ基盤への挑戦 - SREドリブンなリアーキテクチャリングの取り組み
tatsukoni
0
200
ZOZOにおけるAI活用の現在 ~開発組織全体での取り組みと試行錯誤~
zozotech
PRO
5
4.9k
生成AI時代にこそ求められるSRE / SRE for Gen AI era
ymotongpoo
5
2.7k
Deno・Bunの標準機能やElysiaJSを使ったWebSocketサーバー実装 / ラーメン屋を貸し切ってLT会! IoTLT 2026新年会
you
PRO
0
290
変化するコーディングエージェントとの現実的な付き合い方 〜Cursor安定択説と、ツールに依存しない「資産」〜
empitsu
4
1.3k
Amazon S3 Vectorsを使って資格勉強用AIエージェントを構築してみた
usanchuu
3
440
Databricks Free Edition講座 データサイエンス編
taka_aki
0
290
Digitization部 紹介資料
sansan33
PRO
1
6.8k
We Built for Predictability; The Workloads Didn’t Care
stahnma
0
130
Featured
See All Featured
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
130
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
1
1.3k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
750
Everyday Curiosity
cassininazir
0
130
Raft: Consensus for Rubyists
vanstee
141
7.3k
Producing Creativity
orderedlist
PRO
348
40k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
110
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
430
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
82
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
440
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環境を使用し続けると考え られる - 設定や運用面の脆弱性を修正し、ゼロトラストアーキテクチャ(マイクロセグメンテー ション)、ビジネスプロセスや設計による脆弱性を環境全般的に把握した上で適切な 監視を行いましょう!