Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
slack-watchman — Slackの列挙と露出したシークレットの検出ツール | Kitploit
ツール/GitHubGitHub/papermtn/slack-watchman
防御ツールOSINT (オープンソースインテリジェンス)偵察情報収集シークレット検出レッドチーミング
GitHubpapermtn/slack-watchman

slack-watchman

Slackの列挙と露出したシークレットの検出ツール

リポジトリを見る
404483ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Slack Watchman

Python 2.7 and 3 compatible PyPI version License: MIT

Slack の公開されたシークレットの監視と列挙

Slack Watchman について

Slack Watchman は、Slack API を使用して Slack ワークスペースで公開されている可能性のある機密データを検出し、レッド、ブルー、パープルチームにとって有用なその他の情報を列挙するアプリケーションです。

Slack Watchman の詳細は、私のブログ で確認できます。

機能

シークレット検出

Slack Watchman は以下を探します:

  • API キー、トークン、サービスアカウント
    • AWS、Azure、GCP、Google API、Slack(キーと Webhook)、Twitter、Facebook、GitHub など
    • 汎用秘密鍵
    • アクセストークン、ベアラートークン、クライアントシークレット、プライベートトークン
  • ファイル
    • 証明書ファイル
    • 潜在的に興味深い/悪意のある/機密性の高いファイル(.docm、.xlsm、.zip など)
    • 実行可能ファイル
    • キーチェーンファイル
    • 人気サービスの設定ファイル(Terraform、Jenkins、OpenVPN など)
  • 個人データ
    • 漏洩したパスワード
    • 旅券番号、生年月日、社会保障番号、国民保険番号など
  • 財務データ
    • Paypal Braintree トークン、銀行カード情報、IBAN 番号、CUSIP 番号など

時間ベースの検索

Slack Watchman は、以下の期間まで遡って結果を検索できます:

  • 24時間
  • 7日間
  • 30日間
  • 全期間

列挙

また、以下を列挙します:

  • ユーザーデータ
    • 全ユーザーと全管理者
  • 会話データ
    • 外部共有されている会話を含むすべての会話
    • Slack Canvas を含むすべての会話(機密情報や重要な情報が含まれることがよくあります)
  • ワークスペースの認証オプション

つまり、一度の深いスキャンの後、Slack Watchman を定期的に実行するようにスケジュールし、選択した期間の結果だけを返すことができます。

未認証プローブ

未認証プローブモードで Slack Watchman を実行すると、ワークスペースの認証オプションやその他の情報を列挙できます。これはトークンを必要とせず、以下を返します:

  • ワークスペース名
  • ワークスペース ID
  • 承認済みドメイン(アカウントを作成できるもの)
  • OAuth プロバイダー
  • SSO 認証ステータス
  • 2要素認証の要件

このモードを実行するには、--probe フラグとプローブ対象のワークスペースドメインを指定して Slack Watchman を使用します:

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

シグネチャ

Slack Watchman はカスタム YAML シグネチャを使用して、Slack 内の一致を検出します。これらのシグネチャは、中央の Watchman Signatures リポジトリ から取得されます。Slack Watchman は実行時にシグネチャベースを自動更新し、最新のシグネチャを使用してシークレットを検出します。

シグネチャの無効化

Slack Watchman の実行時に無効にしたいシグネチャは、その ID を watchman.conf ファイルの disabled_signatures セクションに追加することで定義できます。例:

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

シグネチャの ID は、Watchman Signatures リポジトリ 内の各 YAML ファイルで確認できます。

ロギング

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 を実行するには、Slack API OAuth アクセストークンが必要です。これは、シンプルな Slack App を作成することで取得できます。

アプリには次の ユーザートークンスコープ を追加する必要があります:

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 は、ワークスペースにログインしている各ユーザーのブラウザに保存されているユーザー d Cookie を使用して Slack に認証することもできます。

Cookie 認証を使用するには、d Cookie とターゲットワークスペースの 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 でインストール

pip を使用して Slack Watchman をインストールすることもできます:

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 ハブから 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 とは関連がありません。

ツールをダウンロード