無需接觸目標的端口自動化掃描姿勢
一顆小胡椒2021-08-18 08:30:00
網絡測繪系統就是一個大型的網絡掃描器,其核心數據就是全網 IP 的端口和服務開放情況的集合,所以在對目標邊界進行探測之前,可以通過被動查詢的方式獲取目標的一些情況,這里提到的網絡空間搜索引擎主要包括:Shodan、Zoomeye 和 Censys。
Shodan
推薦工具:ShoScan(Python 3+)
項目地址:
https://github.com/pathetiq/ShoScan
安裝方式:
git clone https://github.com/pathetiq/ShoScan && cd ShoScan && pip3.8 install -r requirements.txt
查看幫助信息:
python3.8 shoscan.py -h

使用之前,需要編輯文件 shoscan.py,替換字符串 YOURKEY 為你的 Shodan API KEY:

參數只有兩個,一個是想要查詢的 IP 地址所在的文件,一個是可選參數,結果保存的文件,下面做個測試:
python3.8 shoscan.py -f input.txt

Zoomeye
推薦工具:zoomeye-search
項目地址:
https://github.com/adcar/zoomeye-search
首次運行,查看幫助:
python3.8 zoomeye.py -h

如果我們想知道某個 IP 開放的端口情況,怎么查?在 zoomeye 上通過關鍵詞 ip: 查詢該 IP 相關數據:

使用這個腳本獲取這一頁的數據,參數:
python3.8 zoomeye.py -p 1 -q "ip:47.94.225.171" --port
使用 API 之前需要指定用戶的認證信息,否則無法使用:
python3.8 zoomeye.py -p 1 -q "ip:47.94.225.171" --port --email example@xazlsec.com --password admin@123

Censys
這里推薦一個利用多平臺端口掃描工具 heinsenberg,項目地址:
https://github.com/n4xh4ck5/heinsenberg
安裝方式:
git clone https://github.com/n4xh4ck5/heinsenberg && cd heinsenberg && pip3.8 install -r requirements.txt
使用比較簡單,只需兩個參數,-i 指定 IP 列表,-a 指定各平臺 API KEY 的 api 文件,文件內容如下:
{ "api_shodan": "YOUR_API_SHODAN", "censys_secret": "YOUR_API_CENSYS_SECRET", "censys_uid": "YOUR_API_CENSYS_UID", "onyphe_api": "YOUR_API_ONYPHE", "binaryedge_api": "YOU_API_BINARY_EGDE"}
這里發現一個新的網絡空間搜索引擎,地址:
https://www.onyphe.io/

注冊各個平臺,然后生成 API KEY 之后,填入該文件,然后將目標 IP 保存到 ip.txt 中,使用下面的命令:
python3.8 heisenberg.py -i ip.txt -a api.json

總結
利用網絡空間搜索引擎進行端口信息收集,無需直接針對目標進行端口掃描就能獲取比較全面的資產服務開放情況,即能節省大量掃描端口的時間,又能盡可能少的直接接觸目標,一舉多得。
一顆小胡椒
暫無描述