关于DorXNG
DorXNG是一款功能强大的现代OSINT信息收集工具,该工具可以利用高级搜索引擎操作符并通过多个上游搜索服务提供商来收集各种公开资源情报(OSINT)信息。DorXNG的后端利用了一个专门构建的SearXNG容器化镜像,而SearXNG则是一个自托管的、可攻击的、针对隐私数据的元数据搜索引擎。
本工具所使用的SearXNG可以将所有的搜索查询请求通过Tor网络进行路由,并使用Tor的MaxCircuitDirtiness配置指令实现每10秒刷新一次网络。除此之外,DorXNG害禁用了SearXNG的所有客户端超时功能,这些配置可以允许我们在发送大量重复搜索查询请求时,避免遇到常见的搜索引擎限制。
DorXNG客户端应用程序使用Python 3开发,能够与SearXNG API交互并以并发的形式向其发送搜索查询请求。值得一提的是,该工具还支持跨多个SearXNG实例来发送查询请求,并将查询结果存储到一个SQLite3数据库中。
注意,请不要使用DorXNG对任何公开SearXNG实例进行测试。
工具支持的上游搜索引擎
当前版本的DorXNG支持在下列上游搜索引擎中使用高级搜索查询操作符:
Google DuckDuckGo Qwant Bing Brave Startpage Yahoo
工具安装
由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好Python 3环境。接下来,广大研究人员可以使用下列命令将该项目源码克隆至本地:
代码语言:javascript复制git clone https://github.com/ResearchandDestroy/DorXNG.git
(向右滑动,查看更多)
然后切换到项目目录中,使用pip工具和项目提供的requirements.txt安装该工具所需的其他依赖组件:
代码语言:javascript复制cd DorXNG
pip install -r requirements.txt
下列命令可以同时运行多个容器:
代码语言:javascript复制docker run researchanddestroy/searxng:latest
(向右滑动,查看更多)
下列命令可以允许我们自定义构建容器:
代码语言:javascript复制git clone https://github.com/researchanddestroy/searxng # The URL must be all lowercase for the build process to complete
cd searxng
DOCKER_BUILDKIT=1 make docker.build
docker images
docker run <image-id>
(向右滑动,查看更多)
开始发送查询请求:
代码语言:javascript复制./DorXNG.py -q 'search query'
查询DorXNG数据库:
代码语言:javascript复制./DorXNG.py -D 'regex search string'
(向右滑动,查看更多)
工具使用样例
单个搜索查询:
代码语言:javascript复制./DorXNG.py -q 'search query'
并发搜索查询:
代码语言:javascript复制./DorXNG.py -q 'search query' -c4
页面迭代模式:
代码语言:javascript复制./DorXNG.py -q 'search query' -n4
迭代并发搜索查询:
代码语言:javascript复制./DorXNG.py -q 'search query' -c4 -n64
(向右滑动,查看更多)
服务器列表迭代模式:
代码语言:javascript复制./DorXNG.py -S server.lst -q 'search query' -c4 -n64 -t0
(向右滑动,查看更多)
查询列表迭代模式:
代码语言:javascript复制./DorXNG.py -Q query.lst -c4 -n64
查询和服务器列表迭代:
代码语言:javascript复制./DorXNG.py -S server.lst -Q query.lst -c4 -n64 -t0
(向右滑动,查看更多)
主函数循环迭代模式:
代码语言:javascript复制./DorXNG.py -S server.lst -Q query.lst -c4 -n64 -t0 -L4
(向右滑动,查看更多)
无限主函数循环迭代模式,数据库文件大小限制为10k条目:
代码语言:javascript复制./DorXNG.py -S server.lst -Q query.lst -c4 -n64 -t0 -L0 -l10
(向右滑动,查看更多)
将一个数据库合并整合到一个新的数据库文件中(每次一个):
代码语言:javascript复制./DorXNG.py -d new-database.db -m dorxng.db
(向右滑动,查看更多)
将当前工作目录中所有的数据库文件整合到一个新的数据库文件中:
代码语言:javascript复制for i in `ls *.db`; do ./DorXNG.py -d new-database.db -m $i; done
(向右滑动,查看更多)
查询一个数据库:
代码语言:javascript复制./DorXNG.py -d new-database.db -D 'regex search string'
(向右滑动,查看更多)
工具使用截图
许可证协议
本项目的开发与发布遵循GPL-3.0开源许可证协议。
项目地址
DorXNG:https://github.com/ResearchandDestroy/DorXNG
https://docs.searxng.org/
https://www.torproject.org/