传统的子域枚举技术会在目标服务器上产生大量数据,入侵检测系统可能发现攻击者的意图。对于更隐蔽的方法,有一种工具可以查找与目标网站相关的数百个子域,而不会警告服务器管理员。
什么是子域名?
子域有时被称为“第三层”域,有许多不同的用途。它们经常用于为特定的用户子集创建利基网站。例如,Null Byte(空字节 .wonderhowto.com)是WonderHowTo网络网络中的许多子域之一。
子域通常也用于创建单独的移动网站,例如m.facebook.com和mobile.twitter.com。
为什么子域名对黑客很重要
这些子域名很有趣,因为虽然子域名和主域名共享主域名,但这两个网站实际上可能搭建在不同的服务器上,并且服务器的安全策略配置也可能不一样。
什么是Sublist3r
由Ahmed Aboul-Ela基于python开发的Sublist3r是一种子域名收集工具,旨在使用公开可用的资源(如搜索引擎和数据库,如Netcraft,VirusTotal,ThreatCrowd,DNSdumpster,Google,Bing,百度等)来查找网站子域。Sublist3r是一款功能强大的工具,能够定位单个目标网站的数百个子域,而不会产生明显的攻击指纹。
安装Sublist3r
在Kali存储库中可以找到较旧版本的Sublist3r。为避免可能的混淆,应使用以下命令删除可能已安装的任何版本的Sublist3r。
apt-get autoremove sublist3r
接下来,克隆Sublist3r GitHub存储库。这将确保下载最新版本,并且所有Sublist3r的最新功能和引擎都可用。
git clone https://github.com/aboul3la/Sublist3r
安装Sublist3r的依赖项
CD进入“Sublist3r”目录,并使用PIP,用于安装和管理Python包的工具,安装Sublist3r依赖。该命令是运行Sublist3r所必需的。该-r参数指示PIP安装在“requirements.txt”文件中找到的依赖关系。
cd Sublist3r / pip install -r requirements.txt
验证它是否正常工作
使用-help(或-h)参数可以用来查看Sublist3r可用的选项。你会看到,每个选项都有一个简短的参数可用。
./sublist3r.py --help
使用Sublist3r查找子域
要开始枚举子域,请使用以下命令。
./sublist3r.py --domain target_website.com --ports 80,443 --verbose --threads 50 --output /path/to/filename.txt
–domain(或-d)参数定义的目标网站。这是Sublist3r将尝试寻找子域名的目标网站。
端口80和443(使用–ports或-p定义)是为网站预留的官方TCP端口。Sublist3r可以尝试枚举其他端口上的子域,但由于这些是整个互联网上网站使用的最常见的端口,因此将命令限制在这些端口是安全的。
当命令运行时,Sublist3r可以打印与发现的子域相关的附加信息。这是一个可选设置,并使用–verbose(或-v)参数启用。
默认情况下,Sublist3r在几秒钟内找到子域。修改–thread(或-t)数是另一个可选参数,但有些读者可能希望增加(或减少)枚举的速度。
发现的子域列表保存到的位置由–output(或-o)参数定义。如果该参数未包含在命令中,Sublist3r将仅打印终端中的子域。
我的查询选择了以下方式,如下图所示,Sublist3r将使用每个搜索引擎和数据库,然后将找到的结果打印到我们指出的.txt文件中。如果在选择的文件名之前没有指定路径,该文件将被创建并保存在当前目录中。
./sublist3r.py --domain target_website.com --ports 80,443 --verbose --threads 50 --output filename.txt
下面是一个示例命令,我使用DNSdumpster和Yahoo引擎的搜索WonderHowTo域名子域,并省略了–output参数。
./sublist3r.py -d wonderhowto.com --engines dnsdumpster,yahoo -p 80,443
这就是下载和使用Sublist3r通过开源智能收集来枚举子域名的过程。如果您有任何进一步的想法,请在下面留下问题和意见或在Twitter上发送消息给我@tokyoneon_。
原文发布时间为:2018-05-28