GDir-Thief
ターゲット組織のGoogle People Directoryにアクセス権を持つレッドチームツール。Google People APIを介して情報を窃取します。
使い方
API接続に必要なGoogle APIアクセストークンを取得する手順
- バーナー用のGmail/Googleアカウントを作成する
- そのアカウントにログインする
- Google Cloud Console に移動する
- 「Google Cloud Platform」の横にある「下矢印」をクリックします。現在のプロジェクト一覧が表示されます。
- 「新しいプロジェクト」をクリックします。「新しいプロジェクト」画面が表示されます。
- 「プロジェクト名」フィールドに、プロジェクトの説明的な名前を入力します。
- (省略可)「プロジェクトID」を編集するには「編集」をクリックします。プロジェクトIDは作成後に変更できないため、プロジェクトの存続期間中に適したIDを選択してください。
- 「作成」をクリックします。コンソールはダッシュボードページに移動し、数分以内にプロジェクトが作成されます。
Google Workspace APIを有効にする
- 「Google Cloud Platform」の横にある「下矢印」をクリックし、ドロップダウンリストから作成したプロジェクトを選択します。
- 左上隅の「メニュー」>「APIとサービス」をクリックします。
- 「APIとサービスの有効化」をクリックします。「APIライブラリへようこそ」ページが表示されます。
- 検索フィールドに「People」と入力します。
- 有効にするAPIをクリックします。APIページが表示されます。
- 「有効にする」をクリックします。「概要」ページが表示されます。
OAuth同意画面を構成する
- 概要ページの左側で「認証情報」をクリックします。プロジェクトの認証情報ページが表示されます。
- 「同意画面の構成」をクリックします。「OAuth同意画面」画面が表示されます。
- アプリのユーザータイプとして「外部」をクリックします。
- 「作成」をクリックします。2つ目の「OAuth同意画面」画面が表示されます。
- フォームに入力します:
- 「アプリ名」フィールドにアプリケーション名を入力します
- 「ユーザーサポートメール」フィールドにバーナーメールアドレスを入力します
- 「デベロッパーの連絡先情報」フィールドにバーナーメールアドレスを入力します
- 「保存して次へ」をクリックします。「スコープ」ページが表示されます。
- 「スコープの追加または削除」をクリックします。「選択したスコープの更新」ページが表示されます。
- アプリで使用するすべての「Google People」スコープをオンにします。
- 「更新」をクリックします。アプリのスコープ一覧が表示されます。
- 「保存して次へ」をクリックします。「アプリ登録の編集」ページが表示されます。
- 「保存して次へ」をクリックします。「OAuth同意画面」が表示されます。
認証情報を作成する
- 「認証情報を作成」をクリックし、「OAuthクライアントID」を選択します。「OAuthクライアントIDの作成」ページが表示されます。
- アプリケーションタイプのドロップダウンリストをクリックし、「デスクトップアプリケーション」を選択します。
- 「名前」フィールドに認証情報の名前を入力します。この名前はCloud Consoleにのみ表示されます。
- 「作成」をクリックします。OAuthクライアント作成画面が表示されます。この画面には「クライアントID」と「クライアントシークレット」が表示されます。
- 「OK」をクリックします。新しく作成された認証情報が「OAuth 2.0 クライアントID」の下に表示されます。
- 新しく作成されたOAuth 2.0クライアントIDの右側にある「ダウンロード」ボタンをクリックします。これにより、クライアントシークレットのJSONファイルがデスクトップにコピーされます。このファイルの場所をメモしておきます。
- クライアントシークレットJSONファイルの名前を「credentials.json」に変更し、
gdir_thief/credentialsディレクトリに移動します。
被害者のGoogleアカウントをアプリケーションのテストユーザーに追加する
このスクリプトを被害者に対して実行するには、作成したアプリのテストユーザーリストに被害者のGoogleアカウントを追加する必要があります。
- 画面左側の「OAuth同意画面」をクリックします。「OAuth同意画面」ページが表示されます。
- 「テストユーザー」の下にある「ユーザーを追加」ボタンをクリックします。
- 「メールアドレス」フィールドに被害者のGmailアドレスを入力します。
- 「保存」ボタンをクリックします。
gdir_thiefの初回実行時
ターゲットのGoogleアカウントにアクセスできたら、gdir_thiefを実行できます。
- gdir_thiefの初回実行時、スクリプトは新しいウィンドウを開き、データへのアクセスを許可するよう促します:
- Googleアカウントにまだログインしていない場合は、ログインを求められます。複数のGoogleアカウントにログインしている場合は、認証に使用するアカウントを1つ選択するよう求められます。必ず被害者のGoogleアカウントを選択してください。
依存関係
Google APIライブラリ: pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib
使用方法:
使用方法:
python3 gdir_thief.py [-h]
ヘルプ:
このモジュールはアクセストークンを使用してGoogle People APIに接続し、組織のPeopleディレクトリを窃取します。
結果はCSVファイルとして ./loot/directory.csv に出力されます。