Syborg:一款带有断路躲避系统的DNS子域名递归枚举工具

枫少@KillBoy 资源分享评论5,639字数 1212阅读4分2秒阅读模式

Syborg:一款带有断路躲避系统的DNS子域名递归枚举工具

Syborg

Syborg是一款DNS子域名递归枚举工具,它的扫描模式既非主动,也非完全被动的。该工具可以直接构造一个域名,然后通过指定的DNS服务器查询该域名。

Syborg配备了一个断路规避系统,这个系统的灵感来自于@Tomnomnom的ettu项目
当你使用其他类似工具来执行子域名枚举任务时,大多数工具都会被动查询类似virustotal、crtsh或censys之类的公共记录。但Syborg所采用的枚举技术速度非常快,并且能够在最短的时间内帮助研究人员查找出尽可能多的域名。
但是,仍然有很多域名是这些公共记录中不会包含或者涉及到的。为了查找出这些域名,Syborg能够跟域名服务器进行交互,并根据对DNS服务器进行递归爆破查询,直到查询队列为空为止。
Syborg:一款带有断路躲避系统的DNS子域名递归枚举工具

工作机制

从一开始,如果一个DNS域名的查询结果记录为0条,那么你可能会收到一条NXDOMAIN错误:

host four.tomnomnom.uk
Host four.tomnomnom.uk not found: 3(NXDOMAIN)

你可能也注意到了,有的时候你可能收到的是一个空响应:

host three.tomnomnom.uk

后面这种情况的不同之处就在于,返回的记录中可能会包含另一个域名名称,而这个域名会以你查询的域名作为后缀:

host one.two.three.tomnomnom.uk
one.two.three.tomnomnom.uk has address 46.101.59.42

相应信息中的这种差异可以帮助我们避免在递归DNS爆破中避免出现断路的情况,也就是那种查询到了尽头的情况:

echo -e "www/none/ntwo/nthree" | ettu tomnomnom.uk
one.two.three.tomnomnom.uk

Syborg可以将所有的这些功能以简单的并发和递归结合运行。

工具依赖

1、Python 3.x(建议)

2、Python 2.x(未测试)

工具安装

广大研究人员可以使用下列命令将项目代码克隆至本地:

git clone https://github.com/MilindPurswani/Syborg.git

接下来,运行下列命令完成依赖组件的解析:

pip3 install -r requirements.txt

工具使用

python3 syborg.py yahoo.com

运行之后,Syborg可能会达到一个较高的CPU使用率,如果你在你的VPS上运行Syborg的话,钱包可能就顶不住了。因此,为了限制资源消耗,我们可以使用一款名叫Cpulimit的工具:

cpulimit -l 50 -p $(pgrep python3)

该工具的下载命令如下:

sudo apt install cpulimit

如需获取更加完整的工具使用方式,请点击【这里】获取。

项目地址

Syborg:【GitHub传送门

https://www.freebuf.com/sectool/227851.html

免责声明:本站某些文章、信息、图片、软件等来源于互联网,由本网整理发表,希望传递更多信息和学习之目的,并不意味赞同起观点或证实其内容的真实性以及非法用途。 如设计、版权等问题,请立即联系管理员,我们会给予更改或删除相关文章,保证您的权利。
高性能云服务器2折起
 
枫少@KillBoy
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: