Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
raccoon — Salesforceオブジェクトアクセス監査ツール | Kitploit
ツール/GitHubGitHub/nccgroup/raccoon
クラウドインフラストラクチャセキュリティ脆弱性分析構成監査クラウドセキュリティアイデンティティ&アクセス管理 (IAM)設定ミスデータベースセキュリティ
GitHubnccgroup/raccoon

raccoon

Salesforceオブジェクトアクセス監査ツール

リポジトリを見る
1187203年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
ウェブサイト

Raccoon: Salesforce オブジェクトアクセス監査ツール

NCC Group Plc によりオープンソースとして公開 - https://www.nccgroup.com/

開発: Jerome Smith @exploresecurity(協力: Viktor Gazdag @wucpi)

https://www.github.com/nccgroup/raccoon

AGPL のもとで公開 - 詳細は LICENSE を参照。

説明

このツールは、指定されたオブジェクト群のすべてのレコードに対して、読み取り/編集/削除権限の何らかの組み合わせを持つプロファイルと権限セット(アクティブなユーザーがいるもの)を、その実効共有設定とオブジェクト設定に基づいて特定します。この出力から、機密データを保持するオブジェクトへの過剰なアクセスを許す可能性のある設定ミスを調査できます。背景については、付随するブログ記事 https://research.nccgroup.com/2021/06/28/are-you-oversharing-in-salesforce を参照してください。

結果は、Salesforce の設定を直接参照して手動で検証し、影響を受けるプロファイルおよび権限セットをテストすることをお勧めします。不一致が見つかった場合は、できるだけ詳しい情報を添えて issue を報告 してください。

使用方法

要件:

  • Python 3
  • Python の requests モジュール(requirements.txt に含まれています)
  • 以下の最小権限を持つアカウント:
    • 'API Enabled'
    • 'View Setup and Configuration'
    • 'Modify Metadata Through Metadata API Functions'('アカウント権限' の注記を参照)
    • 監査対象のすべてのオブジェクトに対する読み取り権限(または 'View All Data' 権限)
  • 認証には、username + password +(任意の)token または sessionId のいずれかを指定します(詳細は 認証 セクションを参照)。

JSON 設定ファイルを作成し(または config.json をテンプレートとして使用し)、必要に応じて入力します:

{
	"hostname": "somewhere.my.salesforce.com",
	"username": "",
	"password": "",
	"token": "<optional token>",
	"sessionId": "",
	"objects": ["Account", "Contact"],
	"checkLimits": true,
	"debug": <optional debug level (0, 1 or 2)>
}

objects は、対象とする Salesforce オブジェクト(つまり、最も重視するデータ)のリストです。正式な API 名を使用するのが最も確実な方法ですが、一致するものが見つからない場合、Raccoon は表示ラベルなどに基づいていくつかの単純な一致を試みます。それでも一致するものが見つからない場合、プログラムは続行されますが、出力でその旨が示されます。

checkLimits を使用すると、調査対象のインスタンスについて、24 時間のローリング期間内の API 呼び出しの残り許容量を確認できます。Raccoon はオブジェクトごとに比較的少数の呼び出しを行います(実行ごとの固定数に加えて)が、念のため、このパラメータを使用して事前に制限を確認できます。デフォルト値は true です。チェックポイントでの残りリクエスト数の合計は確定的ではありません。呼び出し数は、'Controlled by Parent' 共有モデルを持つオブジェクトの数に依存するためです。記載されている数値は、それらすべてが該当すると仮定した場合の最大値です。

実行:

git clone https://github.com/nccgroup/raccoon
pip3 install -r requirements.txt
python3 raccoon.py <config_file>

認証

ユーザー名とパスワードを使用する場合、セキュリティトークンも必要な場合があることに注意してください(定義されたネットワークアクセス範囲外の IP アドレスから接続する場合)。詳細については、この記事 を参照してください。

セッション ID を使用する代替方法は多くの場合に役立ちます:

  • シングルサインオン(Salesforce への直接ログインができない場合)
  • MFA が有効になっている
  • API トークンを取得するのが難しい(必要な場合)
  • ファイルに認証情報が誤って残されるのを防ぐ

セッション ID を取得するには:

  • Salesforce にログインし、必要に応じてクラシックモードに切り替える
  • ブラウザの開発者ツール(Inspect)を使用して Cookie を表示する
  • sid Cookie が複数ある場合があります。Domain 属性に my.salesforce.com または cloudforce.com が含まれているものを必ず取得してください

出力

サンプル出力(要約・匿名化済み):

Raccoon - Salesforce object access auditor
- version 1.0
- https://www.github.com/nccgroup/raccoon
* Refer to README for usage notes including important limitations *

Target instance: somewhere.my.salesforce.com
- Login successful

4,969,529 API requests can be sent to this instance from a 24-hour limit of 5,000,000
- Up to 33 further requests are required to complete (3 requests sent so far)
- Do you want to continue? Enter 'y' to proceed: y

Validating objects
- Found object 'Accounts' with API name 'Account'
- Found object 'Contact' with API name 'Contact'
- Found object 'Quotes' with API name 'Quote__c'
- Found object 'Quote Lines' with API name 'QuoteLine__c'

Evaluating 28 Profiles and 104 Permission Sets
- Profiles with active users: 15
- Permission Sets with active users: 67
- Ignoring 50 unused Profiles and Permission Sets

Global Sharing Overrides (ALL records for ALL objects)
------------------------------------------------------

  READ/EDIT/DELETE                           [C]ustom Active/Total [G]uest[E]xt[I]nt
  Profiles
  - System Administrator                              61/91                    [I]

  READ
  Profiles
  - Integration User                         [C]      1/1                      [I]
  - Analytics Cloud Integration User                  1/1                      [I]

Object Sharing (ALL records for EACH object)
--------------------------------------------

Account:
  Organization-wide default sharing
  - Internal: Public Read Only
  - External: <Undefined>

  READ/EDIT/DELETE                           [C]ustom Active/Total [G]uest[E]xt[I]nt
  Profiles
  - Integration User                         [C]      1/1                      [I]
  Permission Sets (* Groups)
  - Mulesoft Integration                     [C]      2/2                      [I]

  READ
  Profiles
  - Read Only                                [C]      192/199                  [I]
  - Sales User                               [C]      192/248                  [I]
  - Finance User                             [C]      16/20                    [I]
  - Standard User                                     6/3075                   [I]
  Permission Sets (* Groups)
  * Accounts PS Group                        [C]      36/39                    [I]
  - Sales Operations                         [C]      24/26                    [I]
  - SharePoint User                          [C]      3/4                      [I]

  Sharing Rules (manual check required):
  - Criteria-based rules configured
  - Ownership-based rules configured

Contact:
  Organization-wide default sharing
  - Internal: Controlled by Parent
  - External: <Undefined>
  Parent object: 'Account'
  - Internal: Public Read Only
  - External: <Undefined>

  READ/EDIT/DELETE                           [C]ustom Active/Total [G]uest[E]xt[I]nt
  Profiles
  - Integration User                                  1/1                      [I]
  Permission Sets (* Groups)
  - Mulesoft Integration                     [C]      2/2                      [I]

  READ
  Profiles
  - Read Only                                [C]      192/199                  [I]
  - Sales User                               [C]      192/248                  [I]
  - Finance User                             [C]      16/20                    [I]
  - Standard User                                     6/3075                   [I]
  Permission Sets (* Groups)
  - Sales Operations                         [C]      24/26                    [I]

Quote__c:
  Organization-wide default sharing
  - Internal: Public Read/Write
  - External: <Undefined>

  READ/EDIT                                  [C]ustom Active/Total [G]uest[E]xt[I]nt
  Profiles
  - Sales User                               [C]      192/248                  [I]

  READ
  Profiles
  - Finance User                             [C]      16/20                    [I]
  Permission Sets (* Groups)
  - Mulesoft Integration                     [C]      2/2                      [I]

QuoteLine__c:
  Organization-wide default sharing
  - Internal: Controlled by Parent
  - External: <Undefined>
  Parent object: 'Quote__c'
  - Internal: Public Read/Write
  - External: <Undefined>

  READ/EDIT/DELETE                           [C]ustom Active/Total [G]uest[E]xt[I]nt
  Profiles
  - Sales User                               [C]      192/248                  [I]

  READ
  Profiles
  - Finance User                             [C]      16/20                    [I]
  Permission Sets (* Groups)
  - Mulesoft Integration                     [C]      2/2                      [I]

Total API requests sent: 31

Raccoon は、出力の冗長性を減らすために、アクティブなユーザーがいるプロファイルと権限セットのみを調査します。これに関する情報が表示され、その後に以下が行われます:

  • まず「グローバル共有オーバーライド」が表示されます。これは、'View All Data' および 'Modify All Data' が許可されているプロファイルと権限セットが、すべてのオブジェクトに対する権限を持つためです。
  • 次に、各オブジェクトが順に監査されます。まず読み取り+編集+削除権限、次に読み取り+編集、最後に読み取りのみが考慮されます。プロファイルまたは権限セットは、出力内で一度だけリストされます(有効な権限の最上位セットを含むセクション内)。これは繰り返しを避けるためです。たとえば、'Modify All Data' を持つプロファイルは、指定されたすべてのオブジェクトに対して読み取り+編集+削除が可能であることは暗黙のうちに明らかであるため、「グローバル共有オーバーライド」の下にのみ表示され、各オブジェクトの結果にはリストされません。唯一の例外は、グローバルな 'View All Data' 権限を持つプロファイルまたは権限セットが、オブジェクトレベルでさらに編集/削除権限を有効にしている場合です。
  • 各オブジェクトについて、共有ルールの存在は強調表示されますが、それ以上の詳細は示されません。
ツールをダウンロード