簡介
閑來沒事,做一個自動化recon的工具,簡化操作流程。可以對域名或ip進行whois查詢,dns記錄查詢,ip端口掃描,http屏幕快照。
最終生成markdown格式的報告,可使用Obsidian或vscode的markdown notes插件打開,借助雙向鏈接功能,方便跳轉查看。
依賴的程序
amass
子域名查找 下載地址
masscan
掃描全部端口,發現開放端口。
nmap
服務掃描,針對masscan發現的端口進行具體的服務掃描。
aquatone
屏幕快照,由于需要對每個目標(域名或ip)單獨進行快照,然后再合并,fork原版做了簡單的修改,提供了session保存與合并的功能,下載地址: aquatone
安裝程序
使用python3環境:
pip install norecon
使用ansible批量安裝
不喜歡手動安裝的話,可以使用ansible進行自動化安裝,使用這個playbooks倉庫:
git clone 項目到本地,配置好ansible,設置好主機項,然后執行:
ansible-playbook norecon.yml
即可在指定的主機上安裝好依賴程序及norecon包。
使用方法
命令行參數:
usage: norecon [-h] [—amass-timeout AMASS_TIMEOUT] [—ip-scan-timeout IP_SCAN_TIMEOUT]
[—screenshot-timeout SCREENSHOT_TIMEOUT] [—masscan-rate MASSCAN_RATE]
[—scan-cdn-ip] [—overwrite] [-ss SCREEN_SESSION] [-e [EXCLUDE]] -p
PROJECT_DIR [-t [TARGETS]] [-v [VERBOSE]]
[target [target …]]
針對目標進行recon
positional arguments:
target
要掃描的目標,可以是域名或ip地址
optional arguments:
-h, —help show this help message and exit
—amass-timeout AMASS_TIMEOUT
amass掃描超時時間(分) (default: 60)
—ip-scan-timeout IP_SCAN_TIMEOUT
ip掃描超時時間(秒) (default: 600)
—screenshot-timeout SCREENSHOT_TIMEOUT
屏幕快照超時時間(秒) (default: 1000)
—masscan-rate MASSCAN_RATE
masscan掃描速率 (default: 1000)
—scan-cdn-ip
是否對cdn ip進行端口掃描 (default: False)
—overwrite
是否強制重新掃描(如果為False,則掃描過的項目不再重新掃描) (default: False
)
-ss SCREEN_SESSION, —screen-session SCREEN_SESSION
輸出屏幕快照的session文件名 (default: screen)
-e [EXCLUDE], —exclude [EXCLUDE]
包含排除列表的文件,可以是域名或ip,支持glob格式匹配(*?)
-p PROJECT_DIR, —project-dir PROJECT_DIR
項目根目錄
-t [TARGETS], —targets [TARGETS]
輸入的目標
-v [VERBOSE], —verbose [VERBOSE]
日志輸出級別(0,1,2) (default: 0)
最簡單的用法:
norecon -p 項目保存目錄 域名或ip
如果域名比較多,可以增大—amass-timeout參數,以收集更多的子域名。
比如測試yahoo,支持一級域名或子域名。
norecon -v -p yahoo --amass-timeout 60 yahoo.com engadget.com login.aol.com
如果中途中斷,繼續執行以上命令,會自動跳過已經掃描的部分.可使用—overwrite強制重新掃描。
也可以在項目執行完畢后再添加ip或域名,或只進行ip掃描(支持cidr子網或ip范圍):
norecon -v -p yahoo 202.165.107.00/28 119.161.10.15-119.161.10.40 106.10.236.40
掃描完成后,結果在項目目錄下,按whois,domain,ip分類存放為json格式,可以自己進行分析,
也可以生成markdown格式的報告:
noreport -v yahoo
項目目錄下的screen/screen.html為aquatone的輸出報告,包含了所有屏幕快照的域名或ip。
報告截圖
生成報告后使用Obsidian打開項目目錄,查看報告結果 ,主要是方便跳轉和查看反向引用。
附帶的單獨工具
noresolvers
域名解析服務器查詢工具,根據可用性和超時時間獲取域名解析服務器列表.按響應時間排序。
使用方法,可用性為0.9,響應時間為3秒內,輸出解析服務器列表到resolve:
noresolvers -r 0.9 -t 3 -o resolve
domainvalid
檢測一級域名是否有效,即含有ns記錄,是正常使用的一級域名。
可以指定resolvers文件,即noresolvers輸出的域名解析服務器文件。
norecords
獲取一個域名的所有解析記錄。
wildomains
獲取一個通配域名的所有一級域名,比如baidu.*,會查找所有可能的tld后綴,找到還在使用的一級域名.
可以使用tld文件指定要查找的后綴,如果不指定,會查找大量tld,速度比較慢。
nosubsfinder
從網頁查詢子域名。
noamass
調用amass查詢子域名。
nowhois
whois查詢域名或ip。
nonmap
調用masscan和nmap進行服務掃描。
noffuf
調用ffuf進行路徑爆破。
noscreen
調用aquatone進行屏幕快照。
nowx
發送微信消息,借助微信消息推送服務發送消息,可以實現命令執行完畢后發送微信消息通知。
第一次運行輸入nowx執行,根據提示進行配置:
? sub-domains git:(master) ? nowx 未發現token配置 訪問 http://wxpusher.zjiecode.com/admin/app/list 創建token. 輸入申請的APP_TOKEN:[粘貼頁面申請的token] 網頁打開下面的網址,微信掃碼關注以接收消息: https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=xxxxxx
然后可以在執行時帶上消息參數發送消息:
nowhois bing.com ; nowx whois執行完畢,返回代碼:$?
上面的命令在nowhois執行完畢后,由nowx發送微信消息,通知命令完成及nowhois的返回代碼.注意兩個命令之間使用;分割。
最后
項目頁面,歡迎issue或pr。
HACK之道
看雪學苑
CNCERT國家工程研究中心
LemonSec
LemonSec
看雪學苑
一顆小胡椒
LemonSec
FreeBuf
LemonSec
系統安全運維
安全客