新一代子域名收集工具!
項目描述
Sylas(塞拉斯)是我很喜歡的一款游戲《英雄聯盟》(League of Legends)里的英雄。他在面板數值已經足夠可觀的情況下,其終極技能其人之道又能竊取其他英雄的終極技能為己用。我覺得塞拉斯很適合代表這個項目,我們在插件的基礎功能開發完成之后,又再思考與其他項目聯動的可能,盡可能地把我們手頭上現有的idea跟這個項目聯動融合,使Sylas成為戰場上能獨當一面的存在。——林晨@0chencc
致謝
工具開發過程中參考了@bit4woo師傅的domain_hunter_pro?項目
功能
- 主動搜索
設定好根域名之后,會從歷史流量中抓取與根域名相關的所有子域名展示并且儲存到數據庫中。
- 被動搜索
當使用burp代理時,會從經過burp的流量中抓取域名進行儲存。不需要開啟,插件啟動以及數據庫連接之后就會自動拉取。
- 相似域名模糊匹配
會對相似的域名進行匹配,符合正則的就拉取入庫
- 支持mysql/sqlite
我們打算思考一下這個工具與后期其他工具的聯動,故而選擇了mysql作為數據庫,根據鴨王師傅@TheKingOfDuck的反饋,我們又添加了Sqlite作為支持。目前是默認使用Sqlite作為數據庫,降低用戶的使用成本。
- 與Bscan的聯動
這部分就是我所說的Mysql的聯動,在目前的版本中,BurpDomain將支持定時每1分鐘從Mysql數據庫中拉取Bscan測活的數據,但Bscan的能力遠不止于此。我在Todo List里添加了將Bscan漏掃的能力也結合在BurpDomain上。
如果有需要支持其他數據庫,請大家在issue里反饋,我收到反饋之后會立即加上。
TODO LIST
- ?支持sqlite
- ?相似域名模糊匹配
- ?url的后綴名篩選
- ?由于倉促趕時間,所以當前的代碼可讀性是非常差的,會找個時間重構一下代碼。
- ?Bscan漏掃能力結合
使用方法
在當前版本以及往后所有版本里,都支持了Sqlite,如果只是想單純使用BurpDomain的功能,那么只需要Sqlite即可。
如果需要獲得更強的功能,那么需要啟動Mysql服務,并且在Mysql中創建一個數據庫,將Mysql的連接配置設置好。

點擊Project Setting按鈕,輸入項目名點擊add,選中即可創建新項目
由于使用了數據庫進行存儲,所以會儲存歷史項目記錄,當運行時會拉取數據庫的項目信息,也可以直接選中繼續項目。

點擊RootDomain Setting按鈕,將需要的爬取的根域名都添加上

如果需要抓取歷史流量,點擊一下grep domains按鈕即可。
配置完畢后無需再進行任何操作,下面是效果圖

使用如下代碼進行相似域名匹配,正則在其中。各位有更優秀的正則可以提交issue,屆時我們采納使用。感謝。


根據字段排序功能可以快速篩選出內網IP、相似網段IP以及相似域名,可以根據這些信息自定義域名字典、爆破HOST等,進一步擴大信息收集范圍


Sylas配置
需要將配置數據庫的方式修改為Mysql,按照圖示進行填寫配置。

在Sylas以及Bscan都配置完畢后該功能就會啟用。
在配置完畢Bscan之后,需要重新連接一次Mysql數據庫。查看Burp-Extender有無打印出Bscan Ready字符串,如果打印則該功能已啟用。

這項功能只在配置了Bscan以及Mysql的用戶才可以體驗。目前僅支持批量網站測活,效果如下。

需要在Bscan的配置文件里配置塞拉斯的數據庫信息,隨后按照readme中的方法啟動即可。
Bscan配置
0x00 初始化
./bscanSylas
執行這條命令之后會報錯且生成配置文件
0x01 修改Config.yml文件
打開生成的Config.yml文件
在sylas字段里修改關于塞拉斯數據庫的配置。

0x02 啟動
直接以nohup去啟動本程序,程序會在啟動時在數據庫中自動創建需要的表名
nohup ./bscanSylas &
隨后程序將在每1分鐘自動拉取塞拉斯數據庫,進行掃描之后將掃描結果儲存在數據庫中,以供塞拉斯去拉取。
在最新的版本中,我們新增了與Bscan的聯動,也在后續尋找跟其他工具結合的可能。Bscan一直沒有開源的原因只是B哥覺得代碼寫得有點丑,不過這次我們在分支上進行代碼開源,更強的Bscan得等下個月忙完才能更新了。
原名:BurpDomain 作者:@br0ken_5 && @0chencc 項目地址:https://github.com/Acmesec/Sylas 如有侵權,請聯系刪除