關于CertCrunchy
CertCrunchy是一款功能強大的網絡偵查工具,該工具基于純Python開發,廣大研究人員可以利用該工具輕松從SSL證書中發現和識別潛在的主機信息。
支持的在線源
該工具支持從在線源或給定IP地址范圍獲取SSL證書的相關數據,并檢索其中包含的目標主機相關信息,當前版本的CertCrunchy支持下列在線數據源:
crt.sh | Certificate Search
https://certdb.com/
Cert Spotter - Certificate Transparency Monitor - Detect Security and Availability Problems
https://censys.io
需要注意的是,如果你想要使用Censys.io的話,你可能還需要注冊一個API密鑰。
工具安裝
由于該工具基于Python 3開發,因此我們首先需要在本地設備上安裝并配置好最新版本的Python 3環境。
接下來,廣大研究人員可以直接使用下列命令將該項目源碼克隆至本地:
git clone https://github.com/joda32/CertCrunchy.git
然后切換到項目目錄中,使用pip3工具和項目提供的requirements.txt文件安裝該工具所需的其他依賴組件:
cd CertCrunchysudo pip3 install -r requirements.txt
工具使用
我們可以直接使用下列命令從指定域名獲取主機名稱(-D):
python certcrunchy.py -D TARGET
命令參數
-D:從域名列表中獲取主機名稱,列表中每個域名按行分隔;-i:從一個網絡塊或IP地址范圍的主機獲取并解析證書,例如192.168.0.0/24-T:設置運行線程數量,可以提升工具運行速度,但不要設置太多線程;-O:設置HTTP API請求的超時時間,單位為秒,默認為3秒;-o:指定輸出文件名稱;-f:指定數據輸出格式,支持CSV或JSON,默認為CSV;
API密鑰和設置
所有的API密鑰都要存儲在api_keys.py腳本文件中,下面給出的是當前該工具支持且需要密鑰的API列表:
1、Censys.io;
2、VirusTotal;
3、PassPassiveTotal;
工具使用演示
許可證協議
本項目的開發與發布遵循Apache-2.0開源許可證協議。
項目地址
CertCrunchy:【GitHub傳送門】
參考資料
crt.sh | Certificate Search
https://certdb.com/
Cert Spotter - Certificate Transparency Monitor - Detect Security and Availability Problems
Attack Surface Management and Threat Hunting Solutions | Censys
Getting started with v2
RiskIQ Community Edition