Sudomy:子域名枚举与分析工具
作者:admin | 时间:2019-10-6 22:01:46 | 分类:黑客工具 隐藏侧边栏展开侧边栏
Sudomy是一个使用bash脚本创建的子域枚举工具,用于快速全面地分析域和收集子域。
特性
轻便,快速,功能强大。几乎所有的Linux发行版中都默认提供了Bash脚本。通过使用bash脚本的多进程处理功能,可以最佳地利用所有处理器。
子域枚举过程可以通过使用主动或被动方法来实现
(1)主动方法
Sudomy利用Gobuster工具,因为它在执行DNS Subdomain Bruteforce攻击(支持通配符)时具有高速性能。使用的词汇表来自组合的SecList(Discover/DNS)列表,其中包含大约300万个条目
(2)被动方法
通过选择第三方站点可以优化枚举过程,节约大量时间并获得更多的结果。Sudomy可以从这16个第三方网站收集数据:
https://sslmate.com/certspotter
测试收集的子域列表并探测工作的http或https服务器。此功能使用第三方工具httprobe来完成。
基于Ping Sweep和/或获取的HTTP状态码测试子域可用性。
检测虚拟主机的能力(解析为单个IP地址的多个子域)。Sudomy会将收集的子域解析为IP地址,然后在多个子域解析为单个IP地址时对其进行分类。此功能对于下一次渗透测试/bug bounty非常有用。例如,在端口扫描中,不会重复的扫描单个IP地址
从收集的子域/虚拟主机IP地址执行端口扫描
子域名接管攻击测试
子域截图
以HTML或CSV格式输出报告
Sudomy 是如何工作的?
Sudomy使用cURL库以从第三方站点获取HTTP响应主体,然后执行正则表达式获取子域。此过程充分利用了多处理器,将节约大量时间并获得更多的结果。
对比
以下是Sublist3r,Subfinder和Sudomy的被动枚举DNS测试的结果的对比。使用的域为bugcrowd.com。
Asciinema:
安装
目前,Sudomy包含了以下的扩展工具。有关应用的安装和使用说明请点击相应链接。
Tools | License | Info |
---|---|---|
Gobuster | Apache License 2.0 | 非强制性 |
httprobe | Tom Hudson – | 强制性 |
nmap | GNU General Public License v2.0 | 非强制性 |
依赖项
$ pip install -r requirements.txt
Sudomy需要jq来运行和解析。有关jq的下载和安装请参阅此处
# Linux apt-get install jq nmap phantomjs # Mac brew cask install phantomjs
brew install jq nmap
如果你已准备好了Go环境,那么键入以下命令:
export GOPATH=$HOME/go export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
go get -u github.com/tomnomnom/httprobe
go get -u github.com/OJ/gobuster
从 Github 下载 Sudomy
# Clone this repository git clone --recursive https://github.com/screetsec/Sudomy.git # Go into the repository sudomy --help
在 Docker 容器中运行
# Pull an image from DockerHub docker pull screetsec/sudomy:v1.1.0 # Run an image, you can run the image on custom directory but you must copy/download config sudomy.api on current directory docker run -v "${PWD}/output:/usr/lib/sudomy/output" -v "${PWD}/sudomy.api:/usr/lib/sudomy/sudomy.api" -it --rm screetsec/sudomy:v1.1.0 [argument]
安装后
查询第三方网站之前需要API密钥,例如Shodan,Censys,SecurityTrails,Virustotal和BinaryEdge。
API密钥设置可以在sudomy.api文件中完成。
# Shodan # URL : http://developer.shodan.io # Example : # - SHODAN_API="VGhpc1M0bXBsZWwKVGhmcGxlbAo" SHODAN_API="" # Censys # URL : https://censys.io/register CENSYS_API="" CENSYS_SECRET="" # Virustotal # URL : https://www.virustotal.com/gui/ VIRUSTOTAL="" # Binaryedge # URL : https://app.binaryedge.io/login BINARYEDGE="" # SecurityTrails # URL : https://securitytrails.com/ SECURITY_TRAILS=""
使用
___ _ _ _
/ __|_ _ __| (_)(_)_ __ _ _
\__ \ || / _ / __ \ ' \ || |
|___/\_,_\__,_\____/_|_|_\_, | |__/ v{1.1.0#dev} by @screetsec Sud⍥my - Fast Subdmain Enumeration and Analyzer
http://github.com/screetsec/sudomy
Usage: sud⍥my.sh [-h [--help]] [-s[--source]][-d[--domain=]]
Example: sud⍥my.sh -d example.com sud⍥my.sh -s Shodan,VirusTotal -d example.com sud⍥my.sh -pS -rS -sC -nT -sS -d example.com Optional Arguments:
-a, --all Running all Enumeration, no nmap & gobuster
-b, --bruteforce Bruteforce Subdomain Using Gobuster (Wordlist: ALL Top SecList DNS)
-d, --domain domain of the website to scan
-h, --help show this help message
-o, --html Make report output into HTML
-s, --source Use source for Enumerate Subdomain
-tO, --takeover Subdomain TakeOver Vulnerabilty Scanner
-pS, --ping-sweep Check live host using methode Ping Sweep
-rS, --resolver Convert domain lists to resolved IP lists without duplicates
-sC, --status-code Get status codes, response from domain list
-nT, --nmap-top Port scanning with top-ports using nmap from domain list
-sS, --screenshot Screenshots a list of website
-nP, --no-passive Do not perform passive subdomain enumeration --no-probe Do not perform httprobe
将所有16个源和探针用于工作的http或https服务器:
$ sudomy -d hackerone.com
使用其中一个源:
$ sudomy -s shodan,dnsdumpster,webarchive -d hackerone.com
使用一个或多个插件:
$ sudomy -pS -sC -sS -d hackerone.com
使用所有插件:测试主机状态,http/https状态码,子域名接管和屏幕截图
$ sudomy --all -d hackerone.com
以HTML格式创建报告
$ sudomy --all -d hackerone.com --html
HTML报告示例:
仪表板
报告
工具概述
Youtube视频:点击这里
感谢
Tom Hudson - Tomonomnom
OJ Reeves - Gobuster
Thomas D Maaaaz - Webscreenshot
Daniel Miessler - SecList
EdOverflow - can-i-take-over-xyz
jerukitumanis - Docker Maintainer
NgeSEC Community
*参考来源:GitHub,FB小编secist编译,转自FreeBuf