Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
slack-watchman — Slack-Enumeration und Erkennung offengelegter Secrets | Kitploit
Tools/GitHubGitHub/papermtn/slack-watchman
DefensivwerkzeugeOSINT (Open-Source-Intelligence)AufklärungInformationsbeschaffungSecret-ErkennungRed Teaming
GitHubpapermtn/slack-watchman

slack-watchman

Slack-Enumeration und Erkennung offengelegter Secrets

Repository anzeigen
40448vor 3 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Slack Watchman

Python 2.7 and 3 compatible PyPI version License: MIT

Überwachung und Enumerierung von Slack auf offengelegte Geheimnisse

Über Slack Watchman

Slack Watchman ist eine Anwendung, die die Slack-API verwendet, um potenziell sensible Daten zu finden, die in einem Slack-Workspace offengelegt sind, und um weitere nützliche Informationen für Red-, Blue- und Purple-Teams zu enumerieren.

Weitere Informationen über Slack Watchman finden Sie auf meinem Blog.

Funktionen

Erkennung von Secrets

Slack Watchman sucht nach:

  • API-Schlüssel, Tokens & Dienstkonten
    • AWS, Azure, GCP, Google API, Slack (Schlüssel & Webhooks), Twitter, Facebook, GitHub und mehr
    • Generische private Schlüssel
    • Access Tokens, Bearer Tokens, Client Secrets, Private Tokens
  • Dateien
    • Zertifikatsdateien
    • Potenziell interessante/bösartige/sensible Dateien (.docm, .xlsm, .zip usw.)
    • Ausführbare Dateien
    • Keychain-Dateien
    • Konfigurationsdateien für gängige Dienste (Terraform, Jenkins, OpenVPN und mehr)
  • Personenbezogene Daten
    • Durchgesickerte Passwörter
    • Passnummern, Geburtsdaten, Sozialversicherungsnummern, National Insurance-Nummern und mehr
  • Finanzdaten
    • PayPal Braintree-Tokens, Bankkartendaten, IBAN-Nummern, CUSIP-Nummern und mehr

Zeitbasierte Suche

Sie können Slack Watchman ausführen, um nach Ergebnissen zu suchen, die bis zu folgendem Zeitraum zurückreichen:

  • 24 Stunden
  • 7 Tage
  • 30 Tage
  • Gesamter Zeitraum

Enumerierung

Es enumeriert außerdem Folgendes:

  • Benutzerdaten
    • Alle Benutzer & alle Administratoren
  • Konversationsdaten
    • Alle Konversationen, einschließlich extern geteilter Konversationen
    • Alle Konversationen, die ein Slack-Canvas enthalten (die oft sensible oder wichtige Informationen enthalten)
  • Authentifizierungsoptionen des Workspace

Das bedeutet, dass Sie Slack Watchman nach einem vollständigen Scan so planen können, dass es regelmäßig läuft und nur Ergebnisse aus dem von Ihnen gewählten Zeitraum zurückgibt.

Unauthentifizierte Sondierung

Sie können Slack Watchman im Modus für unauthentifizierte Sondierung ausführen, um Authentifizierungsoptionen und andere Informationen zu einem Workspace zu enumerieren. Dieser Modus benötigt kein Token und liefert:

  • Workspace-Name
  • Workspace-ID
  • Zugelassene Domains (die Konten erstellen können)
  • OAuth-Anbieter
  • SSO-Authentifizierungsstatus
  • Zwei-Faktor-Anforderungen

Um diesen Modus auszuführen, verwenden Sie Slack Watchman mit dem --probe-Flag und der zu untersuchenden Workspace-Domain:

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

Signaturen

Slack Watchman verwendet benutzerdefinierte YAML-Signaturen, um Übereinstimmungen in Slack zu erkennen. Diese Signaturen werden aus dem zentralen Watchman-Signaturen-Repository bezogen. Slack Watchman aktualisiert seine Signaturbasis zur Laufzeit automatisch, um sicherzustellen, dass es die neuesten Signaturen zur Erkennung von Secrets verwendet.

Unterdrücken von Signaturen

Sie können Signaturen, die Sie beim Ausführen von Slack Watchman deaktivieren möchten, festlegen, indem Sie deren IDs zum Abschnitt disabled_signatures der Datei watchman.conf hinzufügen. Zum Beispiel:

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

Die ID einer Signatur finden Sie in den einzelnen YAML-Dateien im Watchman-Signaturen-Repository.

Protokollierung

Slack Watchman bietet die folgenden Protokollierungsoptionen:

  • Terminalfreundliches Stdout
  • JSON an Stdout

Wenn keine Option angegeben wird, verwendet Slack Watchman standardmäßig die terminalfreundliche Stdout-Protokollierung. Diese ist so gestaltet, dass sie für Menschen einfacher zu lesen ist.

JSON-Protokollierung ist ebenfalls verfügbar und eignet sich perfekt für die Aufnahme in ein SIEM oder andere Plattformen zur Protokollanalyse.

JSON-formatierte Protokollierung kann einfach wie folgt in eine Datei umgeleitet werden:

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

Authentifizierungsanforderungen

Slack-API-Token

Um Slack Watchman auszuführen, benötigen Sie ein Slack-API-OAuth-Zugriffstoken. Dies erreichen Sie, indem Sie eine einfache Slack-App erstellen.

Die App muss die folgenden User Token Scopes hinzugefügt haben:

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

Hinweis: Benutzer-Tokens handeln im Namen des Benutzers, der sie autorisiert. Daher empfehle ich, diese App zu erstellen und sie mit einem Dienstkonto zu autorisieren, andernfalls erhält die App Zugriff auf Ihre privaten Konversationen und Chats.

App-Manifest

Slack-Apps können aus JSON-Manifesten erstellt werden, die die Details der Anwendung und die zu genehmigenden Scopes definieren. Das App-Manifest für Slack Watchman finden Sie in docs/app_manifest.json. Sie können es verwenden, um die Erstellung Ihrer Slack-App zu beschleunigen.

Cookie-Authentifizierung

Alternativ kann sich Slack Watchman auch mit einem Benutzer-d-Cookie bei Slack authentifizieren, das im Browser jedes Benutzers gespeichert ist, der in einem Workspace angemeldet ist.

Um die Cookie-Authentifizierung zu verwenden, müssen Sie das d-Cookie und die URL des Ziel-Workspace angeben. Anschließend müssen Sie beim Ausführen von Slack Watchman das --cookie-Flag verwenden.

Weitere Informationen zur Cookie-Authentifizierung finden Sie auf meinem Blog.

Bereitstellen von Tokens

Slack Watchman versucht zunächst, das Slack-Token (sowie das Cookie-Token und die URL, falls ausgewählt) aus den Umgebungsvariablen zu laden:

  • SLACK_WATCHMAN_TOKEN
  • SLACK_WATCHMAN_COOKIE
  • SLACK_WATCHMAN_URL

Schlägt dies fehl, versucht es, das/die Token aus der .conf-Datei zu laden (siehe unten).

Datei watchman.conf

Konfigurationsoptionen können in einer Datei namens watchman.conf übergeben werden, die in Ihrem Home-Verzeichnis gespeichert sein muss. Die Datei sollte dem YAML-Format folgen und wie folgt aussehen:

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 sucht diese Datei zur Laufzeit und verwendet die Konfigurationsoptionen daraus. Wenn Sie keine Cookie-Authentifizierung verwenden, lassen Sie cookie und url leer.

Wenn Sie Probleme mit Ihrer .conf-Datei haben, lassen Sie sie durch einen YAML-Linter laufen.

Eine Beispieldatei befindet sich in docs/example.conf.

Hinweis: Cookie- und URL-Werte sind optional und nicht erforderlich, wenn keine Cookie-Authentifizierung verwendet wird.

Installation

Die empfohlene Methode zur Installation von Slack Watchman ist über pipx, das die App in einer isolierten Umgebung installiert und in Ihrem System-PATH verfügbar macht:

root@kitploit:~
pipx install slack-watchman

Alternative: Installation über pip

Sie können Slack Watchman auch mit pip installieren:

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

Alternative: Aus dem Quellcode erstellen

Laden Sie die Quelldateien des Releases herunter und führen Sie dann aus dem Hauptverzeichnis des Repositorys aus:

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

Docker-Image

Slack Watchman ist auch im Docker Hub als Docker-Image verfügbar:

docker pull papermountain/slack-watchman:latest

Anschließend können Sie Slack Watchman in einem Container ausführen. Stellen Sie sicher, dass Sie die erforderlichen Umgebungsvariablen übergeben:

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

Verwendung

Slack Watchman wird als globaler Befehl installiert. Verwenden Sie es wie folgt:

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

Sie können Slack Watchman ausführen, um nach allem zu suchen und die Ausgabe an das Standard-Stdout zu senden:

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

Andere Watchman-Apps

Möglicherweise interessieren Sie sich für die anderen Apps aus der Watchman-Familie:

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

Lizenz

Der Quellcode dieses Projekts wird unter der GNU General Public Licence veröffentlicht. Dieses Projekt ist nicht mit Slack Technologies oder Salesforce verbunden.

Tool herunterladen