关于Slack Watchman
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
Docker
工具安装
由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好最新版本的Python 3环境。
pip安装
您可以通过 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开源许可协议。
项目地址
Slack Watchman:【GitHub传送门】
参考资料
https://papermtn.co.uk/slack-watchman-monitoring-slack-workspaces-for-sensitive-information/