滲透測(cè)試之我是如何做信息收集
搞滲透的人應(yīng)該都清楚,給一個(gè)目標(biāo)站點(diǎn)做測(cè)試,第一步就是信息收集,通過各種渠道和手段盡可能收集到多的關(guān)于這個(gè)站點(diǎn)的信息,幫助我們更多的去找到滲透點(diǎn)。而信息收集的方式有很多,大致有搜索引擎、域名注冊(cè)網(wǎng)站、shodan、github信息收集工具、網(wǎng)站公告等等,甚至還有社工的方式。網(wǎng)上關(guān)于信息收集也有很多相關(guān)的文章介紹,其實(shí)方式方法都大同小異。今天我主要介紹一下我在做信息收集的時(shí)候用到的一些工具和自己寫的一些腳本,幫助我在滲透過程中更加方便的做好這一步。
拿到一個(gè)目標(biāo)站點(diǎn),首先肯定是利用搜索引擎,去搜索跟站點(diǎn)相關(guān)的內(nèi)容。首當(dāng)其沖的當(dāng)然是谷歌,功能強(qiáng)大,各種信息收集的命令,方便準(zhǔn)確,但國內(nèi)訪問受限,我這里總結(jié)了一些利用谷歌去做站點(diǎn)信息收集時(shí)常用的場(chǎng)景和命令。
除了Google之外,百度和微軟的bing都可以作為信息收集的好幫手,可以與Google作為互補(bǔ),有時(shí)候通過這兩款搜索引擎收集信息時(shí)也能有意想不到的收獲,但對(duì)于信息收集命令的支持就沒有Google這么強(qiáng)大了。
信息收集另一種常用的方式就是通過一級(jí)域名去收集該域名下的子域名,通過站長之家的whois、域名備案查詢、IP/域名查詢工具就能搜索到一些相關(guān)域名和IP,針對(duì)這些方式我就不做詳細(xì)介紹了,今天我介紹一下我常用的一款子域名探測(cè)工具—aquatone,下載地址:https://github.com/michenriksen/aquatone;
這款工具包含三個(gè)命令:
- aquatone-discover:使用被動(dòng)收集或字典爆破的方式去收集子域名;
- aquatone-scan:完成子域名掃描后,可掃描域名開放端口、HTTP header、HTML body、截圖等信息生成報(bào)告;
- aquatone-gather:對(duì)掃描結(jié)果中的IP進(jìn)行訪問請(qǐng)求和網(wǎng)頁截圖,搜集信息;
這三個(gè)命令使用起來也非常方便,aquatone-discover跟上參數(shù) -d 或–domain加上需要搜索的一級(jí)域名就可以了,這里有一點(diǎn)需要注意,在檢索子域名的時(shí)候,會(huì)去shodan、censys、virustotal進(jìn)行檢索,需要在這些站點(diǎn)注冊(cè),并將各站點(diǎn)的key和secret配置在aquatone上。
Aquatone-discover探測(cè)子域名花費(fèi)的時(shí)間會(huì)稍微有點(diǎn)長,檢索完成之后會(huì)在目錄下生成一個(gè)以一級(jí)域名命名的目錄,檢索的結(jié)果會(huì)存儲(chǔ)在該目錄下的hosts.txt和hosts.json文件中,內(nèi)容包括發(fā)現(xiàn)的子域名及其對(duì)應(yīng)IP:
子域名探測(cè)完成之后,就可以使用利用aquatone-scan探測(cè)域名開放的端口等內(nèi)容,使用也很簡(jiǎn)單aquatone-scan–d/–domain 帶上搜索的子域名,這時(shí)工具會(huì)自動(dòng)去找到該子域名搜索結(jié)果的文件hosts.json,對(duì)檢索到的域名進(jìn)行探測(cè)。
在前面提到,我們查用搜索引擎去收集信息,但是如果通過一級(jí)域名搜索時(shí),搜索到的結(jié)果會(huì)比較多,人工進(jìn)行過濾的方式會(huì)耗費(fèi)時(shí)間,這是我們可以利用上面檢索到的子域名作進(jìn)一步搜索引擎信息收集,縮小了結(jié)果范圍,還可以利用工具進(jìn)一步對(duì)搜索結(jié)果進(jìn)行過濾,這里我以bing搜索引擎為例。
將需要搜索的站點(diǎn)做為參數(shù)傳入,解析搜索結(jié)果頁面,獲取搜索到的域名URL,搜索結(jié)果比較多時(shí)還需要遍歷搜索結(jié)果獲取所有的URL:
運(yùn)行后的結(jié)果大致如下:
這里可以發(fā)現(xiàn)有很多重復(fù)的URL,可以在檢索完成之后做一次去重,有很多去重的方式,可以寫入文件然后遍歷去重,也可以寫入redis中然后遍歷去重,代價(jià)更大一點(diǎn)的方式是,在檢索的過程中,存入list中,每次檢索遍歷list中的內(nèi)容,如果已經(jīng)存在則不寫入,大家可以自己去實(shí)現(xiàn)。
信息收集的方式有很多,主要在于如何更有效的去收集信息,如何正確利用搜集到的信息,更多的收集到有效的信息能夠幫助在站點(diǎn)滲透過程中有更多的突破點(diǎn),發(fā)現(xiàn)站點(diǎn)中更多隱藏的問題。