Subfinder:一个子域名发现工具,可以为任何目标枚举海量的有效子域名
source link: http://www.freebuf.com/sectool/175556.html?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
SubFinder是一个子域发现工具,可以为任何目标枚举海量的有效子域名。它已成为 sublist3r项目 的继承者。SubFinder使用被动源,搜索引擎,Pastebins,Internet Archives等来查找子域,然后使用灵感来自于altdns的置换模块来生成排列,并使用强大的bruteforcing引擎快速的解析它们。如果需要,它也可以执行纯粹的爆破。此外,SubFinder还具有高可定制性。其代码构建模块化的特点,使你能够轻松地添加功能或移除错误。
视频演示:https://asciinema.org/a/177851
特性
简单且模块化的代码库使你能够轻松地为其添加功能或移除错误。
快速且强大的Bruteforcing模块
强大的置换生成引擎。(开发中)
海量被动数据源(目前有29个)
支持多种输出格式
Ask, Archive.is, Baidu, Bing, Censys, CertDB, CertSpotter, CrtSH, DnsDB, DNSDumpster, Dogpile, Entrust CT-Search, Exalead, FindSubdomains, Hackertarget, IPv4Info, Netcraft, PassiveTotal, PTRArchive, Riddler, SecurityTrails, SiteDossier, Shodan, SSL Certificates, ThreatCrowd, ThreatMiner, Virustotal, WaybackArchive, Yahoo
使用
./subfinder -h
显示帮助信息
Flag 描述 示例 -b 使用bruteforcing查找子域 ./subfinder -d example.com -b -c 不要显示彩色输出 ./subfinder -c -d 通过域名查子域 ./subfinder -d example.com -dL 通过域名列表查子域 ./subfinder -dl hosts.txt -nW 删除通配符子域 ./subfinder -nw -o 输出文件名(可选) ./subfinder -o output.txt -oT 以Aquatone风格的JSON格式写入输出(必需与-nW一起使用) ./subfinder -o output.txt -nw -oA -oJ 以JSON格式写入输出 ./subfinder -o output.json -oJ -oD 输出到目录(使用多个主机时) ./subfinder -od ~/misc/out/ -r 逗号分隔域名解析服务器地址 ./subfinder -r 8.8.8.8,1.1.1.1 -rL 包含要使用的解析列表文件 ./subfinder -rL resolvers.txt –recursive 使用递归查找子域(默认为:true) ./subfinder –recursive –set-config 更改配置选项 ./subfinder –set-config example=something –set-settings 更改设置选项 ./subfinder –set-settings CensysPages=10 –silent 仅显示找到的子域 ./subfinder –silent –sources 逗号分隔使用的源文件列表(可选) ./subfinder –sources threatcrowd,virustotal –exclude-sources 逗号分隔不使用的源文件列表(可选) ./subfinder –exclude-sources threatcrowd,virustotal -t 并发线程数(爆破) ./subfinder -t 10 –timeout 等待直到退出连接 ./subfinder –timeout 10 -v 显示详细输出 ./subfinder -v -w 用于执行bruteforcing和置换的字典列表 ./subfinder -w words.txt安装说明
直接安装
SubFinder需要go1.10+的环境才能成功安装!使用go get命令下载SubFinder:
go get github.com/Ice3man543/subfinder
更新
你还可以使用-u命令来强行更新代码包:
go get -u github.com/Ice3man543/subfinder
在Docker Container中运行
Git clone repo,然后使用以下命令在container中构建并运行subfinder
git clone https://github.com/Ice3man543/subfinder.git
创建你的docker container
docker build -t subfinder .
在container创建后,执行以下命令。
docker run -it subfinder
以上命令与运行-h相同
注意:请务必按照后安装步骤正确配置该工具。
例如,以下将针对uber.com运行该工具,并将结果输出到你的主机文件系统:
docker run -v $HOME/.config/subfinder:/root/.config/subfinder -it subfinder -d uber.com > uber.com.txt
后安装说明
在成功安装Subfinder后,我们还需要做一些配置工作。某些服务的使用,需要我们手中有API密钥。如果没有,以下服务将会无法正常工作:
这些是你必须通过命令行指定的配置选项。
VirustotalAPIKey PassivetotalUsername PassivetotalKey SecurityTrailsKey RiddlerEmail RiddlerPassword CensysUsername CensysSecret ShodanAPIKey
这些值存储在首次运行该工具时被创建的$HOME/.config/subfinder/config.json文件中。使用–set-config选项设置服务API密钥:
./subfinder --set-config VirustotalAPIKey=0x41414141 ./subfinder --set-config PassivetotalUsername=hacker,PassivetotalKey=supersecret
如果你使用的是docker,则首先需要你手动来创建保存subfinder配置文件的目录结构。你可以在主机系统中运行二进制文件,然后让它创建文件的目录结构,之后可以使用–set-config选项设置api值。手动创建命令如下:
mkdir $HOME/.config/subfinder cp config.json $HOME/.config/subfinder/config.json nano $HOME/.config/subfinder/config.json
配置完成后,你可以运行以下命来枚举目标子域:
sudo docker run -v $HOME/.config/subfinder:/root/.config/subfinder -it subfinder -d freelancer.com
运行
查找目标域子域:
./subfinder -d freelancer.com
[CERTSPOTTER] www.fi.freelancer.com [DNSDUMPSTER] hosting.freelancer.com [DNSDUMPSTER] support.freelancer.com [DNSDUMPSTER] accounts.freelancer.com [DNSDUMPSTER] phabricator.freelancer.com [DNSDUMPSTER] cdn1.freelancer.com [DNSDUMPSTER] t1.freelancer.com [DNSDUMPSTER] wdc.t1.freelancer.com [DNSDUMPSTER] dal.t1.freelancer.com
-o命令可用于指定输出文件。
./subfinder -d freelancer.com -o output.txt
你还可以使用-oJ选项,将输出格式显示为json。–silent:仅显示没有任何其他信息的子域。–set-config:更改配置选项值。–set-setting:更改设置选项,例如我们可以使用该选项指定Censys的检查页数:
./subfinder -d freelancer.com --sources censys --set-settings CensysPages=2 -v
如果要检查censys返回的所有页面,则可以使用 “all” 选项。注意,这是一个字符串。
以下是当前支持的设置
CensysPages AskPages BaiduPages BingPages
对于bruteforcing功能,你可以使用-b和-w选项来指定一个字典列表。
./subfinder -d freelancer.com -b -w jhaddix_all.txt -t 100 --sources censys --set-settings CensysPages=2 -v
你也可以以Aquatone风格的JSON格式写入输出。
./subfinder -d freelancer.com -o result_aquatone.json -oT -nW -v
指定域名解析服务地址:
./subfinder -d freelancer.com -o result_aquatone.json -oT -nW -v -r 8.8.8.8,1.1.1.1 ./subfinder -d freelancer.com -o result_aquatone.json -oT -nW -v -rL resolvers.txt
*参考来源: GitHub , FB小编 secist 编译,转载请注明来自FreeBuf.COM
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK