
SubFinder是一個子域發(fā)現工具,可以為任何目標枚舉海量的有效子域名。它已成為sublist3r項目的繼承者。SubFinder使用被動源,搜索引擎,Pastebins,Internet Archives等來查找子域,然后使用靈感來自于altdns的置換模塊來生成排列,并使用強大的bruteforcing引擎快速的解析它們。如果需要,它也可以執(zhí)行純粹的爆破。此外,SubFinder還具有高可定制性。其代碼構建模塊化的特點,使你能夠輕松地添加功能或移除錯誤。
視頻演示:https://asciinema.org/a/177851
特性
簡單且模塊化的代碼庫使你能夠輕松地為其添加功能或移除錯誤。
快速且強大的Bruteforcing模塊
強大的置換生成引擎。(開發(fā)中)
海量被動數據源(目前有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
并發(fā)線程數(爆破)
./subfinder -t 10
–timeout
等待直到退出連接
./subfinder –timeout 10
-v
顯示詳細輸出
./subfinder -v
-w
用于執(zhí)行bruteforcing和置換的字典列表
./subfinder -w words.txt
安裝說明
直接安裝
SubFinder需要go1.10+的環(huán)境才能成功安裝!使用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
創(chuàng)建你的docker container
docker build -t subfinder .
在container創(chuàng)建后,執(zhí)行以下命令。
docker run -it subfinder
以上命令與運行-h相同
注意:請務必按照后安裝步驟正確配置該工具。
例如,以下將針對uber.com運行該工具,并將結果輸出到你的主機文件系統(tǒng):
docker run -v $HOME/.config/subfinder:/root/.config/subfinder -it subfinder -d uber.com > uber.com.txt
后安裝說明
在成功安裝Subfinder后,我們還需要做一些配置工作。某些服務的使用,需要我們手中有API密鑰。如果沒有,以下服務將會無法正常工作:
Virustotal
Passivetotal
SecurityTrails
Censys
Riddler
Shodan
這些是你必須通過命令行指定的配置選項。
VirustotalAPIKey
PassivetotalUsername
PassivetotalKey
SecurityTrailsKey
RiddlerEmail
RiddlerPassword
CensysUsername
CensysSecret
ShodanAPIKey
這些值存儲在首次運行該工具時被創(chuàng)建的$HOME/.config/subfinder/config.json文件中。使用–set-config選項設置服務API密鑰:
./subfinder --set-config VirustotalAPIKey=0x41414141
./subfinder --set-config PassivetotalUsername=hacker,PassivetotalKey=supersecret
如果你使用的是docker,則首先需要你手動來創(chuàng)建保存subfinder配置文件的目錄結構。你可以在主機系統(tǒng)中運行二進制文件,然后讓它創(chuàng)建文件的目錄結構,之后可以使用–set-config選項設置api值。手動創(chuàng)建命令如下:
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
|