今天给大家介绍一款基于命令行实现的扫描工具-Dorkbot,它可以从Google的搜索结果中扫描出其中可能存在的安全漏洞。

基于Google搜索结果的命令行漏洞扫描工具

Dorkbot

Dorkbot是一款基于命令行的模块化工具,它能够对Google搜索引擎所返回的查询结果进行漏洞扫描。也就是说,它能够对搜索引擎所返回的一系列Web页面进行漏洞扫描。Dorkbot主要可以分为两套模块,即Indexers和Scanners:

1. Indexers-这个模块可以发起一次搜索请求,并将搜索引擎返回的结果作为漏洞扫描对象。

2. Scanners-这个模块能够对每一个目标(Web页面)执行漏洞扫描。

Dorkbot会将搜索到的目标保存在一个本地数据库中,接下来Dorkbot便会对目标进行漏洞扫描,Dorkbot会将任何扫描到的漏洞信息写入一份标准JSON格式的报告文件中。需要注意的是,索引和扫描过程既可以单独进行,也可以通过命令一起执行。

工具使用

usage: dorkbot.py [-h] [-c CONFIG] [-bBLACKLIST] [-d DATABASE] [-i INDEXER]
[-l] [-o INDEXER_OPTIONS] [-pSCANNER_OPTIONS] [-s SCANNER]
[-v VULNDIR]
optional arguments:
-h,--help            show this help messageand exit -cCONFIG, --config CONFIG Configuration file
-bBLACKLIST, --blacklist BLACKLIST File containing (regex)patterns to blacklist from
scans
-dDATABASE, --database DATABASE SQLite3 database file
-iINDEXER, --indexer INDEXER Indexer module to use -l,--list            List targets indatabase -oINDEXER_OPTIONS, --indexer-options INDEXER_OPTIONS Indexer-specificoptions (opt1=val1,opt2=val2,..)
-pSCANNER_OPTIONS, --scanner-options SCANNER_OPTIONS Scanner-specificoptions (opt1=val1,opt2=val2,..)
-sSCANNER, --scanner SCANNER Scanner module to use -vVULNDIR, --vulndir VULNDIR Directory to storevulnerability output reports 

运行平台

Python 2.7.x / 3.x (Linux / Mac OS /Windows)

注:需要安装python-dateutil【点我下载

快速开始

1.      首先下载PhantomJS,然后将ArachniWapiti(二选一)安装在电脑中,不过你要确保已经安装好了相应的依赖组件。

2.      将每一个工具提取到工具目录下,然后把文件夹以工具名称命名,例如dorkbot/tools/phantomjs/, dorkbot/tools/arachni/等等。

3.      创建一个Google自定义搜索引擎,记录下搜索引擎ID(例如012345678901234567891:abc12defg3h)。

4.      安装python-dateutil(使用pip安装:pip install python-dateutil)

使用样例:使用arachni扫描url地址中包含字符串“id”的php页面:

$ ./dorkbot.py -i google -oengine=012345678901234567891:abc12defg3h,query="filetype:php inurl:id"-s arachni

Indexer模块

google

通过自定义搜索元素对Google自定义搜索引擎(CSE)返回的目标进行检索。

要求:PhantomJS【点我下载

选项:

1.      engine:CSE id;

2.      query:搜索语句;

3.      phantomjs_dir:基于phantomjs的目录,其中包含bin/phantomjs(默认:tools/phantomjs);

4.      domain:限制仅搜索指定域名;

stdin

以标准输入格式读取扫描目标,每次读取一行。

要求:无

选项:无

Scanner模块

arachni

使用Arachni命令行扫描器对目标进行扫描。

要求:Arachni【点我下载

选项:

1.      arachni_dir:arachni目录,其中包含bin/arachni和bin/arachni_reporter(默认:tools/arachni/);

2.      report_dir:用于保存arachni扫描信息以及JSON扫描报告的目录(默认:reports/);

3.      checks:指定需要核验的漏洞(默认:active/*,-csrf,-unvalidated_redirect,-source_code_disclosure,-response_splitting,-no_sql_injection_differential);

wapiti

使用Wapiti命令行扫描器对目标进行漏洞扫描。

要求:Wapiti【点我下载

选项:

1. wapiti_dir:wapiti目录,其中包含bin/wapiti(默认:tools/wapiti/);

2. report_dir:保存wapiti JSON扫描报告的目录(默认:reports/);

* 参考来源:dorkbot, FB小编Alpha_h4ck编译