Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
slack-watchman — Herramienta de enumeración de Slack y detección de secretos expuestos | Kitploit
Herramientas/GitHubGitHub/papermtn/slack-watchman
Herramientas DefensivasOSINT (Inteligencia de Fuentes Abiertas)ReconocimientoRecopilación de InformaciónDetección de SecretosRed Teaming
GitHubpapermtn/slack-watchman

slack-watchman

Herramienta de enumeración de Slack y detección de secretos expuestos

Ver Repositorio
404488hace 11 díasRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Slack Watchman

Python 2.7 and 3 compatible PyPI version License: MIT

Monitorización y enumeración de Slack en busca de secretos expuestos

Acerca de Slack Watchman

Slack Watchman es una aplicación que utiliza la API de Slack para encontrar datos potencialmente sensibles expuestos en un espacio de trabajo de Slack, y para enumerar otra información útil para equipos rojos, azules y morados.

Puedes encontrar más información sobre Slack Watchman en mi blog.

Características

Detección de secretos

Slack Watchman busca:

  • Claves de API, tokens y cuentas de servicio
    • AWS, Azure, GCP, API de Google, Slack (claves y webhooks), Twitter, Facebook, GitHub y más
    • Claves privadas genéricas
    • Tokens de acceso, tokens Bearer, secretos de cliente, tokens privados
  • Archivos
    • Archivos de certificados
    • Archivos potencialmente interesantes/maliciosos/sensibles (.docm, .xlsm, .zip, etc.)
    • Archivos ejecutables
    • Archivos de llavero (keychain)
    • Archivos de configuración para servicios populares (Terraform, Jenkins, OpenVPN y más)
  • Datos personales
    • Contraseñas filtradas
    • Números de pasaporte, fechas de nacimiento, números de seguridad social, números de seguro nacional y más
  • Datos financieros
    • Tokens de Paypal Braintree, datos de tarjetas bancarias, números IBAN, números CUSIP y más

Búsqueda basada en tiempo

Puedes ejecutar Slack Watchman para buscar resultados que se remonten a:

  • 24 horas
  • 7 días
  • 30 días
  • Todo el tiempo

Enumeración

También enumera lo siguiente:

  • Datos de usuarios
    • Todos los usuarios y todos los administradores
  • Datos de conversaciones
    • Todas las conversaciones, incluidas las compartidas externamente
    • Todas las conversaciones que incluyen un Slack Canvas (que a menudo contienen información sensible o importante)
  • Opciones de autenticación del espacio de trabajo

Esto significa que después de un escaneo profundo, puedes programar Slack Watchman para que se ejecute regularmente y solo devuelva resultados de tu período de tiempo elegido.

Sonda no autenticada

Puedes ejecutar Slack Watchman en modo de sonda no autenticada para enumerar opciones de autenticación y otra información en un espacio de trabajo. Esto no necesita un token y devuelve:

  • Nombre del espacio de trabajo
  • ID del espacio de trabajo
  • Dominios aprobados (que pueden crear cuentas)
  • Proveedores de OAuth
  • Estado de autenticación SSO
  • Requisitos de doble factor

Para ejecutar este modo, usa Slack Watchman con la opción --probe y el dominio del espacio de trabajo a sondear:

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

Firmas

Slack Watchman utiliza firmas YAML personalizadas para detectar coincidencias en Slack. Estas firmas se extraen del repositorio central de Watchman Signatures. Slack Watchman actualiza automáticamente su base de firmas en tiempo de ejecución para asegurarse de que está utilizando las últimas firmas para detectar secretos.

Supresión de firmas

Puedes definir las firmas que quieras deshabilitar al ejecutar Slack Watchman añadiendo sus IDs a la sección disabled_signatures del archivo watchman.conf. Por ejemplo:

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

Puedes encontrar el ID de una firma en los archivos YAML individuales del repositorio de Watchman Signatures.

Registro (logging)

Slack Watchman ofrece las siguientes opciones de registro:

  • Salida estándar (stdout) legible en terminal
  • JSON a stdout

Slack Watchman utiliza por defecto el registro legible en terminal si no se proporciona ninguna opción. Está diseñado para que sea más fácil de leer para los humanos.

El registro JSON también está disponible, perfecto para ingerir en un SIEM u otras plataformas de análisis de registros.

El registro con formato JSON se puede redirigir fácilmente a un archivo como se muestra a continuación:

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

Requisitos de autenticación

Token de API de Slack

Para ejecutar Slack Watchman, necesitarás un token de acceso OAuth de la API de Slack. Puedes hacerlo creando una Slack App sencilla.

La aplicación debe tener añadidos los siguientes ámbitos de token de usuario:

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: Los tokens de usuario actúan en nombre del usuario que los autoriza, por lo que sugiero que crees esta aplicación y la autorices con una cuenta de servicio; de lo contrario, la aplicación tendrá acceso a tus conversaciones y chats privados.

Manifiesto de la aplicación

Las aplicaciones de Slack se pueden crear a partir de manifiestos JSON que definen los detalles de la aplicación y los ámbitos a aprobar. El manifiesto de la aplicación para Slack Watchman se encuentra en docs/app_manifest.json; puedes usarlo para agilizar la creación de tu aplicación de Slack.

Autenticación con cookie

Alternativamente, Slack Watchman también puede autenticarse en Slack usando la cookie d del usuario, que se almacena en el navegador de cada usuario conectado a un espacio de trabajo.

Para usar la autenticación con cookie, tendrás que proporcionar la cookie d y la URL del espacio de trabajo de destino. Luego tendrás que usar la opción --cookie al ejecutar Slack Watchman.

Puedes encontrar más información sobre la autenticación con cookie en mi blog

Cómo proporcionar tokens

Slack Watchman primero intentará obtener el token de Slack (además del token de cookie y la URL, si se seleccionan) de las variables de entorno

  • SLACK_WATCHMAN_TOKEN
  • SLACK_WATCHMAN_COOKIE
  • SLACK_WATCHMAN_URL

Si esto falla, intentará cargar los tokens del archivo .conf (ver más abajo).

Archivo watchman.conf

Las opciones de configuración se pueden pasar en un archivo llamado watchman.conf que debe almacenarse en tu directorio personal. El archivo debe seguir el formato YAML y tener un aspecto similar al siguiente:

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 buscará este archivo en tiempo de ejecución y usará las opciones de configuración de aquí. Si no estás usando autenticación con cookie, deja cookie y url en blanco.

Si tienes problemas con tu archivo .conf, pásalo por un linter de YAML.

Hay un archivo de ejemplo en docs/example.conf

Nota: Los valores de Cookie y URL son opcionales y no son necesarios si no se usa la autenticación con cookie.

Instalación

La forma recomendada de instalar Slack Watchman es mediante pipx, que instala la aplicación en un entorno aislado y la hace disponible en tu PATH del sistema:

root@kitploit:~
pipx install slack-watchman

Alternativa: Instalar con pip

También puedes instalar Slack Watchman usando pip:

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

Alternativa: Compilar desde el código fuente

Descarga los archivos fuente de la versión y, desde el directorio de nivel superior del repositorio, ejecuta:

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

Imagen Docker

Slack Watchman también está disponible en Docker Hub como imagen Docker:

docker pull papermountain/slack-watchman:latest

Luego puedes ejecutar Slack Watchman en un contenedor, asegurándote de pasar las variables de entorno requeridas:

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

// escanear todo
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

Uso

Slack Watchman se instalará como un comando global; úsalo de la siguiente manera:

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

Puedes ejecutar Slack Watchman para buscar todo y enviar la salida a stdout por defecto:

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

Otras aplicaciones Watchman

Puede que te interesen las otras aplicaciones de la familia Watchman:

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

Licencia

El código fuente de este proyecto se publica bajo la GNU General Public Licence. Este proyecto no está asociado con Slack Technologies ni con Salesforce.

Descargar herramienta