Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
slack-watchman — Инструмент для энумерации Slack и обнаружения раскрытых секретов | Kitploit
Инструменты/GitHubGitHub/papermtn/slack-watchman
Оборонительные ИнструментыOSINT (Разведка открытых источников)РазведкаСбор информацииОбнаружение СекретовRed Teaming
GitHubpapermtn/slack-watchman

slack-watchman

Инструмент для энумерации Slack и обнаружения раскрытых секретов

Репозиторий
40448912 дней назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Slack Watchman

Python 2.7 and 3 compatible PyPI version License: MIT

Мониторинг Slack и поиск раскрытых секретов

О Slack Watchman

Slack Watchman — это приложение, которое использует Slack API для поиска потенциально чувствительных данных, раскрытых в рабочем пространстве Slack, а также для сбора другой полезной информации для red, blue и purple команд.

Подробнее о Slack Watchman можно узнать в моём блоге.

Возможности

Обнаружение секретов

Slack Watchman ищет:

  • API-ключи, токены и сервисные учётные записи
    • AWS, Azure, GCP, Google API, Slack (ключи и вебхуки), Twitter, Facebook, GitHub и другие
    • Приватные ключи общего назначения
    • Токены доступа, Bearer-токены, клиентские секреты, приватные токены
  • Файлы
    • Сертификаты
    • Потенциально интересные/вредоносные/чувствительные файлы (.docm, .xlsm, .zip и т.д.)
    • Исполняемые файлы
    • Файлы связки ключей (Keychain)
    • Конфигурационные файлы популярных сервисов (Terraform, Jenkins, OpenVPN и другие)
  • Персональные данные
    • Утёкшие пароли
    • Номера паспортов, даты рождения, номера социального страхования (SSN), национальные страховые номера и другие
  • Финансовые данные
    • Токены PayPal Braintree, данные банковских карт, номера IBAN, номера CUSIP и другие

Поиск по временному диапазону

Вы можете запустить Slack Watchman для поиска результатов за следующий период:

  • 24 часа
  • 7 дней
  • 30 дней
  • Всё время

Энумерация

Он также собирает следующие данные:

  • Данные пользователей
    • Все пользователи и все администраторы
  • Данные бесед
    • Все беседы, включая беседы, доступные внешним пользователям
    • Все беседы, содержащие Slack Canvas (в которых часто содержится чувствительная или важная информация)
  • Параметры аутентификации рабочего пространства

Это означает, что после одного глубокого сканирования вы можете настроить регулярный запуск Slack Watchman и получать только результаты за выбранный период времени.

Неаутентифицированный зонд

Вы можете запустить Slack Watchman в режиме неаутентифицированного зондирования, чтобы получить параметры аутентификации и другую информацию о рабочем пространстве. Для этого не нужен токен. Режим возвращает:

  • Название рабочего пространства
  • ID рабочего пространства
  • Одобренные домены (могут создавать учётные записи)
  • OAuth-провайдеры
  • Статус SSO-аутентификации
  • Требования двухфакторной аутентификации

Чтобы запустить этот режим, используйте Slack Watchman с флагом --probe и доменом рабочего пространства для зондирования:

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

Сигнатуры

Slack Watchman использует пользовательские YAML-сигнатуры для поиска совпадений в Slack. Эти сигнатуры загружаются из центрального репозитория Watchman Signatures. Slack Watchman автоматически обновляет свою базу сигнатур во время выполнения, чтобы использовать самые свежие сигнатуры для обнаружения секретов.

Отключение сигнатур

Вы можете указать сигнатуры, которые нужно отключить при запуске Slack Watchman, добавив их ID в раздел disabled_signatures файла watchman.conf. Например:

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

ID сигнатуры можно найти в отдельных YAML-файлах в репозитории Watchman Signatures.

Логирование

Slack Watchman предоставляет следующие варианты логирования:

  • Удобный для терминала вывод в Stdout
  • JSON в Stdout

Если параметр не указан, Slack Watchman по умолчанию использует удобный для терминала вывод в stdout. Он рассчитан на чтение человеком.

Также доступно JSON-логирование, которое идеально подходит для загрузки в SIEM или другие платформы анализа журналов.

Логирование в формате JSON можно легко перенаправить в файл, как показано ниже:

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

Требования к аутентификации

Slack API-токен

Для запуска Slack Watchman понадобится OAuth-токен доступа Slack API. Для этого создайте простое Slack-приложение.

Приложению необходимо добавить следующие User Token Scopes:

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

Примечание: Пользовательские токены действуют от имени пользователя, который их авторизовал, поэтому я рекомендую создать и авторизовать это приложение с помощью сервисной учётной записи — в противном случае приложение получит доступ к вашим личным беседам и чатам.

Манифест приложения

Slack-приложения можно создавать из JSON-манифестов, которые определяют детали приложения и области действия, которые нужно утвердить. Манифест приложения для Slack Watchman находится в docs/app_manifest.json; с его помощью вы можете ускорить создание Slack-приложения.

Аутентификация с помощью cookie

Кроме того, Slack Watchman может аутентифицироваться в Slack с помощью пользовательской cookie d, которая хранится в браузере каждого пользователя, вошедшего в рабочее пространство.

Для аутентификации с помощью cookie необходимо указать cookie d и URL целевого рабочего пространства. Затем при запуске Slack Watchman нужно использовать флаг --cookie.

Подробнее об аутентификации с помощью cookie можно узнать в моём блоге

Передача токенов

Сначала Slack Watchman попытается получить Slack-токен (а также cookie-токен и URL, если они выбраны) из переменных окружения:

  • SLACK_WATCHMAN_TOKEN
  • SLACK_WATCHMAN_COOKIE
  • SLACK_WATCHMAN_URL

Если это не удастся, он попытается загрузить токен(ы) из файла .conf (см. ниже).

Файл watchman.conf

Параметры конфигурации можно передать в файле с именем watchman.conf, который должен храниться в вашем домашнем каталоге. Файл должен соответствовать формату YAML и выглядеть следующим образом:

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 будет искать этот файл во время выполнения и использовать указанные в нём параметры конфигурации. Если вы не используете cookie-аутентификацию, оставьте cookie и url пустыми.

Если у вас возникли проблемы с файлом .conf, проверьте его с помощью YAML-линтера.

Пример файла находится в docs/example.conf.

Примечание: Значения Cookie и URL являются необязательными и не требуются, если вы не используете cookie-аутентификацию.

Установка

Рекомендуемый способ установки Slack Watchman — через pipx, который устанавливает приложение в изолированную среду и делает его доступным в вашем системном PATH:

root@kitploit:~
pipx install slack-watchman

Альтернатива: установка через pip

Вы также можете установить Slack Watchman с помощью pip:

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

Альтернатива: сборка из исходного кода

Скачайте исходные файлы релиза, затем из корневого каталога репозитория выполните:

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

Docker-образ

Slack Watchman также доступен в Docker Hub в виде Docker-образа:

docker pull papermountain/slack-watchman:latest

Затем вы можете запустить Slack Watchman в контейнере, обязательно передав необходимые переменные окружения:

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

Использование

Slack Watchman будет установлен как глобальная команда. Используйте её следующим образом:

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

Вы можете запустить Slack Watchman для поиска всего и вывода результатов по умолчанию в stdout:

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

Другие приложения Watchman

Возможно, вас заинтересуют другие приложения семейства Watchman:

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

Лицензия

Исходный код этого проекта распространяется под лицензией GNU General Public Licence. Этот проект не связан со Slack Technologies или Salesforce.

Скачать инструмент