Slack Watchman是一款功能强大的Slack安全检测工具,该工具能够帮助广大研究人员监控并枚举Slack中暴露的敏感数据,并提醒开发人员。本质上来说,Slack Watchman 是一个使用 Slack API 来查找 Slack 工作区中暴露的潜在敏感数据,并为红队、蓝队和紫队枚举其他有用信息的应用程序。
1、Slack Watchman支持搜索下列内容:API 密钥、令牌和服务帐户、文件、账号信息、财务信息等;2、执行基于时间的搜索:24 小时、7 天、30 天、所有时间;3、支持枚举以下内容:用户数据、对话数据、工作区身份验证选项;4、可以在未经身份验证的探测模式下运行 Slack Watchman,以枚举工作区上的身份验证选项和其他信息。这不需要令牌,并返回:工作区名称、工作区 ID、批准的域(可以创建账户)、OAuth 提供商、SSO 身份验证状态、双因素要求;5、Slack Watchman 提供了以下日志记录选项:终端友好的Stdout、JSON 到Stdout;
由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好最新版本的Python 3环境。
pip安装
python3 -m pip install slack-watchman
源码安装
广大研究人员可以直接使用下列命令将该项目源码克隆至本地:git clone https://github.com/PaperMtn/slack-watchman.git
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,并确保传递所需的环境变量:// 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 将作为全局命令安装,使用方式如下: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 显示此帮助消息并退出
--timeframe {d,w,m,a}, -t {d,w,m,a}
距离搜索还有多远:d=24小时w=7天,m=30天,a=所有时间
--output {json,stdout}, -o {json,stdout}
将结果发送到哪里
--version, -v 显示程序的版本号并退出
--all, -a 查找敏感数据和个人身份信息
--users, -u 枚举用户并将其输出到当前工作目录中的.csv
--channels, -c 枚举信道并将其输出到当前工作目录中的.csv
--pii, -p 查找个人数据:出生日期、护照详细信息、驾照、ITIN、SSN等。
--secrets, -s 查找暴露的敏感数据:凭据、令牌等。
--debug, -d 打开调试级别日志记录
--verbose, -V 为JSON日志打开更详细的输出。这包括更多字段,但更大
--cookie 使用Slack d cookie进行cookie身份验证。需要设置SLACK_WATCHMAN_COOKIE和SLACK_WATCHMAN_URL环境变量,或在watcher.conf中同时设置这两个值
--probe PROBE_DOMAIN 对工作区执行未经身份验证的探测,以获取可用的身份验证选项和其他信息。需要输入要探测的工作区域
您可以运行 Slack Watchman 来查找所有内容,并输出到默认Stdout:slack-watchman --timeframe a --all
本项目的开发与发布遵循GPL-3.0开源许可协议。
https://github.com/PaperMtn/slack-watchmanhttps://papermtn.co.uk/slack-watchman-monitoring-slack-workspaces-for-sensitive-information/