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
1
120
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
1
1.5k
Other Decks in Technology
See All in Technology
7日間でハッキングをはじめる本をはじめてみませんか?_ITエンジニア本大賞2025
nomizone
2
1.9k
データ資産をシームレスに伝達するためのイベント駆動型アーキテクチャ
kakehashi
PRO
2
550
プロセス改善による品質向上事例
tomasagi
2
2.6k
利用終了したドメイン名の最強終活〜観測環境を育てて、分析・供養している件〜 / The Ultimate End-of-Life Preparation for Discontinued Domain Names
nttcom
2
200
開発スピードは上がっている…品質はどうする? スピードと品質を両立させるためのプロダクト開発の進め方とは #DevSumi #DevSumiB / Agile And Quality
nihonbuson
2
3k
The Future of SEO: The Impact of AI on Search
badams
0
200
ホワイトボードチャレンジ 説明&実行資料
ichimichi
0
130
エンジニアのためのドキュメント力基礎講座〜構造化思考から始めよう〜(2025/02/15jbug広島#15発表資料)
yasuoyasuo
18
6.9k
2.5Dモデルのすべて
yu4u
2
880
Oracle Cloud Infrastructure:2025年2月度サービス・アップデート
oracle4engineer
PRO
1
220
Larkご案内資料
customercloud
PRO
0
650
速くて安いWebサイトを作る
nishiharatsubasa
11
13k
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
133
9.1k
Optimising Largest Contentful Paint
csswizardry
34
3.1k
Become a Pro
speakerdeck
PRO
26
5.1k
Why Our Code Smells
bkeepers
PRO
336
57k
For a Future-Friendly Web
brad_frost
176
9.5k
Adopting Sorbet at Scale
ufuk
74
9.2k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Fireside Chat
paigeccino
34
3.2k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
550
Visualization
eitanlees
146
15k
We Have a Design System, Now What?
morganepeng
51
7.4k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
12
960
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環境を使用し続けると考え られる - 設定や運用面の脆弱性を修正し、ゼロトラストアーキテクチャ(マイクロセグメンテー ション)、ビジネスプロセスや設計による脆弱性を環境全般的に把握した上で適切な 監視を行いましょう!