Syborg 是一个递归 DNS 域枚举器,既不是主动的,也不是完全被动的。该工具只是构造一个域名,并使用指定的 DNS 服务器进行查询。
Syborg 有一个死胡同规避系统,灵感来自 @Tomnomnom 的 ettu。
当您使用某些工具运行子域枚举时,大多数工具会被动地查询公共记录,如 virustotal、crtsh 或 censys。这种枚举技术非常快,有助于在更短的时间内发现大量域。
然而,有些域可能没有出现在这些公共记录中。为了找到这些域,Syborg 与名称服务器交互,并递归地暴力破解 DNS 的子域,直到其队列为空。
图片来源:Carbon
正如 ettu 页面上所述,我引用:
通常,如果没有记录返回给 DNS 名称,您可能会预期出现
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 将所有这些功能与简单的并发和递归相结合。
Python 3.x(推荐)
Python 2.x(未测试)
使用 git clone 命令克隆仓库,如下所示:
git clone https://github.com/MilindPurswani/Syborg.git
解决依赖:
pip3 install -r requirements.txt
python3 syborg.py yahoo.com
有关使用的更多信息,可以在 Syborg 的创意使用指南中找到。请务必查看!
有时,Syborg 可能会占用高 CPU 使用率,如果您尝试在 VPS 上使用此工具,这可能会花费很多。因此,为了限制这一点,请使用另一个名为 Cpulimit 的实用程序
cpulimit -l 50 -p $(pgrep python3)
可以通过以下方式下载此工具:
sudo apt install cpulimit
FileQueue 库解决了 Syborg 的高内存消耗问题。dnsgen。