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
结果展示:
过一段时间源代码扫描报告
中就会有一堆结果
直接点击上面的链接会跳到那个文件,这时你就可以愉快的寻找敏感信息啦,哦耶