
SubFinder是一個(gè)子域發(fā)現(xiàn)工具,可以為任何目標(biāo)枚舉海量的有效子域名。它已成為sublist3r項(xiàng)目的繼承者。SubFinder使用被動(dòng)源,搜索引擎,Pastebins,Internet Archives等來(lái)查找子域,然后使用靈感來(lái)自于altdns的置換模塊來(lái)生成排列,并使用強(qiáng)大的bruteforcing引擎快速的解析它們。如果需要,它也可以執(zhí)行純粹的爆破。此外,SubFinder還具有高可定制性。其代碼構(gòu)建模塊化的特點(diǎn),使你能夠輕松地添加功能或移除錯(cuò)誤。
視頻演示:https://asciinema.org/a/177851
特性
簡(jiǎn)單且模塊化的代碼庫(kù)使你能夠輕松地為其添加功能或移除錯(cuò)誤。
快速且強(qiáng)大的Bruteforcing模塊
強(qiáng)大的置換生成引擎。(開發(fā)中)
海量被動(dòng)數(shù)據(jù)源(目前有29個(gè))
支持多種輸出格式
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風(fēng)格的JSON格式寫入輸出(必需與-nW一起使用)
./subfinder -o output.txt -nw -oA
-oJ
以JSON格式寫入輸出
./subfinder -o output.json -oJ
-oD
輸出到目錄(使用多個(gè)主機(jī)時(shí))
./subfinder -od ~/misc/out/
-r
逗號(hào)分隔域名解析服務(wù)器地址
./subfinder -r 8.8.8.8,1.1.1.1
-rL
包含要使用的解析列表文件
./subfinder -rL resolvers.txt
–recursive
使用遞歸查找子域(默認(rèn)為:true)
./subfinder –recursive
–set-config
更改配置選項(xiàng)
./subfinder –set-config example=something
–set-settings
更改設(shè)置選項(xiàng)
./subfinder –set-settings CensysPages=10
–silent
僅顯示找到的子域
./subfinder –silent
–sources
逗號(hào)分隔使用的源文件列表(可選)
./subfinder –sources threatcrowd,virustotal
–exclude-sources
逗號(hào)分隔不使用的源文件列表(可選)
./subfinder –exclude-sources threatcrowd,virustotal
-t
并發(fā)線程數(shù)(爆破)
./subfinder -t 10
–timeout
等待直到退出連接
./subfinder –timeout 10
-v
顯示詳細(xì)輸出
./subfinder -v
-w
用于執(zhí)行bruteforcing和置換的字典列表
./subfinder -w words.txt
安裝說(shuō)明
直接安裝
SubFinder需要go1.10+的環(huán)境才能成功安裝!使用go get命令下載SubFinder:
go get github.com/Ice3man543/subfinder
更新
你還可以使用-u命令來(lái)強(qiáng)行更新代碼包:
go get -u github.com/Ice3man543/subfinder
在Docker Container中運(yùn)行
Git clone repo,然后使用以下命令在container中構(gòu)建并運(yùn)行subfinder
git clone https://github.com/Ice3man543/subfinder.git
創(chuàng)建你的docker container
docker build -t subfinder .
在container創(chuàng)建后,執(zhí)行以下命令。
docker run -it subfinder
以上命令與運(yùn)行-h相同
注意:請(qǐng)務(wù)必按照后安裝步驟正確配置該工具。
例如,以下將針對(duì)uber.com運(yùn)行該工具,并將結(jié)果輸出到你的主機(jī)文件系統(tǒng):
docker run -v $HOME/.config/subfinder:/root/.config/subfinder -it subfinder -d uber.com > uber.com.txt
后安裝說(shuō)明
在成功安裝Subfinder后,我們還需要做一些配置工作。某些服務(wù)的使用,需要我們手中有API密鑰。如果沒有,以下服務(wù)將會(huì)無(wú)法正常工作:
Virustotal
Passivetotal
SecurityTrails
Censys
Riddler
Shodan
這些是你必須通過命令行指定的配置選項(xiàng)。
VirustotalAPIKey
PassivetotalUsername
PassivetotalKey
SecurityTrailsKey
RiddlerEmail
RiddlerPassword
CensysUsername
CensysSecret
ShodanAPIKey
這些值存儲(chǔ)在首次運(yùn)行該工具時(shí)被創(chuàng)建的$HOME/.config/subfinder/config.json文件中。使用–set-config選項(xiàng)設(shè)置服務(wù)API密鑰:
./subfinder --set-config VirustotalAPIKey=0x41414141
./subfinder --set-config PassivetotalUsername=hacker,PassivetotalKey=supersecret
如果你使用的是docker,則首先需要你手動(dòng)來(lái)創(chuàng)建保存subfinder配置文件的目錄結(jié)構(gòu)。你可以在主機(jī)系統(tǒng)中運(yùn)行二進(jìn)制文件,然后讓它創(chuàng)建文件的目錄結(jié)構(gòu),之后可以使用–set-config選項(xiàng)設(shè)置api值。手動(dòng)創(chuàng)建命令如下:
mkdir $HOME/.config/subfinder
cp config.json $HOME/.config/subfinder/config.json
nano $HOME/.config/subfinder/config.json
配置完成后,你可以運(yùn)行以下命來(lái)枚舉目標(biāo)子域:
sudo docker run -v $HOME/.config/subfinder:/root/.config/subfinder -it subfinder -d freelancer.com
運(yùn)行
查找目標(biāo)域子域:
./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選項(xiàng),將輸出格式顯示為json。–silent:僅顯示沒有任何其他信息的子域。–set-config:更改配置選項(xiàng)值。–set-setting:更改設(shè)置選項(xiàng),例如我們可以使用該選項(xiàng)指定Censys的檢查頁(yè)數(shù):
./subfinder -d freelancer.com --sources censys --set-settings CensysPages=2 -v
如果要檢查censys返回的所有頁(yè)面,則可以使用 “all” 選項(xiàng)。注意,這是一個(gè)字符串。
以下是當(dāng)前支持的設(shè)置
CensysPages
AskPages
BaiduPages
BingPages
對(duì)于bruteforcing功能,你可以使用-b和-w選項(xiàng)來(lái)指定一個(gè)字典列表。
./subfinder -d freelancer.com -b -w jhaddix_all.txt -t 100 --sources censys --set-settings CensysPages=2 -v
你也可以以Aquatone風(fēng)格的JSON格式寫入輸出。
./subfinder -d freelancer.com -o result_aquatone.json -oT -nW -v
指定域名解析服務(wù)地址:
./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
|