Skip to content
KitploitKITPLOIT
ИнструментыБлог
Log in
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
raccoon — Salesforce object access auditor | Kitploit
Инструменты/GitHubGitHub/nccgroup/raccoon
Безопасность облачной инфраструктурыАнализ уязвимостейАудит конфигурацииБезопасность облачных средУправление идентификацией и доступом (IAM)Неправильная КонфигурацияБезопасность Баз Данных
GitHubnccgroup/raccoon

raccoon

Salesforce object access auditor

Репозиторий
1187203 лет назадПроверено Kitploit
Сайт

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Raccoon: аудитор доступа к объектам Salesforce

Выпущен как open source компанией NCC Group Plc - https://www.nccgroup.com/

Разработан Джеромом Смитом @exploresecurity (благодарности Виктору Газдагу @wucpi)

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

Выпущен под лицензией AGPL - подробнее см. в LICENSE.

Описание

Этот инструмент определяет, какие профили и наборы разрешений (с активными пользователями) имеют некую комбинацию прав чтения/редактирования/удаления для ВСЕХ записей заданного набора объектов, исходя из их фактических настроек общего доступа и объектов. По этому результату можно исследовать ошибки конфигурации, которые потенциально допускают чрезмерный доступ к объектам, содержащим чувствительные данные. Справочные материалы см. в сопутствующей публикации в блоге: https://research.nccgroup.com/2021/06/28/are-you-oversharing-in-salesforce.

Рекомендуется проверять результаты вручную с непосредственным обращением к конфигурации Salesforce и/или тестированием затронутых профилей и наборов разрешений. При обнаружении расхождений, пожалуйста, сообщите о проблеме с максимально возможным количеством деталей.

Использование

Требования:

  • 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 попробует некоторые простые варианты сопоставления, например по отображаемой подписи. Если Raccoon по-прежнему не сможет найти совпадение, программа продолжит работу, но отметит это в выводе.

checkLimits позволяет проверить остаток лимита вызовов API для исследуемого экземпляра в рамках 24-часового скользящего периода. Raccoon выполняет относительно немного вызовов на объект (плюс фиксированное число за запуск), однако, из вежливости, этот параметр позволяет проверить лимиты перед началом работы. Значение по умолчанию — true. Общее количество возможных оставшихся запросов в контрольной точке не является точным, поскольку число вызовов зависит от того, у скольких объектов модель общего доступа 'Controlled by Parent'. Указанное число предполагает, что таких объектов все, и поэтому является максимальным.

Запуск:

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

Аутентификация

При использовании имени пользователя и пароля учтите, что также может потребоваться токен безопасности (если подключение выполняется с IP-адреса вне заданных диапазонов Network Access). Дополнительные сведения см. в этой статье.

Использование альтернативы с идентификатором сессии полезно во многих случаях:

  • Единый вход, т.е. прямой вход в Salesforce невозможен
  • Применяется MFA
  • Проблемы с получением API-токена (когда он нужен)
  • Исключает случайное оставление учётных данных в файле

Чтобы получить идентификатор сессии:

  • Войдите в Salesforce и при необходимости переключитесь в классический режим
  • С помощью инструмента Inspect браузера отобразите cookie-файлы
  • Иногда существует несколько cookie sid: убедитесь, что вы берёте ту, чей атрибут 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>
Скачать инструмент