
高危漏洞狙擊框架:woodpecker-framework
聲明:該文章來自(回憶如飄雪)版權(quán)由原作者所有,K2OS渲染引擎提供網(wǎng)頁加速服務(wù)。
0x01 簡介
woodpecker-framework是一款高危漏洞綜合利用框架,目的是可以狙擊高危漏洞,拿到權(quán)限!其設(shè)計是由我在日常紅隊外圍打點經(jīng)驗抽象得來。它的每個模塊和外圍打點的主要流程是一一對應的。
比如遇到一個具體的外圍應用,滲透測試的流程是:
- 探測當前應用所有攻擊面和風險點 (信息探測模塊)
- 使用poc探測漏洞是否存在 (精準檢測模塊)
- 通過exp拿下webshell (深度利用模塊)
- 遇到奇葩環(huán)境漏洞環(huán)境自動化無法打死,需要人工生成payload (荷載生成模塊)
- 人工構(gòu)造payload時經(jīng)常需要做一些常規(guī)操作,比如把Class變成BCEL編碼,runtime.exec命令變形等等 (輔助模塊)
下面圍繞weblogic和shiro這兩個高頻漏洞應用來詳細介紹每個模塊。
0x02 信息探測模塊(InfoDetector)
信息探測模塊的任務(wù)是尋找當前應用最薄弱的點。?顯然有用的信息是判斷的重要依據(jù)。這里探測的信息不是什么操作系,中間件,cms之類的指紋識別。而是針對具體應用的攻擊面和風險點的探測,比如weblogic就會探測如下?信息。?
- weblogic是那個版本
- 協(xié)議是否開啟t3/iiop協(xié)議
- web端口是否可以訪問到console,wls,async之類的組件
順便值得一提的是,我們探測t3/iiop協(xié)議的時候,還需要探測它們是否被設(shè)置為禁止連接,不然探測出open也是無法利用的。如上圖的t3開啟了但是配置了如下過濾。
1 2 weblogic.security.net.ConnectionFilterImpl 0.0.0.0/0 * * deny t3 t3s
這些信息有什么用呢?當然是讓我們知道面前這個weblogic的薄弱點在哪里,后續(xù)攻擊的計劃應該是:t3和iiop系列漏洞不用測試了,wls-wsat組件的xmldecoder反序列化漏洞可以看看。
0x03 精準檢測模塊(POC)
精準檢測模塊的任務(wù)是使用poc去判斷漏洞是否存在。?顯然精準是這個模塊關(guān)注的問題,我們的原則是誤報可以原諒,但是漏報堅決杜絕。
那現(xiàn)實如此復雜的漏洞環(huán)境,怎么實現(xiàn)精準檢查呢?woodpecker插件的檢測原則是盡可能的實現(xiàn)以下所有檢測方案。
- 回顯檢測
- dnslog檢測
- 間接檢查
- 寫文件檢測
- 觸發(fā)補丁檢測
- 延時檢測
- 特定特征檢測
- ….
這里我細說下3
,5
和7
這三個方案,其他方案?顧名思義。?
間接檢測
是不通過直接觸發(fā)漏洞來檢測,而是通過其他方面間接來驗證。舉2個例子,shiro key的檢測由開始的通過回顯,dnslog之類的直接檢測變成了現(xiàn)在統(tǒng)計rememberMe個數(shù)。weblogic漏洞檢測則可通過下載黑明單class來驗證是否被修復。這些方法很巧妙,在漏檢中有四兩撥千斤的作用。
- 一種另類的 shiro 檢測方式
- 紅藍必備 你需要了解的weblogic攻擊手法
觸發(fā)補丁檢測
就是提交可觸發(fā)補丁的payload,然后看是否攔截來確定漏洞是否修復。比如CVE-2019-2725我們就可以發(fā)送帶標簽的payload,若如下提示非法標簽說明漏洞修復了。
特定特征檢測
就是通過respone的某些特征可以知道漏洞是否修復,比如CVE-2020-14882/3漏洞修復后的響應如下,那咱們就可以通過repsoen狀態(tài)碼為500
,返回包中存在The server encountered an unexpected condition which prevented it from fulfilling the request.
提示來判斷。
0x04 深度利用模塊(Exploit)
深度利用模塊的任務(wù)是發(fā)揮漏洞的最大利用價值。比如一個RCE可以干的事情很多,命令執(zhí)行,寫文件,讀文件,反彈shell,注入內(nèi)存馬,開啟bindshell等等。不過最后我梳理了下,很多功能都是有交集的,比如反彈shell可以通過命令執(zhí)行來反彈,讀文件可以通過webshell來讀。所以在紅隊行動中,真正對我們有用的一般是三個功能,woodpecker插件編寫的原則上要求深度利用模塊必須實現(xiàn)這3個功能,并保證穩(wěn)定性。
- 寫文件
- 命令回顯
- 注入內(nèi)存馬
0x05 荷載生成模塊(Payload generator)
荷載生成模塊的任務(wù)是幫助紅隊人員快速生成自定義payload。?自動化并不能解決所有問題,當遇到奇葩環(huán)境時就需要人工介入。比如當shiro漏洞遇到未知中間件時,可能無法回顯也無法注入內(nèi)存馬,這時就需要人工構(gòu)造payload了。但是每次都要先生成序列化數(shù)據(jù),設(shè)置key,選擇加密模式,非常浪費時間。而woodpecker shiro漏洞插件的荷載生成模塊可以一鍵生成。
0x06 輔助模塊(Helper)
該模塊的任務(wù)是將漏洞檢測和利用中經(jīng)常要進行的操作自動化,節(jié)省時間。
比如在java命令執(zhí)行漏洞中無法使用帶有管道符的命令,需要我們?nèi)マD(zhuǎn)換下命令。當然有Jackson_T這樣的在線網(wǎng)站,這里我編寫成了本地插件。
同時如果想通過命令執(zhí)行漏洞寫一個shell的話,往往需要轉(zhuǎn)義下,這個過程也是比較繁瑣的??梢允褂?span>EchoToFileConverter插件來解決。
0x07 最后的話
如果你比較認同這樣的設(shè)計,并有能力編寫插件。歡迎到github提交pr或者插件。
https://woodpecker.gv7.me/
[超站]友情鏈接:
四季很好,只要有你,文娛排行榜:https://www.yaopaiming.com/
關(guān)注數(shù)據(jù)與安全,洞悉企業(yè)級服務(wù)市場:https://www.ijiandao.com/
- 1 完整準確全面貫徹新時代黨的治疆方略 7904833
- 2 海灘退潮遍地生蠔 市民撿到手軟 7807865
- 3 北京大學教授俞孔堅在巴西墜機遇難 7714158
- 4 從兩種精神看新疆70年巨變 7618920
- 5 臺風“樺加沙”在廣東陽江登陸 7524238
- 6 女生住60層以上遇臺風 半夜被晃醒 7427447
- 7 中方回應石破茂聯(lián)大演講 7331699
- 8 美主播:要么退出聯(lián)合國要么炸了它 7237747
- 9 汽車門把手國標要來了:禁止全隱藏式 7144042
- 10 天山煥新顏 絲路著華章 7046378