Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
slack-watchman — Strumento di enumerazione di Slack e rilevamento di segreti esposti | Kitploit
Strumenti/GitHubGitHub/papermtn/slack-watchman
Strumenti DifensiviOSINT (Open Source Intelligence)RicognizioneRaccolta InformazioniRilevamento SegretiRed Teaming
GitHubpapermtn/slack-watchman

slack-watchman

Strumento di enumerazione di Slack e rilevamento di segreti esposti

Vedi Repository
40448912 giorni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Slack Watchman

Python 2.7 and 3 compatible PyPI version License: MIT

Monitoraggio ed enumerazione di Slack per segreti esposti

Informazioni su Slack Watchman

Slack Watchman è un'applicazione che utilizza l'API di Slack per trovare dati potenzialmente sensibili esposti in un workspace Slack e per enumerare altre informazioni utili per i team red, blue e purple.

Maggiori informazioni su Slack Watchman sono disponibili sul mio blog.

Funzionalità

Rilevamento dei segreti

Slack Watchman cerca:

  • API Keys, Token e Service Account
    • AWS, Azure, GCP, Google API, Slack (chiavi e webhook), Twitter, Facebook, GitHub e altri
    • Chiavi private generiche
    • Access Token, Bearer Token, Client Secret, Private Token
  • File
    • File di certificati
    • File potenzialmente interessanti/maliziosi/sensibili (.docm, .xlsm, .zip ecc.)
    • File eseguibili
    • File portachiavi (keychain)
    • File di configurazione per servizi popolari (Terraform, Jenkins, OpenVPN e altri)
  • Dati personali
    • Password fuoriuscite (leaked)
    • Numeri di passaporto, date di nascita, numeri di previdenza sociale, numeri di assicurazione nazionale e altri
  • Dati finanziari
    • Token Paypal Braintree, dettagli di carte bancarie, numeri IBAN, numeri CUSIP e altri

Ricerca basata sul tempo

Puoi eseguire Slack Watchman per cercare risultati che risalgono fino a:

  • 24 ore
  • 7 giorni
  • 30 giorni
  • Tutto il tempo

Enumerazione

Enumera inoltre quanto segue:

  • Dati utente
    • Tutti gli utenti e tutti gli admin
  • Dati delle conversazioni
    • Tutte le conversazioni, incluse quelle condivise esternamente
    • Tutte le conversazioni che includono una Slack Canvas (che spesso contengono informazioni sensibili o importanti)
  • Opzioni di autenticazione del workspace

Questo significa che dopo una scansione approfondita, puoi programmare Slack Watchman per eseguirlo regolarmente e ottenere solo i risultati del periodo di tempo scelto.

Sonda non autenticata

Puoi eseguire Slack Watchman in modalità sonda non autenticata per enumerare le opzioni di autenticazione e altre informazioni su un workspace. Non è necessario un token e restituisce:

  • Nome del workspace
  • ID del workspace
  • Domini approvati (che possono creare account)
  • Provider OAuth
  • Stato dell'autenticazione SSO
  • Requisiti per la verifica a due fattori

Per eseguire questa modalità, usa Slack Watchman con il flag --probe e il dominio del workspace da sondare:

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

Firme

Slack Watchman utilizza firme YAML personalizzate per rilevare corrispondenze in Slack. Queste firme vengono prese dal repository centrale Watchman Signatures. Slack Watchman aggiorna automaticamente la sua base di firme a runtime per assicurarsi di usare le firme più recenti per rilevare i segreti.

Soppressione delle firme

Puoi definire le firme che desideri disabilitare quando esegui Slack Watchman aggiungendo i loro ID alla sezione disabled_signatures del file watchman.conf. Ad esempio:

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

Puoi trovare l'ID di una firma nei singoli file YAML nel repository Watchman Signatures.

Registrazione (Logging)

Slack Watchman offre le seguenti opzioni di logging:

  • Stdout leggibile dal terminale
  • JSON su Stdout

Se non viene fornita alcuna opzione, Slack Watchman utilizza di default il logging stdout leggibile dal terminale. È progettato per essere più facile da leggere per gli esseri umani.

È disponibile anche il logging JSON, perfetto per essere importato in un SIEM o in altre piattaforme di analisi dei log.

Il logging in formato JSON può essere facilmente reindirizzato a un file come mostrato sotto:

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

Requisiti di autenticazione

Token API di Slack

Per eseguire Slack Watchman, avrai bisogno di un token di accesso OAuth dell'API di Slack. Puoi ottenerlo creando una semplice Slack App.

L'app deve avere i seguenti User Token Scopes aggiunti:

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

Nota: I token utente agiscono per conto dell'utente che li autorizza, quindi suggerisco di creare questa app e autorizzarla utilizzando un account di servizio, altrimenti l'app avrà accesso alle tue conversazioni e chat private.

App Manifest

Le Slack app possono essere create da manifest JSON che definiscono i dettagli dell'applicazione e gli scope da approvare. Il manifest dell'app per Slack Watchman si trova in docs/app_manifest.json; puoi usarlo per velocizzare la creazione della tua Slack app.

Autenticazione tramite cookie

In alternativa, Slack Watchman può autenticarsi su Slack utilizzando un cookie utente d, che è memorizzato nel browser di ogni utente connesso a un workspace.

Per utilizzare l'autenticazione tramite cookie, dovrai fornire il cookie d e l'URL del workspace di destinazione. Successivamente dovrai usare il flag --cookie quando esegui Slack Watchman.

Maggiori informazioni sull'autenticazione tramite cookie sono disponibili sul mio blog

Fornire i token

Slack Watchman proverà prima a ottenere il token di Slack (oltre al cookie e all'URL se selezionati) dalle variabili d'ambiente

  • SLACK_WATCHMAN_TOKEN
  • SLACK_WATCHMAN_COOKIE
  • SLACK_WATCHMAN_URL

Se questo fallisce, proverà a caricare i token dal file .conf (vedi sotto).

File watchman.conf

Le opzioni di configurazione possono essere passate in un file chiamato watchman.conf che deve essere salvato nella tua home directory. Il file deve seguire il formato YAML e dovrebbe apparire come sotto:

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 cercherà questo file a runtime e userà le opzioni di configurazione da qui. Se non stai usando l'autenticazione tramite cookie, lascia cookie e url vuoti.

Se hai problemi con il tuo file .conf, esegui un controllo con un linter YAML.

Un file di esempio si trova in docs/example.conf

Nota: I valori di Cookie e URL sono opzionali e non richiesti se non si utilizza l'autenticazione tramite cookie.

Installazione

Il metodo consigliato per installare Slack Watchman è tramite pipx, che installa l'app in un ambiente isolato e la rende disponibile nel PATH di sistema:

root@kitploit:~
pipx install slack-watchman

Alternativa: Installazione tramite pip

Puoi anche installare Slack Watchman usando pip:

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

Alternativa: Build dal sorgente

Scarica i file sorgente della release, poi dalla directory principale del repository esegui:

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

Immagine Docker

Slack Watchman è disponibile anche su Docker Hub come immagine Docker:

docker pull papermountain/slack-watchman:latest

Puoi quindi eseguire Slack Watchman in un container, assicurandoti di passare le variabili d'ambiente richieste:

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

Utilizzo

Slack Watchman verrà installato come comando globale, usalo come segue:

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

Puoi eseguire Slack Watchman per cercare tutto e inviare l'output allo stdout predefinito:

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

Altre app Watchman

Potrebbero interessarti le altre app della famiglia Watchman:

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

Licenza

Il codice sorgente di questo progetto è rilasciato sotto GNU General Public Licence. Questo progetto non è associato a Slack Technologies o Salesforce.

Scarica lo strumento