推荐两款github敏感信息搜集工具(gsil、gshark) - 云+社区 - 腾讯云 (tencent.com)
github敏感信息泄露是很多企业时常忽视的一个问题,国外有一份研究报告显示,在超过24,000份的GitHub公开数据中,发现有数千个文件中可能包含敏感信息,原文链接https://www.anquanke.com/post/id/198361,整体情况如下:
翻译过来便是:
- 4109个配置文件
- 2464个API密钥
- 2328个硬编码的用户名及密码
- 2144个私钥文件
- 1089个OAuth令牌
总体占比高达50.56%,想想这有多可怕吧
所以我们能在第一时间发现自己企业泄露了哪些信息或者获取别人énénén······是很有必要的,这时你就需要下面两个神器啦
1、gsil
介绍:此工具主要用于GitHub敏感信息泄露的监控,可实现邮件实时告警,缺点不是可视化
所需环境:
- Python2、3皆可,笔者用的是Python3
- gsil项目:https://github.com/FeeiCN/GSIL
- 开启
POP3/SMTP
服务的邮箱 - 一个github账号token,获取地址:https://github.com/settings/tokens
项目安装:
建议在安装之前把pip升级到最新版,不然有可能报错,命令如下:
python3 -m pip install --upgrade pip
复制
然后进入想要安装的目录,依次输入:
git clone https://github.com/FeeiCN/gsil.git
复制
cd gsil
复制
pip3 install -r requirements.txt
复制
这就安装完了,下一步进入gsil目录找到config.gsil.example
文件
内容如下:
- [mail]
- host : smtp.exmail.qq.com //这个最后要改成smtp.qq.com
- port : 25 //这个端口smtp服务一般是465
- mails : your_mail //这是你的邮箱地址Ps:多个邮箱用,隔开
- from : GSIL
- password : your_password //这是生成的授权码
- to : feei@feei.cn //这是接受邮件的邮箱地址
- cc : feei@feei.cn //这是抄送邮件的邮箱地址
-
- [github]
- clone : false //扫描到的漏洞仓库是否立刻Clone到本地
- tokens : your_github_token //这是你github的token
复制
邮箱服务配置:
这里以QQ邮箱为例,找到【设置】点击【账户】下拉找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务
一栏,点击开启,绑定QQ安全中心的用户需要输入app中的令牌
验证成功授权码就拿到啦
github获取token:
进入https://github.com/settings/tokens页面点击生成新令牌
然后会验证密码
勾选public_repo
然后生成就完活了
最后将配置文件改成这样就行了
- [mail]
- host : smtp.qq.com
- port : 465
- mails : nsq88@vip.qq.com
- from : GSIL
- password : jvydbjshjvhvjdsc
- to : nsq88@vip.qq.com
- cc : nsq88@vip.qq.com
-
- [github]
- clone : false
- tokens : 1ef5d5f0bajdshvcb455dmcbmdbh29046d5b
复制
配置搜索规则:
如图找到rules.gsil.example
文件,修改你想搜索的内容
解释如下:
- {
- # 一级分类,一般使用公司名,用作开启扫描的第一个参数(python gsil.py test)
- "test": {
- # 二级分类,一般使用产品线
- "mogujie": {
- # 公司内部域名
- "\"mogujie.org\"": {
- # mode/ext默认可不填
- "mode": "normal-match",
- "ext": "php,java,python,go,js,properties"
- },
- # 公司代码特征
- "copyright meili inc": {},
- # 内部主机域名
- "yewu1.db.mogujie.host": {},
- # 外部邮箱
- "mail.mogujie.com": {}
- },
- "meilishuo": {
- "meilishuo.org": {},
- "meilishuo.io": {}
- }
- }
- }
复制
都配置好以后你可以先检查一下token的有效性,这样部署就完成了
python gsil.py --verify-tokens
复制
开始获取敏感信息 :
终端输入
python gsil.py test
复制
这是我配置的规则,有点多
结果展示:
比如这里有一个泄露用户名及密码的
点击e8b503
就可以直接定位到文件位置
2、gshark
介绍:这是个可视化的监测工具,它不仅可以监控github
,还可以监控gitlab
所需环境:
- go
- 64位gcc
- Linux 一个github账号token,获取地址:https://github.com/settings/tokens
不建议使用window部署,别问为什么,问就是“错错错,是我的错”
安装go
apt-get install golang
复制
Linux中一般自带gcc,没有的话跟上面一样安装就行了
项目安装:
gshark安装可以执行命令,也可以直接到github下载
git clone https://github.com/madneal/gshark
复制
然后执行
go get ./...
复制
如果报错没有执行成功可以试试这个更换国内源
go env -w GOPROXY=https://goproxy.cn
复制
完成后执行
go build main.go
复制
然后改个文件名就哦克了
mv app-template.ini app.ini
复制
运行服务:
开启后台web服务
./main web &
复制
浏览器中输入
http://127.0.0.1:8000/admin/login
复制
账号密码都是gshark
进去之后先添加github的token
规则配置:
改一下规则,想扫那个子域名或者关键字填上就行
规则配置好后点击enable
启用规则,想停用就点右边那个
过滤规则可以自己添加
然后回到终端输入下面命令开始监测
./main scan
复制
结果展示:
过一段时间源代码扫描报告
中就会有一堆结果
直接点击上面的链接会跳到那个文件,这时你就可以愉快的寻找敏感信息啦,哦耶