GitMAD 一款扫描Github上的敏感信息和数据泄漏工具

2019 年 8 月 9 日 黑白之道



GitMAD是一个用于发现Github上的敏感信息和数据泄漏的工具。通过给定关键字或域,GitMAD便会搜索Github上托管的代码,以查找是否存在匹配项。一旦找到了匹配项,GitMAD将克隆存储库并在文件中搜索一系列可配置的正则表达式。然后,GitMAD会获取这些结果,并将它们插入到数据库中供后续的查看使用。这些结果也可作为邮件警报发送。另外,GitMAD将持续运行以发现与输入关键字匹配的新存储库。

输入
除此之外,用户还可以配置每次搜索的最大结果量,搜索间隔时间以及要克隆的存储库的大小范围。有两种模式,Monitor和Discovery。Discovery模式将在每次运行时提取并搜索新结果。Monitor模式则会首先下载给定关键字/域的所有匹配项搜索它们,然后继续搜索新结果。

处理
GitMAD从上面获取结果并搜索存储库的Git历史记录。 搜索历史记录以查找一组可配置的正则表达式。GitMAD还可以对历史文件的每一行进行分解,并在信息熵(Shannon entropy)中搜索匹配项。

配置文件
regex_matches.py
这是将关键字和正则表达式放在存储库内容中进行搜索的位置,只需在下面的列表中添加字典即可:

to_match = [
    {'match_regex': r'password', 'match_type': 'Password Match'},
    {'match_regex': r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}', 'match_type': 'IP Match'},
    {'match_regex': r'username', 'match_type': 'Username Match'},
    {'match_regex': r'\b[\w.]*@[\w]*\.[\w.]*\b', 'match_type': 'Email Match'}
    ]
entropy_whitelist.py
这是移除Entropy功能匹配你不想要的项目位置。只需在下面的列表中添加字典即可:

r_whitelist = [{'regex':r'\b[A-Za-z][a-z] ([A-Z][a-z]*) \b'}] # Camel Case
输出
GitMAD获取上面的结果,并将它们插入到一个数据库中,该数据库包含有关找到匹配项的文件以及存储库的信息。它还插入了匹配的字符串和匹配的行。这些结果可通过邮件警报,数据库和Web应用获得。

当前状态
该项目正在积极开发中。

安装
GitMAD最初是在Windows上用Python3.6编写的。它也在Ubuntu 18.04上进行了测试。

环境要求

Python 3.6 
Pip for Python3
Git
MySQL 8.0

如果是Windows系统你可以直接从Oracle网站下载MySQL8.0。如果是Ubuntu 18.04,其默认版本仍为5.7,因此你必须升级你的当前版本:

wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.12-1_all.deb 
sudo dpkg -i mysql-apt-config_0.8.12-1_all.deb
#select version 8.0
sudo apt update 
sudo apt install mysql-server
sudo mysql_secure_installation
Ubuntu 18.04 安装步骤

1)克隆存储库并进入到目录:

git clone https://github.com/deepdivesec/GitMAD.git
cd GitMAD
2)安装依赖项:

pip3 install -r requirements.txt
3)向MySQL添加脚本:

$sudo mysql -u username -p
mysql> source /<path-to-gitmad>/GitMAD/github_search_db.sql
4)运行main.py并在首次运行时输入配置信息:

python3 /<path-to-gitmad>/GitMAD/main.py -q <keyword-to-search> [see other options below]
gitmad-help.png

5)运行Web应用:

python3 /<path-to-gitmad>/GitMAD/web_home.py
6)(可选)下载并安装MySQL Workbench与结果直接进行交互。
https://dev.mysql.com/downloads/workbench/

已知问题
有时,无论存储库的大小如何,GitHub API都会返回0。该问题尚未处理,而被克隆的存储库大于-mx/–max的大小这个问题,正在处理中。

文章来与及出处:

https://github.com/deepdivesec/gitmad

你可能喜欢

Teemo:域名信息收集及爆破工具

brut3k1t:服务端暴力破解工具

anti-XSS:开源XSS脚本检测工具

登录查看更多
2

相关内容

正则表达式(Regular Expression,一般简写为RegEx或者RegExp),也译为正规表示法、常规表示法,台湾译「规则运算式」,在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
190+阅读 · 2020年6月29日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
115+阅读 · 2020年5月10日
【ICMR2020】持续健康状态接口事件检索
专知会员服务
17+阅读 · 2020年4月18日
【资源】100+本免费数据科学书
专知会员服务
105+阅读 · 2020年3月17日
【书籍推荐】简洁的Python编程(Clean Python),附274页pdf
专知会员服务
173+阅读 · 2020年1月1日
最新版本开源情报工具和资源手册(一)
黑白之道
9+阅读 · 2019年6月23日
ISeeYou一款强大的社工工具
黑白之道
29+阅读 · 2019年5月17日
欧洲数据保护委员会(EDPB)发布两年工作计划
蚂蚁金服评论
5+阅读 · 2019年4月1日
GitHub 热门:各大网站的 Python 爬虫登录汇总
机器学习算法与Python学习
9+阅读 · 2019年3月20日
文本分析与可视化
Python程序员
8+阅读 · 2019年2月28日
如何编写完美的 Python 命令行程序?
CSDN
5+阅读 · 2019年1月19日
实战 | 用Python做图像处理(二)
七月在线实验室
17+阅读 · 2018年5月25日
干货 | Python 爬虫的工具列表大全
机器学习算法与Python学习
10+阅读 · 2018年4月13日
已删除
生物探索
3+阅读 · 2018年2月10日
Arxiv
34+阅读 · 2019年11月7日
Video-to-Video Synthesis
Arxiv
9+阅读 · 2018年8月20日
VIP会员
相关资讯
最新版本开源情报工具和资源手册(一)
黑白之道
9+阅读 · 2019年6月23日
ISeeYou一款强大的社工工具
黑白之道
29+阅读 · 2019年5月17日
欧洲数据保护委员会(EDPB)发布两年工作计划
蚂蚁金服评论
5+阅读 · 2019年4月1日
GitHub 热门:各大网站的 Python 爬虫登录汇总
机器学习算法与Python学习
9+阅读 · 2019年3月20日
文本分析与可视化
Python程序员
8+阅读 · 2019年2月28日
如何编写完美的 Python 命令行程序?
CSDN
5+阅读 · 2019年1月19日
实战 | 用Python做图像处理(二)
七月在线实验室
17+阅读 · 2018年5月25日
干货 | Python 爬虫的工具列表大全
机器学习算法与Python学习
10+阅读 · 2018年4月13日
已删除
生物探索
3+阅读 · 2018年2月10日
Top
微信扫码咨询专知VIP会员