关于ODBParser
ODBParser是一款公开资源情报工具,可以帮助广大研究人员从Elasticsearch和MongoDB目录中搜索、解析并导出我们感兴趣的数据。除此之外,这款工具还可以帮助广大研究人员从开放数据库中搜索出曝光的个人可标识信息(PII)。
ODBParser的主要目标是创建一个一站式公开资源情报工具,用于搜索、解析和分析开放数据库,以便识别第三方服务器上的PII泄漏。
功能介绍
(1) 识别开放数据库
- 使用所有可行的参数查询Shodan和BinaryEdge,可通过国家、端口号和其他内容过滤查询结果;
- 指定单个IP地址;
- 加载IP地址列表文件;
- 从剪贴板粘贴IP地址列表;
导出选项:
- 解析所有的数据库/集合来识别指定的数据;
- 获取目标服务器中托管的所有数据;
- 获取集合/索引数据;
- 使用Ctrl + C跳过特定索引;
(2) 后渗透处理
- 将JSON导出数据转换为CSV;
- 从CSV中移除特定的列;
(3) 其他功能
- 跟踪查询的所有IP地址和数据库以及有关每个服务器的信息;
- 对于每个记录总数超过限制的数据库,脚本将在一个特殊文件中创建一个条目以及5个示例记录,以便你可以查看并决定数据库是否值得抓取;
- 默认输出是行分隔的JSON文件,每行上有一个JSON对象。你可以使用“properjson”标志选择让它输出一个“适当的JSON”文件;
工具安装
首先,我们需要使用下列命令将该项目源码克隆至本地:
gitclonehttps://github.com/citcheese/ODBParser.git
接下来,我们需要自行获取Shodan和BinaryEdge的API密钥,并在ODBconfig.py文件中配置相应的参数。
最后,根据项目目录中的requirements.txt安装并配置该工具所需的依赖组件。
我建议广大研究人员创建一个ODBParser的虚拟环境,该工具目前尽在Windows 10(Python 3.7.3)环境中进行过测试。
工具使用
Examples:pythonODBParser.py-cnUS-p8080-tusers--elastic--shodan--csv--limit100 pythonODBParser.py-ip192.168.2:8080--mongo--ignorelogs--nosizelimits Damageto-date:0serversparsed|0databasesdumped|0recordspulled _____________________________________________________________________________ optionalarguments: -h,--helpshowthishelpmessageandexit QueryOptions: --shodan,-shAddthisflagifusingShodan.SpecifyESorMDBw/ flags. --binary,-beAddthisflagifusingBinaryEdge.SpecifyESorMDB w/flags. --ip,-ipQueryoneserver.Addportlikeso'192.165.2.1:8080' orwillusedefaultportsforeachdbtype.AddESor MDBflagstospecifyparser. --file,-fLoadline-separatedIPsfromfile.Addportorwill assumedefaultportsforeachdbtype.AddESorMDB flagstospecifyparser. --paste,-vQueryline-separatedIPsfromclipboard.Addportor willassumedefaultportsforeachdbtype,e.g.9200 forES.AddESorMDBflagstospecifyparser. Shodan/BinaryEdgeOptions: --limit,-lMaxnumberofresultsperquery.Defaultis 500. --port,-pFilterbyport. --country,-cnFilterbycountry(two-lettercountrycode). --terms,-tEnteranyadditionalquerytermsyouwanthere,e.g. 'users' DumpOptions: --mongo,-mdbUseforIP,Shodan,BinaryEdge&Pastemethodsto specifyparser. --elastic,-esUseforIP,Shodan,BinaryEdge&Pastemethodsto specifyparser. --properjson,-pjAddthisflagifwouldlikeoutputtobeproperJSON file.DefaultisoneJSONstringobjectperline. --database,-dbSpecifydatabaseyouwanttograb.ForMDBmustbein formatformat'db:collection'.UsewithIParg&'es' or'mdb'flag --getall,-gGetallindicesregardlessoffieldsand collection/indexnames(overridesselectionsinconfig file). --ignorelogsConnecttoaserveryou'vealreadycheckedout. --nosizelimits,-nDumpindexnomatterhowbigitis.Defaultmaxdoc countis800,000. --csvConvertJSONdumpsintoCSVformatonthefly.(Puts JSONfilesinbackupfolderincasethereisissue withcoversion) CSV/Post-processingOptions: --convertToCSV,-cConvertJSONfileorfolderofJSONdumpstoCSVs afterthefact.Enterfullpathorfoldernamein currentworkingdirectory --dontflattenUseifrunintomemoryissuesconvertingJSONfilesto CSVduringpost-processing. --basicUsewith--convertToCSVflagifyourJSONdumpsare nottrueJSONfiles,butratherlineseparatedJSON objectsthatyougotfromothersources. --dontclean,-dcChooseifwanttokeepuselessdatawhenconvertto CSV.Seedocsformoreinfo.
项目地址
ODBParser:【GitHub
发表评论