Skip to content
KitploitKITPLOIT
OutilsBlog
Log in
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
raccoon — Salesforce object access auditor | Kitploit
Outils/GitHubGitHub/nccgroup/raccoon
Sécurité de l'Infrastructure CloudAnalyse des VulnérabilitésAudit de ConfigurationSécurité CloudGestion des Identités et des Accès (IAM)Mauvaise ConfigurationSécurité des Bases de Données
GitHubnccgroup/raccoon

raccoon

Salesforce object access auditor

Voir le dépôt
118720il y a 3 ansVérifié par Kitploit
Site web

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Raccoon : auditeur d'accès aux objets Salesforce

Publié en open source par NCC Group Plc - https://www.nccgroup.com/

Développé par Jerome Smith @exploresecurity (avec remerciements à Viktor Gazdag @wucpi)

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

Publié sous licence AGPL - se référer au fichier LICENSE pour plus d'informations.

Description

Cet outil détermine quels Profils et Ensembles d'autorisations (avec utilisateurs actifs) disposent d'une combinaison de permissions en lecture/édition/suppression sur TOUS les enregistrements d'un ensemble donné d'objets, sur la base de leurs paramètres de partage et d'objets effectifs. À partir de cette sortie, il est possible d'étudier les erreurs de configuration qui permettent potentiellement un accès excessif aux objets contenant des données sensibles. Reportez-vous à l'article de blog associé pour le contexte à https://research.nccgroup.com/2021/06/28/are-you-oversharing-in-salesforce.

Il est recommandé de vérifier manuellement les résultats en se référant directement à la configuration Salesforce et/ou en testant les Profils et Ensembles d'autorisations concernés. En cas de divergence, veuillez ouvrir un ticket avec le plus de détails possible.

Utilisation

Prérequis :

  • Python 3
  • Le module Python requests (couvert par requirements.txt)
  • Un compte disposant des permissions minimales suivantes :
    • 'API Enabled'
    • 'View Setup and Configuration'
    • 'Modify Metadata Through Metadata API Functions' (voir la note sur 'Permissions du compte')
    • Permission en lecture sur tous les objets à auditer (ou accorder 'View All Data')
  • Pour l'authentification, fournissez SOIT username + password + (facultatif) token SOIT sessionId (plus de détails dans la section Authentification).

Créez un fichier de configuration JSON (ou utilisez config.json comme modèle) et remplissez-le selon vos besoins :

{
	"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 est une liste d'objets Salesforce d'intérêt (c'est-à-dire les données qui vous importent le plus). L'utilisation des noms d'API officiels est la méthode la plus fiable, mais si aucune correspondance n'est trouvée, Raccoon tentera des correspondances simples basées, par exemple, sur le libellé d'affichage. Si Raccoon ne trouve toujours pas de correspondance, le programme continuera mais signalera ce problème dans sa sortie.

checkLimits vous permet de vérifier le quota d'appels API restants pour l'instance étudiée au cours de la période glissante de 24 heures. Raccoon effectue relativement peu d'appels par objet (en plus d'un nombre fixe par exécution) mais, par courtoisie, ce paramètre vous permet de vérifier vos limites avant de continuer. La valeur par défaut est true. Le nombre total de requêtes éventuellement restantes au point de contrôle n'est pas certain, car le nombre d'appels dépendra du nombre d'objets dotés d'un modèle de partage 'Controlled by Parent'. Le nombre indiqué suppose qu'ils en ont tous et constitue donc un maximum.

Exécutez :

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

Authentification

Lorsqu'un nom d'utilisateur et un mot de passe sont utilisés, notez qu'un jeton de sécurité peut également être requis (si la connexion provient d'une adresse IP hors des plages d'accès réseau définies). Reportez-vous à cet article pour plus d'informations.

L'alternative consistant à utiliser l'ID de session est utile dans de nombreux cas :

  • Authentification unique (single sign-on), c'est-à-dire qu'une connexion directe à Salesforce n'est pas possible
  • MFA est obligatoire
  • Difficulté à obtenir un jeton API (si nécessaire)
  • Évite que des identifiants soient laissés par accident dans un fichier

Pour obtenir l'ID de session :

  • Connectez-vous à Salesforce et passez en mode Classic si nécessaire
  • Utilisez l'outil Inspect du navigateur pour afficher les cookies
  • Il y a parfois plusieurs cookies sid : assurez-vous de prendre celui dont l'attribut Domain inclut my.salesforce.com ou cloudforce.com

Sortie

Exemple de sortie (abrégée et anonymisée) :

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]
Télécharger l’outil