0x00 信息收集
在SRC漏洞挖掘過程中,保證在最短時(shí)間內(nèi)提交”有效”漏洞,自我總結(jié)漏洞數(shù)量主要來源于三個(gè)方面:
一、資產(chǎn)收集;
二、學(xué)會(huì)使用自動(dòng)化工具;
三、通過數(shù)據(jù)包仔細(xì)審查業(yè)務(wù)邏輯。
資產(chǎn)收集作為漏洞挖掘第一步,資產(chǎn)收集的廣度,會(huì)直接影響漏洞的數(shù)量,所以資產(chǎn)收集尤為重要。
這里簡單介紹一下資產(chǎn)收集的有關(guān)小工具以及方法。
1.1子域名收集
子域名收集推薦幾個(gè)比較好用的工具:
一、Oneforall
項(xiàng)目鏈接:https://github.com/shmilylty/OneForAll,Oneforall是一款強(qiáng)大的子域名收集工具,適用于SRC資產(chǎn)收集。
使用方法:python3 oneforall.py --target baidu.com run
二、在線子域名收集工具
在線子域名收集在漏洞挖掘過程中快速收集到第一手資產(chǎn)信息(可能會(huì)有以外收獲)。
1.2.搜索引擎
挖洞過程中好的搜索引擎可以更快的獲取高質(zhì)量的資產(chǎn)信息,這里推薦兩款用的比較多的也是比較好用的資產(chǎn)搜索引擎。
一、Fofa
地址//fofa.so/
Fofa支持與谷歌黑客語法類似的搜索語法,在網(wǎng)頁內(nèi)可以查詢檢索語句的使用方法,這里就不做過多的介紹。
二、谷歌黑客語法
Google是一個(gè)強(qiáng)大的搜索引擎;而對于黑客而言,則可能是一款絕佳的黑客工具。正因?yàn)間oogle的檢索能力強(qiáng)大,黑客可以構(gòu)造特殊的關(guān)鍵字語法,使用Google搜索互聯(lián)網(wǎng)上的相關(guān)隱私信息。
這里簡單介紹一下谷歌黑客語法的使用技巧,僅作簡單介紹,詳細(xì)使用建議自行百度。
intitle:搜索網(wǎng)頁標(biāo)題中包含有特定字符的網(wǎng)頁。例如輸入“intitle:上科互聯(lián)”,這樣網(wǎng)頁標(biāo)題中帶有上科互聯(lián)的網(wǎng)頁會(huì)被搜索出來。
inurl:搜索包含有特定字符的URL。例如輸入“inurl:/admin_login”,則可以找到帶有admin_login字符的URL,通常這類網(wǎng)址是管理員后臺(tái)的登錄網(wǎng)址。
intext:搜索網(wǎng)頁正文內(nèi)容中的指定字符,例如輸入“intext:上科互聯(lián)”。這個(gè)語法類似我們平時(shí)在某些網(wǎng)站中使用的“文章內(nèi)容搜索”功能。
Filetype:搜索指定類型的文件。例如輸入“filetype:PDF”,將返回PDF文檔。
Site:找到與指定網(wǎng)站有聯(lián)系的URL。例如輸入“Site:www.sunghost.cn”。所有和這個(gè)網(wǎng)站有聯(lián)系的URL都會(huì)被顯示。
1.3.端口掃描
端口掃描也是常規(guī)信息收集中最重要的一項(xiàng),在之前的很多的SRC漏洞挖掘過程中,很多時(shí)候遇到同一個(gè)ip開放不同的端口,對應(yīng)不同的WEB服務(wù),很多時(shí)候漏洞往往存在一些花里胡哨的端口服務(wù)上。
這里推薦一款端口掃描工具Nmap,Nmap功能比較強(qiáng)大,不僅可以支持端口掃描,資產(chǎn)存存活探測也可以使用其自帶的漏洞探測腳本,對漏洞進(jìn)行探測。
Nmap這里推薦使用圖形化界面的,也可以使用現(xiàn)在網(wǎng)上的一些端口掃描工具如小米范端口掃描工具等等。
?
1.4.指紋識(shí)別
通過指紋識(shí)別可以快速了解搭建網(wǎng)站使用的什么內(nèi)容管理系統(tǒng),以及網(wǎng)站使用的框架信息(CMS:織夢、帝國、XXXOA等等;網(wǎng)站框架:Nginx、Spring boot、Apache、IIS等等)。
這里推薦兩款比較簡單方便的指紋識(shí)別工具。
一、潮汐指紋庫
潮汐指紋識(shí)別庫是由,tide安全團(tuán)隊(duì)開發(fā)的一款開源的指紋識(shí)別庫。
二、火狐瀏覽器自帶插件Wappalyzer
1.5.目錄掃描
通過對網(wǎng)站url進(jìn)行掃描可以收集一些網(wǎng)站的資產(chǎn)信息,在后續(xù)的漏洞挖掘過程中提供更多有價(jià)值的信息(如:網(wǎng)站源碼文件、網(wǎng)站安裝頁面、網(wǎng)站后臺(tái)管理頁面、接口信息頁面(swagger ui、api接口等等)、未授權(quán)訪問頁面)。
這里推薦一款常用的目錄掃描工具。
Dirsearch
使用方法:python3 dirsearch.py -u http://www.baidu.com -t 30線程可以自行定義,也可以使用”-h”,查看使用方法。
0x01?漏洞探測&漏洞驗(yàn)證
2.1.漏洞掃描
在漏洞探測方面可以使用掃描器(但是得根據(jù)客戶需求),一般主流的漏洞掃描器如:Goby、Xray、Awvs、Nessus,這里可以使用Goby同時(shí)做信息收集和漏洞探測(信息收集功能會(huì)比漏洞探測功能效果好)。
2.2.Burp
Burp在漏洞挖掘中使用最廣泛,也是最重要的工具之一,可以用于漏洞驗(yàn)證以及漏洞挖掘,由于開源,之前在挖掘漏洞中遇到一些比較有意思的漏洞,這里就用文字簡述一下。
越權(quán):越權(quán)漏洞簡單分為垂直越權(quán)、水平越權(quán),可以修改數(shù)據(jù)包中的一些參數(shù)如uid、id等等,遇到過一個(gè)比較有意思的垂直越權(quán)可以在低權(quán)限登錄狀態(tài)下通過修改數(shù)據(jù)包中路徑信息可以訪問到高權(quán)限的內(nèi)容。
邏輯漏洞挖掘:邏輯漏洞,通過數(shù)據(jù)包查看業(yè)務(wù)邏輯,檢查是否存在繞過正常的業(yè)務(wù)邏輯對正常的業(yè)務(wù)系統(tǒng)造成影響,分享一個(gè)之前某銀行業(yè)務(wù)邏輯漏洞挖掘,漏洞點(diǎn)存在于選擇支付方式可以通過修改數(shù)據(jù)包參數(shù)繞過指紋支付和臉部識(shí)別支付,邏輯漏洞挖掘推薦B站觀看”月神”邏輯漏洞挖掘
這里簡單介紹幾個(gè)比較好用的Burp插件:Fakeip(可以在請求頭中加入XFF頭)、chunked-coding-converter-master(分片上傳可以繞過部分waf如安全狗等等)許多漏洞檢測插件。
2.3.其它漏洞探測工具
一、Sqlmap
當(dāng)手工測試發(fā)現(xiàn)某功能點(diǎn)存在SQL注入時(shí)可以直接采用sqlmap工具進(jìn)行快速注入查看數(shù)據(jù)庫表結(jié)構(gòu)。
常用的sqlmap參數(shù):--is-dba、--dbs、--batch、-v 3、--level 5、--temper “繞過waf模塊”、--threads=10、--current-user、--dbms="MySQL"、-r
sqlmap中常用的繞過waf的temper腳本:
apostrophemask.py
用utf8代替引號(hào)
equaltolike.py
like代替等號(hào)
space2dash.py
繞過過濾‘=’ 替換空格字符(”),(’ – ‘)后跟一個(gè)破折號(hào)注釋,一個(gè)隨機(jī)字符串和一個(gè)新行(’ n’)
greatest.py
繞過過濾 >
space2hash.py
空格替換為#號(hào) 隨機(jī)字符串以及換行符
apostrophenulencode.py
繞過過濾雙引號(hào),替換字符和雙引號(hào)。
halfversionedmorekeywords.py
當(dāng)數(shù)據(jù)庫為mysql時(shí)繞過防火墻,每個(gè)關(guān)鍵字之前添加mysql版本評(píng)論
space2mssqlblank.py
空格替換為其它空符號(hào)
base64encode.py
用base64編碼替換
modsecurityversioned.py
過濾空格,包含完整的查詢版本注釋
space2mysqlblank.py
空格替換其它空白符號(hào)(mysql)
between.py
用between替換大于號(hào)(>)
space2mysqldash.py
替換空格字符(' ')(' -')后跟一個(gè)破折號(hào)注釋一個(gè)新行(' n')
space2plus.py
用+替換空格
二、Msf
MSF為kali自帶的滲透測試工具,功能十分強(qiáng)大,該工具可以用作漏洞驗(yàn)證以及漏洞探測工具,也可以用于后滲透,這里簡單說一下MSF可以作為漏洞探測以及漏洞驗(yàn)證非常使用的工具之一如(各種未授權(quán)訪問(Rsync)、弱口令爆破、Oracle Tns遠(yuǎn)程監(jiān)聽、MS17-010、CVE-2019-0708等等)
三、開源漏洞探測工具
Fastjson漏洞探測可以使用網(wǎng)上公開的Poc也可以使用Burp插件進(jìn)行探測。
Shiro反序列化漏洞可以使用github上開源的飛鴻shiro漏洞探測工具。
ThinkPhp可以使用雷石實(shí)驗(yàn)室研發(fā)的自動(dòng)檢測工具,針對ThinkPhp5.0版本的RCE漏洞可以使用github上的一些開源工具。
這里開源的漏洞探測工具非常多,建議通過關(guān)注各個(gè)安全團(tuán)隊(duì)的微信公眾號(hào),完善工具。
總結(jié):
漏洞挖掘方法非常多樣,發(fā)現(xiàn)漏洞可能是掃描器直接出的漏洞,也有可能是一個(gè)不起眼的信息泄露引起的高危漏洞(如swagger UI頁面,可以導(dǎo)致調(diào)試API接口引發(fā)更大的安全漏洞),但是總結(jié)兩個(gè)點(diǎn):
一、在漏洞挖掘過程中細(xì)心查看每一個(gè)功能點(diǎn)以及數(shù)據(jù)包邏輯才是王道。
二、學(xué)會(huì)利用自動(dòng)化工具,最后信息收集才是最重要的老鐵。
0x02??實(shí)踐
3.1.之前漏洞挖掘簡述
剛開始挖掘漏洞確實(shí)可以從公益SRC或者EDU下手,可以先鍛煉一下挖洞速度,已經(jīng)挖洞思路,這里簡單介紹一下之前的挖過的公益SRC和一些廠商的專屬漏洞。
常規(guī)端口漏洞(21、22、389、879、2181、2049、3306、3368、6379、8XXX、9100、9200)
未授權(quán)訪問&弱口令
在SRC挖掘過程中往往最先考慮的就是端口漏洞,因?yàn)槲词跈?quán)訪問、弱口令等漏洞危害性比較大,通常定級(jí)也是中高危的樣子,而且,挖掘也是比較方便快捷。
某廠商存在大量弱口令:
SQL注入類:
SQL注入類漏洞在漏洞挖掘過程中也是很常見的,可以用自己的py腳本結(jié)合sqlmap批量跑,但是在綜測項(xiàng)目中這種辦法并不可行,因?yàn)椴粔蚩欤瑩撇坏藉X。還是嘗試手工測試比較靠譜。
之前遇到一個(gè)比較有意思的sql注入,該注入的回顯信息是根據(jù)響應(yīng)體的的字節(jié)長度來判斷的,返回正確跟返回錯(cuò)誤的值固定且不一樣。
命令執(zhí)行類:
命令執(zhí)行可以根據(jù)指紋識(shí)別查看當(dāng)前網(wǎng)站的CMS以及網(wǎng)站所用到的框架、組件,獲取信息后可以使用目前公開的POC進(jìn)行測試是否存在RCE漏洞。
這里記一次之前遇到的一個(gè)ThinkPhp5.X框架命令執(zhí)行漏洞,好不容易找到一個(gè)框架漏洞可惜是公益的SRC沒有錢,留下了不爭氣的眼淚。
之前在安恒的雷神眾測注冊過賬號(hào),但是漏洞提交量有限,可以簡單看一下,其實(shí)專屬SRC提交漏洞賺取賞金,其實(shí)就是,資產(chǎn)收集,做的好,還有就是挖掘漏洞的時(shí)候細(xì)心加上耐心,最最重要的一點(diǎn)還是漏洞提交速度,做全世界最快的男人。
還有就是邏輯漏洞,目前邏輯漏洞也是賞金占比比較大的一類漏洞,這里記一次之前某銀行的邏輯漏洞挖掘過程,結(jié)局比較拉跨,因?yàn)楫?dāng)時(shí)只是看到了后臺(tái)的一些數(shù)據(jù)以及參數(shù),以為跟后臺(tái)數(shù)據(jù)有交互就可以定個(gè)中危,沒想到繞過的僅僅只是前端的校驗(yàn)。
這里直接填寫數(shù)據(jù)然后抓包修改兩次返回包,可以繞過前端登錄驗(yàn)證直接進(jìn)入后臺(tái)。
只是當(dāng)時(shí)沒有測試?yán)锩娴膮?shù),修改密碼什么的也沒有測試,看來還是得細(xì)心才行要,銀行的漏洞,低危和中危往往是兩個(gè)概念,來自金錢的誘惑。
編輯:黃飛
?
評(píng)論