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
ゼロトラストペネトレにおける情報持ち出し戦術最前線
Search
Fire
October 04, 2025
0
47
ゼロトラストペネトレにおける情報持ち出し戦術最前線
Okayama Revengers LT #5での講演スライドです。
https://okayama-revengers.connpass.com/event/366345/
Fire
October 04, 2025
Tweet
Share
More Decks by Fire
See All by Fire
Azure Cloud ペンテスト入門(仮)
firefire2
0
890
OSCPでのActive Directory攻略
firefire2
3
2.4k
サイバーセキュリティの話 Ver.20210904
firefire2
1
540
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
54k
Optimizing for Happiness
mojombo
379
70k
The Illustrated Children's Guide to Kubernetes
chrisshort
49
51k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Six Lessons from altMBA
skipperchong
29
4k
Music & Morning Musume
bryan
46
6.8k
How GitHub (no longer) Works
holman
315
140k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
Facilitating Awesome Meetings
lara
56
6.6k
Designing Experiences People Love
moore
142
24k
Transcript
ゼロトラストペネトレにおける 情報持ち出し戦術最前線 Fire (@fire_fire_2) Okayama Revengers LT大会 #5 - 2025/10/04
2 ペネトレーションテスト(ペネトレ)とは? • 攻撃者目線で攻撃者と同様の攻撃手法を使って行う侵入テスト • 公開サーバへのペネトレ(Webサーバなど) • 空いているポートで使用しているサービスの脆弱性を悪用して侵入 • Webアプリの脆弱性、弱い認証情報、など
• 企業のOAネットワークへのペネトレ(AD環境、ゼロトラ環境など) • メールやWebページの閲覧により社員端末がマルウェアに感染したことによる侵入 を想定 • いわゆるAPT攻撃(持続的標的型攻撃)を想定した侵入テスト • ターゲット • 特権アカウント、ドメインコントローラ、機密情報(顧客情報や技術情報など)
ペネトレーションテスト(ペネトレ)とは? • ペネトレーションテストの流れ • ペネトレをする目的によりけりだが、目的によっては強いステルス性を求 められる • つまりセキュリティ製品に検知されにくい攻撃戦術を選択する必要がある • この発表では、ゼロトラスト環境特に法人向けMicrosoft365導入企業で
のステルス性の高い情報持ち出し手法を紹介します! 3 偵察 侵入 認証情報窃取 情報収集 権限昇格 横展開 データ 持ち出し
ゼロトラスト環境とは?(所説あり) • 情報へのアクセスの信頼性について、従来は外部ネットワーク内部ネット ワークというネットワーク境界を信頼するかしないかの最重要ポイントと していたものを、それだけではなくアクセスにつかうアカウントやそれに 紐づくメタデータ、アクセスに使ってる端末など、信頼をチェックするポ イントを多角的にしようとしている環境、またはそれを可能とするサービ スを指す • 簡単にいうと、会社のデータはクラウド上に保存しておき、クラウドの
IdPをつかってネットワークの信頼性にかかわらず情報にいい感じに安全 にアクセスできるようにしている環境 • Microsoft 365とかGoogle Workspaceとかで実現している組織の情報システム 4
ゼロトラスト環境の特徴は? • 一番の特徴は、「認証」 • MFA(Multi Factor Authentication)ってあるけど • パスワードによる認証 •
ワンタイムパスワードにより認証 • デバイスによる認証 • 会社のPCじゃないとそもそもアカウントにログインできなくする仕組み • デバイスポスチャという • パスワードとワンタイムパスワードを何らかの方法で突破されたとしてもログインできない 5
法人向けOneDriveを用いた情報持ち出し • いまのところ、以下の方法でデバイスポスチャによる認証制限を一部回避 し法人向けMicrosoft 365のOneDriveからデータを会社所有でないPCか らダウンロード可能 1. 持ち出したいファイルを会社のPCでOneDriveに保存 2. 会社のPCからOneDriveで利用するJWTを抽出
• これはブラウザでMicrosoft 365にアクセスすると通信で使用しているのでその JWTを盗る 3. 何らかの方法で会社所有でないPCにJWTを転送 • ただの文字列情報なので転送方法はいくらでもある 4. 会社所有でないPCでJWTを使ってMicrosoft Graph APIにアクセス 5. OneDrive上のファイルをダウンロード 6
• 法人向けMicrosoft 365のアプリ ケーションは基本的にMicrosoft Graph APIで構成されており、 OneDriveやOutlook上のデータの 操作や参照はこのAPIを通して行わ れる、APIを利用するときに認可に 使われるのがJWT
7 法人向けMicrosoft365環境でのJWT Microsoft Graph API (https://graph.microsoft.com/) ①GraphAPIのJWT要求 (EntraIDで認証) ②応答 (GraphAPI用のJWTが返る) ③GraphAPIを通してMS365にアクセス (Graph用のJWTで認可)
8 JWT窃取・悪用イメージ Microsoft Graph API (https://graph.microsoft.com/) ②GraphAPIのJWT要求 (EntraIDで認証) ③応答 (GraphAPI用のJWTが返る)
⑤GraphAPIを通してMS365にアクセス (Graph用のJWTで認可) ①会社PCに侵入 ④JWT窃取 Attacker
JWT窃取例 • OneDriveにアクセスするとMicrosoft Graph APIへのアクセスが発生し、 その通信にJWTが含まれている 9
Microsoft Graph Powershell SDK Module • Microsoft Graph APIを通して法人向けMicrosoft 365の参照と操作を行
うことができるPowershell Module • JWTを使ったログインとOneDrive上のデータのアクセス 10 > $graphToken = 'eyJ0eX..' > Connect-MgGraph –AccessToken ($graphToken | ConvertTo-SecureString -AsPlainText -Force) > Get-MgContext # アカウントを確認 > Get-MgUserDrive –UserId <上で確認したアカウント> # ドライブIdを確認 > Get-MgDriveItemChild –DriveId <ドライブId> -DriveItemId “root” #アイテムIdを確認 > Get-MgDriveItem -DriveId <ドライブId> -DriveItemId <アイテムId> | select * # AdditionalPropertiesの @microsoft.graph.downloadUrlのURLにアクセスするとファイルがダウン ロードされる
対策 • 現時点でJWT持ち出しによるファイルの外部持ち出しを制限する方法はな く、ログにもほとんど残らない • Microsoft 365製品ではDLP機能の一部としてAzure Information Protection(AIP)と呼ばれるデータの暗号化機能があるので、重要ファ イルは持ち出されても見られないように保護することが緩和策となる
11
Thank you. Any Questions? ※この資料の内容は作成時点での内容です。将来にわたって保証しません。 ※この講演における発言及び資料の内容は、個人の見解を含んでいます。 それらは、所属する企業や団体を代表するものではありません。 12