Skip to content
KitploitKITPLOIT
OutilsBlog
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é.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
slack-watchman — Outil d'énumération Slack et de détection de secrets exposés | Kitploit
Outils/GitHubGitHub/papermtn/slack-watchman
Outils DéfensifsOSINT (Renseignement de Sources Ouvertes)ReconnaissanceCollecte d'InformationsDétection de SecretsRed Teaming
GitHubpapermtn/slack-watchman

slack-watchman

Outil d'énumération Slack et de détection de secrets exposés

Voir le dépôt
40448il y a 3 moisVérifié par Kitploit

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

Slack Watchman

Python 2.7 and 3 compatible PyPI version License: MIT

Surveillance et énumération des secrets exposés dans Slack

À propos de Slack Watchman

Slack Watchman est une application qui utilise l'API Slack pour détecter les données potentiellement sensibles exposées dans un espace de travail Slack, et pour énumérer d'autres informations utiles pour les équipes rouge, bleue et violette.

Vous trouverez plus d'informations sur Slack Watchman sur mon blog.

Fonctionnalités

Détection de secrets

Slack Watchman recherche :

  • Clés API, jetons et comptes de service
    • AWS, Azure, GCP, Google API, Slack (clés et webhooks), Twitter, Facebook, GitHub et plus encore
    • Clés privées génériques
    • Jetons d'accès, jetons Bearer, secrets client, jetons privés
  • Fichiers
    • Fichiers de certificats
    • Fichiers potentiellement intéressants/malveillants/sensibles (.docm, .xlsm, .zip, etc.)
    • Fichiers exécutables
    • Fichiers de trousseau (keychain)
    • Fichiers de configuration pour les services populaires (Terraform, Jenkins, OpenVPN et plus encore)
  • Données personnelles
    • Mots de passe divulgués
    • Numéros de passeport, dates de naissance, numéros de sécurité sociale, numéros d'assurance nationale, etc.
  • Données financières
    • Jetons Paypal Braintree, détails de carte bancaire, numéros IBAN, numéros CUSIP, etc.

Recherche par période

Vous pouvez exécuter Slack Watchman pour rechercher des résultats en remontant jusqu'à :

  • 24 heures
  • 7 jours
  • 30 jours
  • Tout l'historique

Énumération

Il énumère également les éléments suivants :

  • Données utilisateur
    • Tous les utilisateurs et tous les administrateurs
  • Données de conversation
    • Toutes les conversations, y compris les conversations partagées en externe
    • Toutes les conversations qui incluent un Slack Canvas (qui contiennent souvent des informations sensibles ou importantes)
  • Options d'authentification de l'espace de travail

Cela signifie qu'après une analyse approfondie, vous pouvez planifier l'exécution régulière de Slack Watchman et ne récupérer que les résultats de la période choisie.

Sondage non authentifié

Vous pouvez exécuter Slack Watchman en mode sondage non authentifié pour énumérer les options d'authentification et d'autres informations sur un espace de travail. Ce mode ne nécessite pas de jeton et renvoie :

  • Nom de l'espace de travail
  • ID de l'espace de travail
  • Domaines approuvés (qui peuvent créer des comptes)
  • Fournisseurs OAuth
  • Statut d'authentification SSO
  • Exigences en matière de double authentification

Pour exécuter ce mode, utilisez Slack Watchman avec l'option --probe et le domaine de l'espace de travail à sonder :

root@kitploit:~
slack-watchman --probe https://domain.slack.com

Signatures

Slack Watchman utilise des signatures YAML personnalisées pour détecter les correspondances dans Slack. Ces signatures sont extraites du dépôt central Watchman Signatures. Slack Watchman met automatiquement à jour sa base de signatures au moment de l'exécution afin de garantir l'utilisation des dernières signatures pour détecter les secrets.

Désactivation des signatures

Vous pouvez définir les signatures que vous souhaitez désactiver lors de l'exécution de Slack Watchman en ajoutant leurs identifiants à la section disabled_signatures du fichier watchman.conf. Par exemple :

root@kitploit:~
slack_watchman:
  token: ...
  cookie: ...
  url: ...
  disabled_signatures:
    - tokens_generic_bearer_tokens
    - tokens_generic_access_tokens

Vous pouvez trouver l'identifiant d'une signature dans les fichiers YAML individuels du dépôt Watchman Signatures.

Journalisation

Slack Watchman offre les options de journalisation suivantes :

  • Stdout adapté au terminal
  • JSON vers Stdout

Slack Watchman utilise par défaut la journalisation stdout adaptée au terminal si aucune option n'est fournie. Elle est conçue pour être plus facile à lire pour les humains.

La journalisation JSON est également disponible, idéale pour l'ingestion dans un SIEM ou d'autres plateformes d'analyse de journaux.

La journalisation au format JSON peut être facilement redirigée vers un fichier comme ci-dessous :

root@kitploit:~
slack-watchman --timeframe a --all --output json >> slack_watchman_log.json 

Exigences d'authentification

Jeton d'API Slack

Pour exécuter Slack Watchman, vous aurez besoin d'un jeton d'accès OAuth de l'API Slack. Vous pouvez l'obtenir en créant une application Slack simple.

L'application doit disposer des portées de jeton utilisateur suivantes :

root@kitploit:~
channels:read
files:read
groups:read
im:read
links:read
mpim:read
remote_files:read
search:read
team:read
users:read
users:read.email

Remarque : Les jetons utilisateur agissent au nom de l'utilisateur qui les autorise. Je suggère donc de créer cette application et de l'autoriser à l'aide d'un compte de service ; sinon, l'application aura accès à vos conversations et discussions privées.

Manifeste de l'application

Les applications Slack peuvent être créées à partir de manifestes JSON qui définissent les détails de l'application et les portées à approuver. Le manifeste d'application pour Slack Watchman se trouve dans docs/app_manifest.json ; vous pouvez l'utiliser pour accélérer la création de votre application Slack.

Authentification par cookie

Alternativement, Slack Watchman peut également s'authentifier auprès de Slack à l'aide d'un cookie d de l'utilisateur, stocké dans le navigateur de chaque utilisateur connecté à un espace de travail.

Pour utiliser l'authentification par cookie, vous devrez fournir le cookie d et l'URL de l'espace de travail cible. Vous devrez ensuite utiliser l'option --cookie lors de l'exécution de Slack Watchman.

Plus d'informations sur l'authentification par cookie sont disponibles sur mon blog.

Fourniture des jetons

Slack Watchman essaiera d'abord d'obtenir le jeton Slack (ainsi que le jeton de cookie et l'URL si sélectionnés) à partir des variables d'environnement

  • SLACK_WATCHMAN_TOKEN
  • SLACK_WATCHMAN_COOKIE
  • SLACK_WATCHMAN_URL

Si cela échoue, il essaiera de charger le(s) jeton(s) à partir du fichier .conf (voir ci-dessous).

Fichier watchman.conf

Les options de configuration peuvent être transmises dans un fichier nommé watchman.conf qui doit être stocké dans votre répertoire personnel. Le fichier doit suivre le format YAML et ressembler à ceci :

root@kitploit:~
slack_watchman:
  token: xoxp-xxxxxxxx
  cookie: xoxd-%2xxxxx
  url: https://xxxxx.slack.com
  disabled_signatures:
    - tokens_generic_bearer_tokens
    - tokens_generic_access_tokens

Slack Watchman recherchera ce fichier au moment de l'exécution et utilisera les options de configuration qui s'y trouvent. Si vous n'utilisez pas l'authentification par cookie, laissez cookie et url vides.

Si vous rencontrez des problèmes avec votre fichier .conf, faites-le passer dans un analyseur YAML (linter).

Un exemple de fichier se trouve dans docs/example.conf.

Remarque : Les valeurs Cookie et URL sont facultatives et ne sont pas requises si vous n'utilisez pas l'authentification par cookie.

Installation

La méthode recommandée pour installer Slack Watchman est pipx, qui installe l'application dans un environnement isolé et la rend disponible dans votre PATH système :

root@kitploit:~
pipx install slack-watchman

Alternative : installation via pip

Vous pouvez également installer Slack Watchman avec pip :

root@kitploit:~
python3 -m pip install slack-watchman

Alternative : compilation à partir des sources

Téléchargez les fichiers sources de la version, puis à partir du répertoire racine du dépôt, exécutez :

root@kitploit:~
python3 -m pip build
python3 -m pip install --force-reinstall dist/*.whl

Image Docker

Slack Watchman est également disponible sur Docker Hub sous forme d'image Docker :

docker pull papermountain/slack-watchman:latest

Vous pouvez ensuite exécuter Slack Watchman dans un conteneur, en veillant à transmettre les variables d'environnement requises :

root@kitploit:~
// help
docker run --rm papermountain/slack-watchman -h

// scan all
docker run --rm -e SLACK_WATCHMAN_TOKEN=xoxp... papermountain/slack-watchman --timeframe a --all --output json
docker run --rm --env-file .env papermountain/slack-watchman --timeframe a --all --output stdout

Utilisation

Slack Watchman sera installé en tant que commande globale ; utilisez-le comme suit :

root@kitploit:~
usage: slack-watchman [-h] [--timeframe {d,w,m,a}] [--output {json,stdout}] [--version] [--all] [--users] [--channels] [--pii] [--secrets] [--debug] [--verbose] [--cookie] [--probe PROBE_DOMAIN]

Monitoring and enumerating Slack for exposed secrets

options:
  -h, --help            show this help message and exit
  --timeframe {d,w,m,a}, -t {d,w,m,a}
                        How far back to search: d = 24 hours w = 7 days, m = 30 days, a = all time
  --output {json,stdout}, -o {json,stdout}
                        Where to send results
  --version, -v         show program's version number and exit
  --all, -a             Find secrets and PII
  --users, -u           Enumerate users and output them to .csv in the current working directory
  --channels, -c        Enumerate channels and output them to .csv in the current working directory
  --pii, -p             Find personal data: DOB, passport details, drivers licence, ITIN, SSN etc.
  --secrets, -s         Find exposed secrets: credentials, tokens etc.
  --debug, -d           Turn on debug level logging
  --verbose, -V         Turn on more verbose output for JSON logging. This includes more fields, but is larger
  --cookie              Use cookie auth using Slack d cookie. REQUIRES either SLACK_WATCHMAN_COOKIE and SLACK_WATCHMAN_URL environment variables set, or both values set in watchman.conf
  --probe PROBE_DOMAIN  Perform an un-authenticated probe on a workspace for available authentication options and other information. Enter workspace domain to probe

Vous pouvez exécuter Slack Watchman pour tout rechercher et envoyer la sortie vers stdout par défaut :

root@kitploit:~
slack-watchman --timeframe a --all

Autres applications Watchman

Vous pourriez être intéressé par les autres applications de la famille Watchman :

  • Slack Watchman for Enterprise Grid
  • GitLab Watchman
  • GitHub Watchman

Licence

Le code source de ce projet est publié sous la licence publique générale GNU. Ce projet n'est pas associé à Slack Technologies ni à Salesforce.

Télécharger l’outil