Sub404是什么?

Sub404是一款基于Python开发的工具,可以帮助广大研究人员快速检测出潜在的子域名接管漏洞,该工具的运行速度非常快,并且支持异步扫描和业务处理方式。

在网络侦察的过程中,我们可能会拿到大量的子域名,这个数量可能会成千上万。因此,我们是不太可能手动、或以传统请求和urllib方法去对这些子域名进行测试的。在Sub404的帮助下,你将能够以非常快速的方式自动化完成这个任务。Sub404使用了aiohttp/asyncio,因此该工具支持异步扫描和处理方式,并且运行速度非常快。

该工具已在Linux系统上进行过测试,理论上支持在其他操作系统平台上使用。

工作机制

Sub404可以接收文本文件作为子域名列表输入方式,并检测URL的“404 Not Found”状态码。Sub404还可以获取目标域名的CNAME,并移除CNAME中包含目标域名的URL地址。除此之外,它还可以结合subfinder和sublist3r(子域名枚举工具)的处理结果来进行分析,如果你还没有拿到目标子域名的话,建议大家结合这两款工具一起使用,不过前提是我们要在系统上安装好sublist3r和subfinder。值得一提的是,Sub404可以在五分钟时间里扫描并检测七千多个子域名。

关键功能

这次hi异步处理方式,运行速度非常快;

使用了两款额外工具来提升工作效率;

以文本文件形式存储处理结果,以支持其他引用;

如何使用

注意:该工具目前仅支持Python 3.7+环境。

首先,使用下列命令将该项目源码克隆至本地:

git clone https://github.com/r3curs1v3-pr0xy/sub404.git

接下来,使用下列命令安装依赖组件:

pip install -r requirements.txt

安装Subfinder(可选):【传送门

安装Sublist3r(可选):【传送门

安装完成后,我们就可以通过下列命令来使用该工具了:

python3 sub404.py -h

使用Docker

当然了,我们还可以构建一个Docker镜像来使用Sub404,这样我们就不需要其他的依赖组件了:

$ docker build -t sub404 .

$ docker run --rm sub404 -h

工具使用

已安装Subfinder和Sublist3r

使用Subfinder和Sublist3r工具的结果来检测潜在的子域名接管漏洞:

$ python3 sub404.py -d anydomain.com

未安装Subfinder和Sublist3r
如果你没有安装Subfinder和Sublist3r,则需要将子域名以文本文件的形式提供给Sub404:

$ python3 sub404.py -f subdomain.txt

使用选项

$ python3 sub404.py -h

上述命令将给用户显示工具的帮助信息,下面给出的是该工具支持的参数选项:

参数

描述

使用样例

-d

目标域名

python3 sub404.py -d noobarmy.tech

-f

提供子域名文件路径,检测子域名接管漏洞

python3 sub404.py -f subdomain.txt

-p

设置请求协议,默认为http

python3 sub404.py -f subdomain.txt -p https or python3 sub404.py -d noobarmy.tech -p https

-o

输出Sublist3r和Subfinder的子域名结果至文本文件,默认为“uniqueURL.txt”

python3 sub404.py -d noobarmy.tech -o output.txt

-h

显示帮助信息并退出

python3 sub404.py -h

项目地址

Sub404:【GitHub传送门

参考资料

本文作者:Alpha_h4ck, 转自FreeBuf