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

フルクラウド環境下でのペネトレーションテスト

Yuya Asato
July 20, 2024
1.1k

 フルクラウド環境下でのペネトレーションテスト

2022/07/19(金)に行われたPentestSecJP Ver1の登壇資料です。
Event URL: https://pentestsecjp.connpass.com/event/317082/

Yuya Asato

July 20, 2024
Tweet

Transcript

  1. P-2 プロフィール 安⾥ 悠⽮ @328__ 所属: GMOサイバーセキュリティ byイエラエ株式会社 オフェンシブセキュリティ部 ペネトレーションテスト課

    業務領域: ペネトレーションテスト / レッドチーム Web脆弱性診断 / クラウドセキュリティ診断 コミュニティ: PentestSecJP: コアメンバー JAWS-UG 沖縄 コアメンバー 資格: yuyaasato
  2. P-5 フルクラウド環境とは︖ ・社内ネットワークそのものがない (あるいは社内に情報資産と呼べるものがほとんどない) ・オンプレミスのActive Directory / VPN もない ・Microsoft

    EntraなどのクラウドベースのIdPを中⼼にした構成 ・エンドポイント端末の管理を含めて全てがSaaSを使⽤ "DUJWF%JSFDUPSZ 'JMF4FSWFS 8JLJ $IBU ϑϧΫϥ΢υ 440 4BB4"QQT .JDSPTPGU&OUSB .JDSPTPGU&OUSB ΦϯϓϨϛεࣾ಺ωοτϫʔΫ 440 4BB4"QQT
  3. P-9 エンドポイント端末からフルクラウド環境の攻撃経路 ・クラウド環境を調査する上でやることは 環境構成の把握 / 構成ミス調査 / Credential収集・使⽤の繰り返し シナリオベースのペネトレーションテストの⼀例 ・ファイル収集

    ・PRT(Primary Refresh Token)の悪⽤ ・ブラウザセッションのダンプ ・User /Group / SSO Apps / 条件付きアクセスポリシー の収集 ・Dynamic Groupの条件設定ミスの調査 ・環境構成 / Credentialの収集 ・サービスのInvite Tokenの収集 ・Google Groupの参加権限設定ミス ・ドキュメント情報の収集 ・ハードコードCredentialの収集 ・CI/CD Pipelineの悪⽤による Product Serviceへのアクセス確⽴ ※ 攻撃経路/⼿法は多数ありますが、かなり簡略化してます。 4BMFT6TFS" "MM6TFST 4BMFT(SPVQ %FW0QT(SPVQT .JDSPTPGU&OUSB %FW0QT'VMM"DDFTT 4BMFT$SFBUF*TTVF $IBU5PPMT $PEF3FQPTJUPSZ $PMBCPMBUJPO5PPMT 1SPEVDU4FSWJDF %FNP 1SPEVDU4FSWJDF 1SPE "840SH.BTUFS"DDPVOU
  4. P-10 エンドポイント端末からフルクラウド環境の攻撃経路 ・クラウド環境を調査する上でやることは 環境構成の把握 / 構成ミス調査 / Credential収集・使⽤の繰り返し シナリオベースのペネトレーションテストの⼀例 ・ファイル収集

    ・PRT(Primary Refresh Token)の悪⽤ ・ブラウザセッションのダンプ ・User /Group / SSO Apps / 条件付きアクセスポリシー の収集 ・Dynamic Groupの条件設定ミスの調査 ・環境構成 / Credentialの収集 ・サービスのInvite Tokenの収集 ・Google Groupの参加権限設定ミス ・ドキュメント情報の収集 ・ハードコードCredentialの収集 ・CI/CD Pipelineの悪⽤による Product Serviceへのアクセス確⽴ ※ 攻撃経路/⼿法は多数ありますが、かなり簡略化してます。 4BMFT6TFS" "MM6TFST 4BMFT(SPVQ %FW0QT(SPVQT .JDSPTPGU&OUSB %FW0QT'VMM"DDFTT 4BMFT$SFBUF*TTVF $IBU5PPMT $PEF3FQPTJUPSZ $PMBCPMBUJPO5PPMT 1SPEVDU4FSWJDF %FNP 1SPEVDU4FSWJDF 1SPE "840SH.BTUFS"DDPVOU 参考: Azure AD参加端末におけるPRT (Primary Refresh Token)悪⽤の リスクと対策について - GMOイエラエブログ https://gmo-cybersecurity.com/blog/azuread-prt/ Microsoft Entra IDにデバイスを参加させると、 Office / Outlook、Edgeでのログインに使⽤できるSSOに使⽤する PRT(Primary Refesh Token)が発⾏され、端末に保管される。 Pass The PRT DLLを呼び出してPRTからlogin.microsoftonline.comで使⽤できる Cookieを作成して攻撃者の端末で使⽤することも可能。 パスワードとMFAデバイスを攻撃者が所有せずとも Microsoft Entra IDと連携したアプリケーションにログインが可能。 基本的にブラウザセッションのダンプとPass The PRTを⾏い、 アクセス可能なクラウドサービスから情報を収集していく。
  5. P-11 エンドポイント端末からフルクラウド環境の攻撃経路 ・クラウド環境を調査する上でやることは 環境構成の把握 / 構成ミス調査 / Credential収集・使⽤の繰り返し シナリオベースのペネトレーションテストの⼀例 ・ファイル収集

    ・PRT(Primary Refresh Token)の悪⽤ ・ブラウザセッションのダンプ ・User /Group / SSO Apps / 条件付きアクセスポリシー の収集 ・Dynamic Groupの条件設定ミスの調査 ・環境構成 / Credentialの収集 ・サービスのInvite Tokenの収集 ・Google Groupの参加権限設定ミス ・ドキュメント情報の収集 ・ハードコードCredentialの収集 ・CI/CD Pipelineの悪⽤による Product Serviceへのアクセス確⽴ ※ 攻撃経路/⼿法は多数ありますが、かなり簡略化してます。 4BMFT6TFS" "MM6TFST 4BMFT(SPVQ %FW0QT(SPVQT .JDSPTPGU&OUSB %FW0QT'VMM"DDFTT 4BMFT$SFBUF*TTVF $IBU5PPMT $PEF3FQPTJUPSZ $PMBCPMBUJPO5PPMT 1SPEVDU4FSWJDF %FNP 1SPEVDU4FSWJDF 1SPE "840SH.BTUFS"DDPVOU 参考: AZURE AD GRAPH APIを介した条件付きアクセスポリシーの改ざん – Secureworks https://www.secureworks.jp/research/tampering-with-conditional-access-policies-using-azure-ad- graph-api 参考: Abusing dynamic groups in Azure AD for privilege escalation - mnemonic https://www.mnemonic.io/resources/blog/abusing-dynamic-groups-in-azure-ad-for-privilege- escalation/ User / Group / Device / 誰が管理者権限を持っているかをMicrosoft Graph APIなどで収集していく。 (ポータルの閲覧権限があれば画⾯から⾒ ていく) 条件付きアクセスポリシーはAzure AD Graph APIなら管理者権限がなく ても閲覧が可能。環境内からCredentialを取得した時に、MFAをbypassで きる余地がないかを確認していく。 Dynamic Groupは、ゲストユーザの参加と組み合わせて特定のグループへ ⾃動参加できる余地がないかを⾒ていく。
  6. P-12 エンドポイント端末からフルクラウド環境の攻撃経路 ・クラウド環境を調査する上でやることは 環境構成の把握 / 構成ミス調査 / Credential収集・使⽤の繰り返し シナリオベースのペネトレーションテストの⼀例 ・ファイル収集

    ・PRT(Primary Refresh Token)の悪⽤ ・ブラウザセッションのダンプ ・User /Group / SSO Apps / 条件付きアクセスポリシー の収集 ・Dynamic Groupの条件設定ミスの調査 ・環境構成 / Credentialの収集 ・サービスのInvite Tokenの収集 ・Google Groupの参加権限設定ミス ・ドキュメント情報の収集 ・ハードコードCredentialの収集 ・CI/CD Pipelineの悪⽤による Product Serviceへのアクセス確⽴ ※ 攻撃経路/⼿法は多数ありますが、かなり簡略化してます。 4BMFT6TFS" "MM6TFST 4BMFT(SPVQ %FW0QT(SPVQT .JDSPTPGU&OUSB %FW0QT'VMM"DDFTT 4BMFT$SFBUF*TTVF $IBU5PPMT $PEF3FQPTJUPSZ $PMBCPMBUJPO5PPMT 1SPEVDU4FSWJDF %FNP 1SPEVDU4FSWJDF 1SPE "840SH.BTUFS"DDPVOU 参考:グループメールの設定ミスによるAWSアカウントの乗っ取りと対策 - GMOイエラエ https://gmo-cybersecurity.com/blog/aws-account-hijacking-due-to-misconfiguration-of-group- mail/ ビジネス向け Google Groupの設定で、 デフォルトでグループに⾃由に参加できるようになっている。 グループに参加してメールの閲覧ができるので、クラウドアカウントのパス ワードリセットを⾏うほか、紐づいたドキュメントにも アクセスできるようになる。
  7. P-13 エンドポイント端末からフルクラウド環境の攻撃経路 ・クラウド環境を調査する上でやることは 環境構成の把握 / 構成ミス調査 / Credential収集・使⽤の繰り返し シナリオベースのペネトレーションテストの⼀例 ・環境構成

    / Credentialの収集 ・サービスのInvite Tokenの収集 ・Google Groupの参加権限設定ミス ・ドキュメント情報の収集 ・ハードコードCredentialの収集 ・CI/CD Pipelineの悪⽤による Product Serviceへのアクセス確⽴ ※ 攻撃経路/⼿法は多数ありますが、かなり簡略化してます。 4BMFT6TFS" "MM6TFST 4BMFT(SPVQ %FW0QT(SPVQT .JDSPTPGU&OUSB %FW0QT'VMM"DDFTT 4BMFT$SFBUF*TTVF $IBU5PPMT $PEF3FQPTJUPSZ $PMBCPMBUJPO5PPMT 1SPEVDU4FSWJDF %FNP 1SPEVDU4FSWJDF 1SPE "840SH.BTUFS"DDPVOU 過去にコミットされたログからCredential探したり GitHub ActionやPipelineの構成不備 / Branch Protection Ruleの Bypass を悪⽤して本番環境のコードを汚染する。 manifest改ざんによるSecretsの取得。 本番デプロイ⽤のアクセスキーが取得できれば 本番環境へのアクセスに利⽤できる。
  8. P-15 フルクラウド環境でのペネトレーションテストの課題 ・IDと権限の管理が綺麗に整理されていると、他のSaaSから情報は得られても 本番環境へのアクセスパスが確⽴しない。 ・元々のスコープを考えると安全にも思えるが、 このテストではAWSアカウントのIAMロールの設定状況とかは⾒えてない。 4BMFT6TFS" "MM6TFST 4BMFT(SPVQ %FW0QT(SPVQT

    .JDSPTPGU&OUSB %FW0QT'VMM"DDFTT 4BMFT$SFBUF*TTVF $IBU5PPMT $PEF3FQPTJUPSZ $PMBCPMBUJPO5PPMT 1SPEVDU4FSWJDF %FNP 1SPEVDU4FSWJDF 1SPE "840SH.BTUFS"DDPVOU 設定ミスなし! ・Credentialなし! ・Workflowの不備もなし! ・Secret Scanも実装済み ・CI・CD Pipelineの構成ミスなし ・グループ設定の不備もなし! ・社内ドキュメントの権限管理も徹底され てる。 ・本番環境に到達できないので、 IAMロールの設定不備とかは⾒れてない。
  9. P-16 フルクラウド環境でのペネトレーションテストの課題 ・シナリオベース / ブラックボックステストにこだわりすぎると 時間かける割にあまり課題を探しきれない。 ・元々の起点となる端末の権限を使って⾒れるだけの評価になり、 ブラックボックスでは情報収集に時間をかけすぎてしまったり、 ⾒れない設定等は多々ある。 なので、本番環境へのアクセス経路があっても、

    到達せずにテストが終了する場合もある。 ・顧客⽬線だと脆弱性や改善項⽬が⾒えず費⽤対効果が悪い。 ・テスターとしてもやれることはやったと胸をはって⾔いづらい。 ・解決策として、設定確認⽤の⾼権限アカウントもセットで⽤意いただいて テストをしていくほうが効率は良い。課題の検出件数ははるかに上がる。
  10. END