簡介
原文先發布在freebuf:https://www.freebuf.com/sectool/268971.html
本項目所有內容僅作為安全研究和授權測試使用, 相關人員對因誤用和濫用該項目造成的一切損害概不負責
在攻防對抗中信息收集是后續所有滲透測試的基礎與關鍵,從公司信息、域名、子域名、C段、端口、目錄、指紋等等還沒算上公眾號、小程序,即使有不少用於信息收集優秀的開源工具以及網站,但免不了還是要花上不少的時間在信息收集上。而且各個工具術業有專攻,手工串聯起來或者整理輸出格式可能也要花上不少時間。一般攻防對抗時間緊迫,但修仙是不可能修仙的,凌晨的時候也能掛着幾個工具一起收集信息、掃描一下也能安全睡覺。
通過上一次公司內部的攻防對抗,以及個人習慣使用的工具對幾款優秀的開源信息收集與掃描工具進行整合,從而可以使一部分信息收集過程更加自動化。
Zfre_scan下載地址:https://github.com/VVVinson/Zfre_scan
首先介紹一下Zfre_scan整合的網站跟工具以及下載地址(需要下載以下工具才能用哦):
- Zoomeye網絡空間安全搜索引擎(無需下載,需要注冊獲取APIkey):https://www.zoomeye.org/
- ffuf主要用於目錄掃描,ffuf也有其他fuzz功能(目錄字典也需要准備):https://github.com/ffuf/ffuf
- EHole主要用於指紋識別(紅隊重點攻擊系統指紋探測工具):https://github.com/EdgeSecurityTeam/EHole
- Xray主要使用被動掃描(一款功能強大的安全評估工具):https://github.com/chaitin/xray
- Rad爬蟲(一款專為安全掃描而生的瀏覽器爬蟲):https://github.com/chaitin/rad
沒用過以上工具的也不要緊,下載下來在Zfre_scan配好目錄也能直接串聯使用或單獨使用,當然Zfre_scan一般是調用了以上工具較為常用的功能與配置,以上優秀的開源工具都有豐富的功能或者自定義的配置,各位大佬們有時間還是建議學習使用一下滴。
Zfre_scan主要邏輯
1、dork.txt里輸入需要在zoomeye搜索的關鍵字或C段等。
2、APIkey.txt輸入Zoomeye apikey。
3、zfre_scan.config里配置以上工具的絕對路徑。
4、調用zoomeye API接口獲取數據。
5、調用ffuf對zoomeye輸出的http協議url進行目錄掃描
6、調用xray與rad對url列表進行爬蟲與被動掃描
7、結果輸出至Zfresult文件夾:包括Ehole、Zoomeye的excel格式輸出、Xray的html格式輸出
各個工具模塊的輸出結果展示
測試了2個C段的部分結果截圖(有具體標識的信息已脫敏)
zoomeye_result.xlsx(IP:端口:協議:title)
EHole_result.xlsx(url:指紋:中間件:狀態碼:內容大小:title)
xray_result.html(url:漏洞類型:request:response)
運行環境
語言:python3
操作系統:目前只試過windows上使用
Python模塊:openpyxl
pip install openpyxl
配置:
1、下載各個模塊使用到的開源工具:
Zoomeye獲取IP、端口、協議(無需下載,需要注冊獲取APIkey):https://www.zoomeye.org/
ffuf目錄掃描(目錄字典也需要准備):https://github.com/ffuf/ffuf
EHole指紋識別、title識別:https://github.com/EdgeSecurityTeam/EHole
Xray被動掃描:https://github.com/chaitin/xray
Rad爬蟲:https://github.com/chaitin/rad
2、zfre_scan.config配置文件寫入信息:
Ehole_path = Ehole絕對路徑 ffuf_path = ffuf絕對路徑 ffuf_dict_path = ffuf目錄字典絕對路徑 rad_path = rad絕對路徑 xray_path = xray絕對路徑 Zoomeye_file_path = zoomeye讀取的關鍵字或者C段文件路徑 zoomeye_http_result = ffuf、rad、xray、Ehole讀取的url文件路徑(文件里需要帶上http或者https協議)
使用:
1、多模塊調用:
1、Zoomeye+ffuf+EHole+Xray+Rad: python zfre_scan.py -m zfre 2、Zoomeye+EHole+Xray+Rad: python zfre_scan.py -m zre 3、ffuf+EHole+Xray+Rad: python zfre_scan.py -m fre 4、Zoomeye+ffuf: python zfre_scan.py -m zf 輸入:├── dork.txt #zoomeye讀取的關鍵字或者C段文件路徑,需要配置到zfre_scan.config里 輸出: ├── Zfresult #結果輸出目錄 │ ├── xray_result.html #xray掃描結果 │ ├── EHole_result.xlsx #EHole指紋識別結果 │ └── zoomeye_result.xlsx #zoomeye輸出結果,主要看非http協議 └── zoomeye_http_result.txt #zoomeye.py執行輸出的http協議url(暫時無法修改輸出路徑與文件名);ffuf.py的輸入;ffuf.py執行后會在這里新增掃描到的url
2、單模塊調用:
1、Zoomeye: python zfre_scan.py -m z 輸入:├── dork.txt #zoomeye讀取的關鍵字或者C段文件路徑,需要配置到zfre_scan.config里 輸出: ├── Zfresult #結果輸出目錄 │ └── zoomeye_result.xlsx #zoomeye輸出結果,主要看非http協議 └── zoomeye_http_result.txt #zoomeye.py執行輸出的http協議url(暫時無法修改輸出路徑與文件名) 2、EHole+Xray+Rad: python zfre_scan.py -m re 輸入:├── zoomeye_http_result.txt #url,每個url直接換行,需要帶上http://或https:// 輸出: ├── Zfresult #結果輸出目錄 │ ├── xray_result.html #xray掃描結果 │ └── EHole_result.xlsx #EHole指紋識別結果 └──────────────────────── 3、ffuf: python zfre_scan.py -m f 輸入:├── zoomeye_http_result.txt #url,每個url直接換行,需要帶上http://或https:// 輸出: └── zoomeye_http_result.txt #ffuf.py模塊執行后會在后面新增掃描到的url
目前的不足:
- 每次使用前需要自行重命名或者移走Zfresult目錄下的文件,否則會覆蓋原有結果,或者Xray無法運行
- Xray目前需要手動關掉監聽進程。
- 沒試過Linux上運行,后續看情況可能會適配。
另外:如果各位大佬有好用的工具歡迎評論、私信有時間可以整合集成一下,謝謝==
20210503更新:
1、dork.txt可直接輸入搜索語法,例如:x.x.x.x +app:"Apache httpd"
2、添加zoomeye API超時重傳機制
3、zoomeye.py如果中途報錯也可以輸出結果