Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AD はどのように 「やられる」 のか

Eureka
July 10, 2024

AD はどのように 「やられる」 のか

Eureka

July 10, 2024
Tweet

More Decks by Eureka

Other Decks in Technology

Transcript

  1. AD はどのように 「やられる」 のか 垣内 由梨香 Risk Manager Security Response

    Team | Regional Security Customer Protection Microsoft Corporation CISSP, CEH 公式ブログ: https://msrc-blog.microsoft.com/category/jpsecurity/ 公式 Twitter: https://twitter.com/jsecteam
  2. セッション概要  目的  マイクロソフト サポート及びインシデント調査サービスで把握している実態、対応事例から得 られた知見を共有  Active Directory

    (+ Hybrid) 環境に対する攻撃への理解を深める  マイクロソフトが提唱する対策の解説し Active Directory の保護に役立てていただく  目次  Active Directory (+ Hybrid) 環境に対する攻撃の特徴  推奨する保護策の概要 2 © Copyright Microsoft Corporation. All rights reserved.
  3. マイクロソフトにおける観測  セキュリティ侵害の事例は、増加傾向にある  攻撃手法や対象の広がり、脆弱なデバイスの検出技術の向上  リモートワークの増加など、多様な働き方に対応したITシステムの増加  サイバー犯罪者の巧妙な営利企業的活動 

    Microsoft Digital Defense Report  Microsoft Digital Defense Report 2023 (MDDR) | Microsoft Security Insider  ブログ: 諜報活動が世界のサイバー攻撃を助長 - News Center Japan (microsoft.com) © Copyright Microsoft Corporation. All rights reserved. 4
  4. Tier 2 デバイス ローカル管理者 一般的な Active Directory 侵害の流れ © Copyright

    Microsoft Corporation. All rights reserved. 7 Tier 0 認証基盤 ドメイン 管理権限 Tier 1 サーバー 管理者 1. ドメインクライアント端末への侵入 1. フィッシング、ソーシャルエンジニアリング 2. ブルートフォース攻撃 2. ラテラル・ムーブメント Lateral Movement (横方向への移動) 1. 探索活動 2. 別のクライアントへの侵害 1. 特権昇格 1. サーバ管理者権限の取得 2. ドメイン管理者権限の取得 3. ドメイン 2. 目的の実行 1. 情報取得、ランサムウェア 2. 永続的なアクセス口の設置 3. 痕跡の削除 ドメイン コントローラ ディレクトリ データベース
  5. Active Directory 侵害の特徴 © Copyright Microsoft Corporation. All rights reserved.

    8 “乗っ取り” を中心とした侵入 拡大 侵入者の検出や 追跡が困難 対応・復旧が 困難
  6. Active Directory 侵害の特徴 © Copyright Microsoft Corporation. All rights reserved.

    9 “乗っ取り” を中心とした侵入 拡大 侵入者の検出や 追跡が困難 対応・復旧が 困難
  7. “乗っ取りアカウント” を軸に侵入を展開する © Copyright Microsoft Corporation. All rights reserved. 10

    ユーザー クライアント端末 サーバー サーバー管理者 ドメイン管理者 認証サーバー ドメインコントローラ フィッシング ソーシャルエンジニアリング 総当たり Active Directoryドメイン
  8. ドメイン内のユーザーになりすます 1. ユーザー名、パスワードを取得し認証する  推察しやすい・簡単なパスワードで認証を試みる  平文で記載されているパスワードを取得する  例:ユーザー、管理者がメモとして記載している 

    例: バッチファイルに記載されている 2. プロトコルが利用するクレデンシャル(資格情報)を利用する  NTLM 認証: ハッシュ化されたパスワード (NTOWF: NT One Way Function)  Kerberos 認証:  TGT, TGS, TGT セッション鍵, TGS セッション鍵  DES, RC4 == NTOWF, AES keys 11 © Copyright Microsoft Corporation. All rights reserved.
  9. ドメイン内のユーザーになりすます 1. ユーザー名、パスワードを取得し認証する  推察しやすい・簡単なパスワードで認証を試みる  平文で記載されているパスワードを取得する  例: ユーザー、管理者がメモとして記載している

     例: バッチファイルに記載されている 2. プロトコルが利用するクレデンシャル(資格情報)を利用する  NTLM 認証: ハッシュ化されたパスワード (NTOWF: NT One Way Function)  Kerberos 認証:  アカウントのハッシュ化されたパスワード, 認証チケット (TGT, TGS), セッション鍵 (TGT セッション鍵, TGS セッ ション鍵)  DES, RC4 == NTOWF, AES keys 12 管理の盲点 © Copyright Microsoft Corporation. All rights reserved.
  10. Kerberos 認証で利用されるクレデンシャル © Copyright Microsoft Corporation. All rights reserved. 13

    ユーザー ユーザー名:UserA パスワード:Passw@rd LT鍵 (パスワードハッシュ) LT鍵 (パスワードハッシュ) krbtgt UserA ドメイン コントローラー
  11. Kerberos 認証で利用されるクレデンシャル © Copyright Microsoft Corporation. All rights reserved. 14

    ユーザー ユーザー名:UserA パスワード:Passw@rd LT鍵 (パスワードハッシュ) LT鍵 (パスワードハッシュ) LT鍵 (パスワードハッシュ) krbtgt UserA デバイス ドメイン コントローラー チケット保証チケット (TGT) Kerberos 認証サービス要求 (KRB_AS_REQ) タイムスタンプ ユーザー名, SPN krbtgt, User Nonce Kerberos 認証サーバー応答 (KRB_AS_REP) ユーザー名 セッション鍵, TGT有効期限、User Nonce
  12. サービスへのアクセス時の Kerberos 認証① © Copyright Microsoft Corporation. All rights reserved.

    16 ユーザー ユーザー名:UserA パスワード:Passw@rd パスワード ハッシュ LT鍵 (パスワードハッシュ) LT鍵 (パスワードハッシュ) 認証チケット (TGT) LT鍵 (パスワードハッシュ) krbtgt UserA SV1 認証リクエスト (KRB_TGS_REQ) 認証レスポンス (KRB_TGS_REP) ユーザー名 ユーザー名、タイムスタンプ 認証チケット (TGT) SPN, User Nonce サービスセッション鍵、 TGS有効期限、User Nonce サービスチケット (ST) デバイス ドメイン コントローラー LT鍵 (パスワードハッシュ) ハッシュ SV1 サーバー SPN1 TGT セッション鍵
  13. サービスへのアクセス時の Kerberos 認証② © Copyright Microsoft Corporation. All rights reserved.

    17 ユーザー ユーザー名:UserA パスワード:Passw@rd パスワード ハッシュ パスワード ハッシュ パスワード ハッシュ 認証チケット (TGT) パスワード ハッシュ krbtgt UserA SV1 デバイス ドメイン コントローラー パスワード ハッシュ SV1 サーバー 認証リクエスト (KRB_AP_REQ) ユーザー名、タイムスタンプ サービスチケット (ST) 認証レスポンス (KRB_AP_REP ) SPN1 サービスチケット (ST) TGT セッション鍵 サービスセッション鍵
  14. よくある攻撃例: サービスアカウントのパスワードを解析する © Copyright Microsoft Corporation. All rights reserved. 18

    ユーザー ユーザー名:UserA パスワード:Passw@rd パスワード ハッシュ LT鍵 (パスワードハッシュ) LT鍵 (パスワードハッシュ) 認証チケット (TGT) LT鍵 (パスワードハッシュ) krbtgt UserA SV1 認証リクエスト (KRB_TGS_REQ) 認証レスポンス (KRB_TGS_REP) ユーザー名 ユーザー名、タイムスタンプ 認証チケット (TGT) SPN, User Nonce サービスセッション鍵、 TGS有効期限、User Nonce サービスチケット (ST) デバイス ドメイン コントローラー SPN1 サービスチケット (ST) • フィッシング等で取得したドメインユーザーでログイン • SPN が設定されているアカウントをリスト • サービスチケットを取得 • サービスチケットのハッシュからパスワードを解析 TGT セッション鍵 サービスセッション鍵
  15. 取得した派生資格情報を攻撃に利用するには 1. 解析し、パスワードを利用する  レインボーテーブルによる解析  危殆化した暗号・ハッシュアルゴリズムの既知の問題を用いた解析 2. 派生資格情報を再利用する 

    もともとのパスワードや鍵を取得していない状態で攻撃が可能  攻撃手法の例  Pass-the-Hash 攻撃: NTLM 認証において NTOWF を再利用する  Pass-the-Ticket 攻撃 : Kerberos 認証においてチケット、キーを再利用・偽造する 20 © Copyright Microsoft Corporation. All rights reserved.
  16. デバイスには、ログインするユーザーの認証情報が保存されている 21 © Copyright Microsoft Corporation. All rights reserved. ユーザー

    ユーザー名:UserA パスワード:Passw@rd パスワード ハッシュ 認証チケット (TGT) サービスチケット (TGS) TGT セッション鍵 サービスセッション鍵 デバイス ローカルユーザー ユーザー名:Local パスワード:12345 リモートデスクトップ接続 ユーザー ユーザー名:remote パスワード:password パスワード ハッシュ パスワード ハッシュ 認証チケット (TGT) TGT セッション鍵 LT鍵 (パスワードハッシュ) LT鍵 (パスワードハッシュ) LT鍵 (パスワードハッシュ) krbtgt UserA SV1 ドメイン コントローラー LT鍵 (パスワードハッシュ) SV1 サーバー SPN1
  17. デバイスには、ログインするユーザーの認証情報が保存されている 22 © Copyright Microsoft Corporation. All rights reserved. ユーザー

    ユーザー名:UserA パスワード:Passw@rd パスワード ハッシュ 認証チケット (TGT) サービスチケット (TGS) TGT セッション鍵 サービスセッション鍵 デバイス ローカルユーザー ユーザー名:Local パスワード:12345 リモートデスクトップ接続 ユーザー ユーザー名:remote パスワード:password パスワード ハッシュ パスワード ハッシュ 認証チケット (TGT) TGT セッション鍵 LT鍵 (パスワードハッシュ) LT鍵 (パスワードハッシュ) LT鍵 (パスワードハッシュ) krbtgt UserA SV1 ドメイン コントローラー LT鍵 (パスワードハッシュ) SV1 サーバー SPN1 取得したクレデンシャルを利用し 他の端末やサーバーへアクセス
  18. ツールの拡大による攻撃手法の広まり  ツールの開発と利用が広がる  2006 年ごろからツール化が盛んに  侵入テストの需要増とともにツー ルの開発も盛んに 

    Windows Credential Editor  Mimikaz  フィッシング等でのユーザーのア カウント・デバイスを乗っ取った 後に、侵入を広げるために利 用される 25 Windows Credential Editor © Copyright Microsoft Corporation. All rights reserved.
  19. ドメイン内の “乗っ取りアカウント” に対する対策が不足している  特権分離の不足  ドメイン管理者権限が、多くのサービス用アカウントに付与されている  ひとつの管理アカウントで様々なサービスを管理している 

    特権アカウントを利用する端末と業務端末が同一である  特権昇格の脆弱性への対応不足  ドメインコントローラ、重要なサーバーへのセキュリティ更新が行われていない  リモートコード実行の脆弱性や 「緊急」 の脆弱性への対応のみで、悪用に好まれる「重要」 「特権 昇格」 の脆弱性対応ができていない  悪用が多く報告されている脆弱性の例:  MS14-068 Kerberos の脆弱性により特権が昇格される (3011780)  MS17-010 Microsoft Windows SMB サーバー用のセキュリティ更新プログラム (4013389)  CVE-2020-1472 , [AD 管理者向け] CVE-2020-1472 Netlogon の対応ガイダンスの概要 – Microsoft Security Response Center © Copyright Microsoft Corporation. All rights reserved. 26
  20. マイクロソフト セキュリティ調査 (2019年) © Copyright Microsoft Corporation. All rights reserved.

    27 New data from Microsoft shows how the pandemic is accelerating the digital transformation of cyber-security https://www.microsoft.com/security/blog/2020/08/19/microsoft-shows-pandemic-accelerating-transformation-cyber-security
  21. 実際の事例 30 ドメインユーザー 資格情報 ローカル管理者 サーバー管理者 ドメイン管理者 クライアント アプリサーバー ドメイン

    コントローラ クライアント 資格情報 初期アクセス:よくある原因 ・フィッシング、ソーシャルエンジニアリング ・よく知られたマルウェア等の既知の手法 ・リモートデスクトップ接続やVPN接続の安易なパスワード 資格情報を 取得する © Copyright Microsoft Corporation. All rights reserved.
  22. 実際の事例 31 ドメインユーザー 資格情報 ローカル管理者 サーバー管理者 ドメイン管理者 クライアント アプリサーバー ドメイン

    コントローラ クライアント 資格情報 保存されている 資格情報を取得する よくある原因 ・特権昇格の脆弱性 ・Mimikatzなどの資格情報取得のツール、メモリのダンプ ・よく知られたローカルアカウントの安易なパスワード © Copyright Microsoft Corporation. All rights reserved.
  23. 実際の事例 32 ドメインユーザー 資格情報 ローカル管理者 サーバー管理者 ドメイン管理者 クライアント アプリサーバー ドメイン

    コントローラ クライアント 資格情報 資格情報 侵入する よくある原因 ・展開イメージが統一 ・管理簡素化のために同一アカウントを展開 ・よく知られた既定アカウント ・よく知られたサービスのアカウント ・ブルートフォース © Copyright Microsoft Corporation. All rights reserved.
  24. 実際の事例 33 ドメインユーザー 資格情報 ローカル管理者 サーバー管理者 ドメイン管理者 資格情報 資格情報 クライアント

    アプリサーバー ドメイン コントローラ クライアント 資格情報 高い権限をもつアカウント の情報を取得する © Copyright Microsoft Corporation. All rights reserved. よくある原因 • サーバ管理者が利用する端 末と業務端末が同一
  25. 実際の事例 34 ドメインユーザー 資格情報 ローカル管理者 サーバー管理者 ドメイン管理者 資格情報 資格情報 クライアント

    アプリサーバー ドメイン コントローラ クライアント 資格情報 高い権限をもつアカウント の情報を取得する © Copyright Microsoft Corporation. All rights reserved. よくある原因 • サービスアカウントのパスワード の強度が不十分 資格情報
  26. 資格情報 実際の事例 35 ドメインユーザー 資格情報 ローカル管理者 サーバー管理者 ドメイン管理者 資格情報 クライアント

    アプリサーバー ドメイン コントローラ クライアント 資格情報 資格情報 より高い権限の サーバーに侵入 © Copyright Microsoft Corporation. All rights reserved. 資格情報
  27. 資格情報 実際の事例 36 ドメインユーザー 資格情報 ローカル管理者 サーバー管理者 ドメイン管理者 資格情報 クライアント

    アプリサーバー ドメイン コントローラ クライアント 資格情報 資格情報 © Copyright Microsoft Corporation. All rights reserved. 資格情報 ドメインを掌握 資格情報 資格情報 よくある原因 ・ドメイン管理者権限がサーバー管理者・サービス に付与されている • グループポリシーやグループの管理権限が不 適切に設定されている
  28. 実際の事例 37 ドメインユーザー 資格情報 資格情報 ローカル管理者 サーバー管理者 ドメイン管理者 資格情報 資格情報

    クライアント アプリサーバー ドメイン コントローラ クライアント 資格情報 資格情報 待ち受ける 盗む よくある原因 ・ヘルプデスク業務 ・管理業務 © Copyright Microsoft Corporation. All rights reserved.
  29. 実際の事例 38 ドメインユーザー 資格情報 資格情報 ローカル管理者 サーバー管理者 ドメイン管理者 資格情報 資格情報

    クライアント アプリサーバー ドメイン コントローラ クライアント 資格情報 資格情報 資格情報 ドメインの鍵を取得 任意のドメインユーザーに なりすましが可能 © Copyright Microsoft Corporation. All rights reserved. 資格情報
  30. 実際の事例:ハイブリッド環境 © Copyright Microsoft Corporation. All rights reserved. 39 資格情報

    資格情報 クライアント クライアント 資格情報 資格情報 資格情報 アプリサーバー 資格情報 ADFS ドメインユーザー ローカル管理者 サーバー管理者 ドメイン管理者 ドメイン コントローラ 資格情報 証明書・署名鍵を 取得
  31. Active Directory 侵害の特徴 © Copyright Microsoft Corporation. All rights reserved.

    40 “乗っ取り” を中心とした侵入 拡大 侵入者の検出や 追跡が困難 対応・復旧が 困難
  32. “攻撃の動作“ を検知することは困難  攻撃には、乗っ取ったドメインユーザーの権限で、標準のコマンドやツール (“Living off the land binary/tools”) を利用していることが多い

     “ウイルス検知” のみにフォーカスしている場合、攻撃の痕跡を見逃しやすい  単なるツールのブロック、イベントの検出だけでは検知が難しい。  正常と異常を定義し、ほかのアクティビティと照らし合わせて相関関係を調査する必要がある  攻撃に利用されることが多いツールやコマンド  Windows コマンド: Tasklist, ver, whoami, net user, net group, klist 等  Powershell, PSExec, サービスの停止、バッチファイル (.bat, .reg) 実行  AD 標準ツール・コマンド  ADユーザー権限でLDAPクエリを通常の権限・設定で投げ、情報を収集: 所属しているグループ、アクセス権限、SPN 設定など  インターナルフィッシング: UPN メールアドレス、電話番号  Powershell, PSExec, サービスの停止、バッチファイル (.bat, .reg) 実行 © Copyright Microsoft Corporation. All rights reserved. 42
  33. 140日以上 長期的な侵入・複数の侵入があり、全容の把握が困難  侵入者の全容を調査することが困難  長期的な侵害のため、ログが残されていない  調査に必要なログが残されていない(例:異常系のイベントログしかない、ネットワークのログがない)  セキュリティ対応以外から、AD侵害が発覚する事例も

     (例) 別の障害調査の過程で、意図していないユーザー、構成が発覚する  (例) バッチ処理の失敗の要因調査過程で不審なファイルが発覚する  セキュリティ観点からの調査を行った結果、長期的に侵入されていることが判明する  初期侵入のログは、アラートとしてあがっていない。 © Copyright Microsoft Corporation. All rights reserved. 43 最初のホスト侵害 ドメイン管理者 侵害 攻撃の検出 調査&準備 侵害拡大 24-48 時間
  34. Active Directory 侵害の特徴 © Copyright Microsoft Corporation. All rights reserved.

    44 “乗っ取り” を中心とした侵入 拡大 侵入者の検出や 追跡が困難 対応・復旧が 困難
  35. 迅速な対応が難しい Active Directory侵害の調査および復旧作業は、長期化する傾向に ある  運用、ビジネスへの影響懸念  ドメインコントローラの即時停止/長期停止ができない  依存するアプリケーションの影響を調査する必要がある

     関連組織、影響調査との調整の難航  ネットワーク管理部門、事業部門との調整が必要  調査のためのログ導入、ツール導入における承認の難航、システム上の制限 45 © Copyright Microsoft Corporation. All rights reserved.
  36. 例:侵害時に必要な対応  影響の調査・暫定対応  ドメイン情報・ドメインコントローラの保全  侵害を確認している、疑わしいアカウントの利用停止  特権アカウントの状況確認/リセット 

    特別なオブジェクトのACL確認  グループメンバーシップの確認、ACLリセット  GPO内容の確認 ACLリセット  ドメイン鍵 (krbtgt) のリセット (2回)  AD構成・運用の見直し  侵害が広範囲に及ぶ場合はAD環境全体のフルリセットが必要 © Copyright Microsoft Corporation. All rights reserved. 46
  37. 完全な復旧が難しい  限られた予算での限定的な対応  事前に想定している障害対応予算を超える対応が必要となる場合がある  意図的な侵害からの回復に関する対応が十分ではない  よく見られる原因 

    調査が不十分  例:侵入者が設置した永続的な接続口、すでに侵害されているアカウントをすべて除去しきれていないれていなかっ た  例:フォレスト内の別のドメインの調査を実施していなかった  例:複数の脅威グループによる侵入をみつけきれていなかった  必要十分な対策、根本的な対策を実施していない  例:最初に乗っ取られたアカウントをリセット、ドメイン管理者やドメイン鍵 (krbtgt) リセットは実施していない  例:ドメインを再構築したが、運用を変更しなかった © Copyright Microsoft Corporation. All rights reserved. 47
  38. 事例:不十分なインシデント対応 第三者にドメイン内の複数のアカウントが不正に利用され、ドメインの鍵 (krbtgt) を 掌握されていた →対応を実施 • 第三者にログインされたと考えられるアカウントをリセット • KRBTGT

    をリセット* © Copyright Microsoft Corporation. All rights reserved. 49 クライアント アプリサーバー ドメイン コントローラ DCSync Administrators データベースサーバー 脆弱なサービス アカウント 不適切なオブジェクトのACL 残存していたアカウント 不適切なグループACL
  39. Active Directory 保護のベストプラクティス Active Directory のセキュリティ保護に関するベスト プラクティス | Microsoft Learn

    更新された Active Directory 保護のベストプラクティス  ハイブリッド環境前提で多層防御と侵入を前提としたモニタリングなどを推奨  ドメインコントローラは、インターネット接続の完全禁止を撤廃  フィルタなしやブラウザでのインターネット接続は引き続き非推奨だが、 例えば Defender for Identity で のID保護など、クラウドベースの保護技術、XDR活用で、オンプレミス環境の保護を推奨
  40. Active Directory の保護のポイント  Active Directory への攻撃可能な糸口を減らす  最低限の特権の管理モデルを実装する 

    セキュリティ保護された管理ホストを使用する  ドメイン コントローラーをセキュリティで保護する  侵害の兆候をモニタリングする  侵害が発生した場合の対応プランを計画する  セキュアな環境を維持する体制を整える © Copyright Microsoft Corporation. All rights reserved. 52
  41. Active Directory の保護のポイント  Active Directory への攻撃可能な糸口を減らす  最低限の特権の管理モデルを実装する 

    セキュリティ保護された管理ホストを使用する  ドメイン コントローラーをセキュリティで保護する  侵害の兆候をモニタリングする  侵害が発生した場合の対応プランを計画する  セキュアな環境を維持する体制を整える © Copyright Microsoft Corporation. All rights reserved. 53
  42. 最小限の特権管理:リスクの高いアカウント  多数のコンピューターに特権をもつアカウント  1 つのアカウントに複数のシステムに対する特権が付与されている  すべてのシステムで同じ資格情報を使用するローカル特権アカウント  特権ドメイン

    グループへの多すぎるユーザーの割り当て  Enterprise Admins、Domain Admins、Administrators などに多数のユーザーが含まれている  必要以上に割り当てられた高い特権  日常的な管理タスクに、必要以上に割り当てられた高い特権  ドメイン管理者以外の “特権” を持つアカウント  アカウント オペレータやサーバー オペレータ  ADFS, ADSync  “重要人物” (VIP) のアカウント  会社の機密情報にアクセスできるアカウントを持つ会社幹部  会社幹部が使用するコンピューターやアプリケーションの保守を担当するヘルプ デスク スタッフのアカウント  組織の入札や契約のドキュメントにアクセスできる法務担当者のアカウント  会社が製造する製品の種類に関係なく、会社の開発パイプラインでの製品の計画と仕様にアクセスできる製品プランナー  研究データ、製品の製法、または攻撃者が関心を持つその他の調査にアクセスできるアカウントを持つ研究者 © Copyright Microsoft Corporation. All rights reserved. 54 最低限の特権の管理モデルを実装する | Microsoft Learn
  43. まとめ • 企業組織への侵害、Active Directory ・ Hybrid 侵害の事例は 多くみられる • Active

    Directory 侵害の特徴を理解しすることが重要 1. 組織内での“乗っ取りアカウント” を中心として拡大する  ネットワーク、マルウェア観点、強いパスワード、アルゴリズムの対策だけでは対策が不十分  組織内の侵入者を前提とした ID 保護が重要 2. 侵入者の検出が困難  異常系の監視、イベントログ監視だけでは対応できない、ふるまい検出が必要 3. 復旧が困難  必要な復旧、事後対応ができていない場合、繰り返し被害に遭う • ハイブリッド環境を前提とした保護を保つことが重要 57 © Copyright Microsoft Corporation. All rights reserved.
  44. 参考資料  Active Directory のセキュリティ保護に関するベスト プラクティス  https://learn.microsoft.com/ja-jp/windows-server/identity/ad-ds/plan/security- best-practices/best-practices-for-securing-active-directory 

    アクセス管理に関するベストプラクティス  https://learn.microsoft.com/en-us/security/compass/overview  資格情報の保護と管理  https://learn.microsoft.com/ja-jp/windows-server/security/credentials- protection-and-management/credentials-protection-and-management © Copyright Microsoft Corporation. All rights reserved. 60