
Entra ID と M365 向けの、ブラウザベースの GUI を備えた初期アクセスおよびポストエクスプロイテーションツール
________ _________
/ / by RedByte1337 __ / /
/ _____/___________ ______ | |__ / _____/_____ ______
/ \ __\_ __ \__ \ \____ \| | \ \_____ \\____ \ | |
\ \_\ \ | \/ __ \| |_> | \ \/ \ |_> \___ |
\______ /__| |____ | __/|___| /_______ / ___/ ____|
\/ \/|__| \/ \/|__| \/
以下では、依存関係の競合を避けるために pipx を使用した推奨インストール手順を説明します。
GraphSpy はすべてのオペレーティングシステムで動作するように作られていますが、主に Linux と Windows でテストされています。
その他のインストール方法や詳細な手順については、Wiki の インストールページ を参照してください。
# Install pipx (skip this if you already have it)
apt install pipx
pipx ensurepath
# Install the latest version of GraphSpy from pypi
pipx install graphspy
インストール後、システム上の任意の場所から graphspy コマンドでアプリケーションを起動できます。
コマンドライン引数なしで GraphSpy を実行すると、デフォルトで http://127.0.0.1:5000 で利用可能な状態で起動します。
graphspy
あとはお気に入りのブラウザで http://127.0.0.1:5000 を開くだけですぐに使い始められます!
-i および -p 引数を使用して、待ち受けるインターフェースとポートを変更できます。
# Run GraphSpy on http://192.168.0.10
graphspy -i 192.168.0.10 -p 80
# Run GraphSpy on port 8080 on all interfaces
graphspy -i 0.0.0.0 -p 8080
詳細な手順やその他のコマンドライン引数については、Wiki の 実行ページ を参照してください。
完全な使用法の詳細については、GitHub Wiki を参照してください。
機能の簡単な概要については、公式リリースブログ記事 をご覧ください。
GraphSpy に貢献する場合や内部を変更する場合は、ここから始めてください:
複数のユーザーとスコープのアクセストークンとリフレッシュトークンを 1 か所に保存できます。


それらを簡単に切り替えたり、任意のページから新しいアクセストークンを要求したりできます。

複数のデバイスコードを一度に簡単に作成およびポーリングできます。ユーザーがデバイスコードで認証すると、GraphSpy はアクセストークンとリフレッシュトークンを自動的にデータベースに保存します。

デバイスコード認証が成功した直後に実行される自動アクションを設定できます。

ユーザーのアカウントにリンクされた MFA メソッドを表示、変更、作成できます。

GraphSpy から以下の MFA メソッドを追加して、永続化を設定できます:

GraphSpy 内でプライマリリフレッシュトークンを要求、インポート、または使用できます。
これらの PRT は通常のリフレッシュトークンよりもはるかに強力です。特定の 1 つのアプリケーションにバインドされておらず、ユーザーとして任意のアプリケーション/スコープ (FOCI と非 FOCI の両方) のアクセストークンを取得するために使用できるためです。

さらに、これらの PRT トークンを使用して PRT クッキーを生成できます。これはブラウザに直接インポートして、Entra ID SSO と統合された任意の Web アプリケーションへの完全な対話型アクセスを提供できます。

GraphSpy でユーザーとデバイスの組み合わせに対する Windows Hello For Business (whfb) キーを登録したり、別のツールや侵害されたデバイスからインポートしたりできます。
これらの WinHello キーは、パスワードリセット後でもユーザーの新しいプライマリリフレッシュトークンを生成するために使用できるため、非常に強力なアカウント永続化手段となります!

直感的なファイルエクスプローラーインターフェースを通じて、ユーザーの OneDrive またはアクセス可能な SharePoint サイト内のファイルとフォルダーを閲覧できます。
もちろん、ファイルを直接ダウンロードしたり、新しいファイルをアップロードしたりすることもできます。

さらに、ユーザーが最近アクセスしたファイルや、ユーザーと共有されたファイルを一覧表示できます。

Outlook アクセストークン (FOCI) だけで、ワンクリックでユーザーの Outlook Web メールを開けます!


または、Outlook Graph モジュールを使用して、MS Graph API のアクセストークンだけでメールの一覧表示、読み取り、検索、削除、返信、送信ができます!

GraphSpy 内で完全に HTML 形式のメールを作成し、画像や添付ファイルを含めることができます。

skype API (https://api.spaces.skype.com/) の FOCI アクセストークンを使用して、Microsoft Teams モジュールでメッセージを読み取りおよび送信できます。

Microsoft Search API を使用して、すべての Microsoft 365 アプリケーションでキーワードを検索できます。
たとえば、「password」「secret」などのキーワードを含むファイルやメールを検索するために使用できます。

GraphSpy に保存されているアクセストークンを使用して、任意のエンドポイントに対してカスタム API リクエストを実行できます。

変数を含むカスタムリクエストテンプレートをデータベースに保存して、一般的なカスタム API リクエストを簡単に再利用できます。

Microsoft Graph API を使用して、すべての Entra ID ユーザーとそのプロパティを一覧表示できます。

ユーザーのグループメンバーシップ、ロールの割り当て、デバイス、アプリロール、API アクセス許可などの追加の詳細を表示できます。

GraphSpy は複数のデータベースをサポートしています。これは、複数の評価を同時に進める際に、トークンとデバイスコードを整理しておくのに役立ちます。

デフォルトでダークモードを使用するか、ライトモードに切り替えることができます。
GitHub Wiki の リリースノート ページを参照してください
あなたやあなたの組織が、このプロジェクトの主要スポンサーとしてここに掲載されたり、GraphSpy 自体の中で言及されたりしたいですか? それとも、単に GraphSpy が気に入って私の活動を支援したいですか?
私の スポンサーページ をご覧ください。
スポンサーになる手段はないが、感謝の気持ちを示したい場合は、代わりにスターを追加してください。 ⭐
GraphSpy を作成した主な動機は、アクセストークンだけで Office365 アプリケーション (Outlook、Microsoft Teams、OneDrive、SharePoint など) を対象とした侵害後の活動を実行する、使いやすい方法が存在しなかったことです。
基本的な機能を提供するコマンドラインツールはいくつか存在しましたが、元のアプリケーションが提供する直感的な対話型エクスペリエンス (OneDrive や SharePoint のファイルエクスプローラーのようなインターフェースなど) に匹敵するものはありませんでした。
しかし、これまでに数え切れないほどの人々によって多くの先行研究が行われてきました (特にデバイスコードフィッシングに関するもの。これがそもそもこのようなツールの初期要件につながりました)。