king

如何使用ODBParser搜索Elasticsearch和MongoDB目录数据

king 安全防护 2022-12-27 480浏览 0

如何使用ODBParser搜索Elasticsearch和MongoDB目录数据

关于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

继续浏览有关 MongoDB 的文章
发表评论