這篇文章將為大家詳細(xì)講解有關(guān)如何理解PoC框架Pocsuite3,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
成都創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括克井網(wǎng)站建設(shè)、克井網(wǎng)站制作、克井網(wǎng)頁制作以及克井網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,克井網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到克井省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
Pocsuite是由知道創(chuàng)宇404實(shí)驗(yàn)室打造的一款開源的遠(yuǎn)程漏洞測(cè)試框架。它是知道創(chuàng)宇安全研究團(tuán)隊(duì)發(fā)展的基石,是團(tuán)隊(duì)發(fā)展至今一直維護(hù)的一個(gè)項(xiàng)目,保障了我們的Web安全研究能力的領(lǐng)先。
你可以直接使用Pocsuite進(jìn)行漏洞的驗(yàn)證與利用;你也可以基于Pocsuite進(jìn)行PoC/Exp的開發(fā),因?yàn)樗彩且粋€(gè)PoC開發(fā)框架;同時(shí),你還可以在你的漏洞測(cè)試工具里直接集成Pocsuite,它也提供標(biāo)準(zhǔn)的調(diào)用類。
Pocsuite3是完全由Python3編寫,支持Windows/Linux/Mac OSX等系統(tǒng),在原Pocsuite的基礎(chǔ)上進(jìn)行了整體的重寫與升級(jí),使整個(gè)框架更具有操作性和靈活性。
Pocsuite3在編寫時(shí)參考了很多市面上的開源框架以及流行成熟的框架,在代碼工程結(jié)構(gòu)上參考了Sqlmap,Pocsuite-console模式則參照了routersploit與metasploit,所以PoC的代碼格式和以前有些差別(但是盡量克制了大的改動(dòng))。Pocsuite3也提供了非常簡單的接口調(diào)用,可以集成到其他安全工具內(nèi)部。
安裝有兩種,pip和直接運(yùn)行源碼。
pip install -U pocsuite3 --no-cache-dir
將使用Pocsuite3最新版。
執(zhí)行:
pocsuite -h
檢驗(yàn)安裝效果。
如果你自信能折騰的話,可以下載源碼使用,這也是我們推薦的方式,因?yàn)閜ip的更新可能會(huì)慢于github。
wget https://github.com/knownsec/pocsuite3/archive/master.zip unzip master.zip
同時(shí)需要安裝兩個(gè)依賴:
pip install requests requests-toolbelt
如果同時(shí)也是Windows系統(tǒng),除了上面的依賴還需要安裝一個(gè):
pip install pyreadline # Windows console模式下使用,如果不使用可以不安裝
最后:
python cli.py -h
檢驗(yàn)安裝效果。
另外需要注意的是,兩種安裝方式只可以取其一,不可同時(shí)安裝。建議使用源碼安裝的方式。
大多數(shù)情況,-h可以幫助你了解Pocsuite支持的功能。


python3 cli.py -r pocs/ecshop_rce.py --dork ecshop --threads 5
將使用ZoomEye搜索ecshop并使用ecshop_rce.py探測(cè),指定線程數(shù)量為5

Pocsuite的運(yùn)行模式默認(rèn)是verify驗(yàn)證模式,此時(shí)對(duì)目標(biāo)影響最小,也有attack和shell模式,對(duì)目標(biāo)進(jìn)行相關(guān)攻擊與shell反彈(當(dāng)然需要PoC的支持,Pocsuite的PoC編寫格式預(yù)留了這三種模式的接口,并且有很多內(nèi)置API幫助實(shí)現(xiàn)這三種接口)。
Pocsuite3新增加了shell模式的設(shè)定,當(dāng)你選擇了此函數(shù),Pocsuite3將會(huì)監(jiān)聽一個(gè)端口,并等待目標(biāo)的反連。我們提供了各種語言用于反連的payload,以及用于生成在Windows/Linux平臺(tái)下可執(zhí)行的shellcode。

有時(shí)候命令行命令太多,有些參數(shù)的重用性比較高,Pocsuite也提供了從配置文件中運(yùn)行的方法。
我們以redis未授權(quán)訪問漏洞為例,我們修改這個(gè)文件pocsuite.ini。




線程也調(diào)整一下,RUN!
python3 cli.py -c ../pocsuite.ini

由于開啟了comparsion參數(shù),我們可以看到更多的信息:

如果你同時(shí)還是Zoomeye VIP,搜集目標(biāo)的同時(shí)也能夠識(shí)別出蜜罐信息。目前只有通過Zoomeye接口獲取的數(shù)據(jù)才能有蜜罐的標(biāo)識(shí)。Shodan、Censys暫未開放相關(guān)API接口。
Pocsuite支持了插件系統(tǒng),按照加載目標(biāo)(targets),加載PoC(pocs),結(jié)果處理(results)分為三種類型插件。
除了本身可以使用-u、-f加載本地的目標(biāo)之外,你可以編寫一個(gè)targets類型插件從任何你想加載的地方加載目標(biāo)(eg:Zoomeye、Shodan)甚至從網(wǎng)頁上,redis,都可以。Pocsuite3內(nèi)置了四種目標(biāo)加載插件。

從上文可以看出,如果使用了搜索dork—dork、—dork_zoomeye、—dork_shodan、—dork_censys,相關(guān)插件將自動(dòng)加載,無需手動(dòng)指定。
原來只能通過從seebug中調(diào)用插件,現(xiàn)在將這種方式抽離出來作為插件,將允許從任何能夠訪問的地方調(diào)用,甚至寫一個(gè)插件在github上維護(hù)一個(gè)倉庫調(diào)用都行。
Demo:
https://github.com/knownsec/pocsuite3/blob/master/pocsuite3/plugins/poc_from_redis.pyhttps://github.com/knownsec/pocsuite3/blob/master/pocsuite3/plugins/poc_from_seebug.py
Results插件允許對(duì)掃描的結(jié)果進(jìn)行處理,可以參考內(nèi)置的兩個(gè)插件,保存結(jié)果為html與保存結(jié)果為txt。Results插件的結(jié)果是實(shí)時(shí)的,具體可以看plugins/file_record.py的實(shí)現(xiàn)方式。
https://github.com/knownsec/pocsuite3/blob/master/pocsuite3/plugins/html_report.pyhttps://github.com/knownsec/pocsuite3/blob/master/pocsuite3/plugins/file_record.py
通過--plugins在后面指定插件名稱,多個(gè)插件可以用,分割。例如--plugins html_report將會(huì)生成HTML報(bào)表格式文檔。
基于我們漏洞應(yīng)急的積累,基本上Pocsuite內(nèi)置的API接口可以做到PoC編寫的全覆蓋了。很多API接口我們下一章再說,這里說兩個(gè)比較有趣的案例。
在一些特殊的Linux和Windows環(huán)境下,想得到反彈shell條件比較困難。為此我們制作了用于在Windows/Linux x86 x64環(huán)境下的用于反彈的shellcode,并制作了接口支持,你在只需要擁有命令執(zhí)行權(quán)限下便可以自動(dòng)將shellcode寫入到目標(biāo)機(jī)器以及執(zhí)行反彈shell命令。
Demo Poc:https://github.com/knownsec/pocsuite3/blob/master/pocsuite3/pocs/thinkphp_rce2.py
如果你們還對(duì)Hacking Jenkins Part 2 - Abusing Meta Programming for Unauthenticated RCE!有印象。多么完美的漏洞,但是在編寫PoC的時(shí)候我們遇到了困難,verify模式我們可以輕松用Ceye來識(shí)別,但是attack模式與shell模式我們就必須要制作自己的Jar并將它上傳到服務(wù)器上面!
為此我們制作Jar格式打包的API以及HTTP服務(wù)API,在后面的眾多越來越難以自動(dòng)化的PoC編寫中,會(huì)發(fā)現(xiàn)它是如此好用。
附Jenkins Abusing Meta Programming for Unauthenticated RCE(CVE-2019-1003000) with Pocsuite3演示視頻:
https://www.youtube.com/watch?v=5P7WWlqYt4U
隨著編程人員的安全意識(shí)逐漸提高,會(huì)發(fā)現(xiàn)以前一條鏈接就可以獲取RCE的時(shí)代已經(jīng)過去了。越來越多的漏洞轉(zhuǎn)向需要一定"權(quán)限"才能觸發(fā)。為此,我們需要在Pocsuite3預(yù)留參數(shù)接口。
在盡量保持原有PoC格式的前提下,我們?cè)黾恿艘粋€(gè)_options方法,用于指定用戶傳遞的參數(shù)。
DemoPoc:https://github.com/knownsec/pocsuite3/blob/master/tests/login_demo.py
我們定義了在Poc中需要傳遞username、password兩個(gè)參數(shù),為了使用的方便,可以直接在命令行模式下如下:
python3 cli.py -u http://localhost -r tests/login_demo.py --username "404team" --password "password"
是的,就是這么簡單。可能你會(huì)問如果PoC中定義的參數(shù)與Pocsuite自帶的參數(shù)名沖突了如何解決?我們的解決辦法是不允許定義沖突的參數(shù)名,Pocsuite在啟動(dòng)時(shí)就會(huì)檢查,如果有沖突的參數(shù)名會(huì)提示你修改PoC中的自定義參數(shù)名稱。
在某些情況下,我們也考慮到了可交互的命令模式(黑客的儀式感)。并且它完全能兼容命令行模式下的PoC,如果你在Linux或Mac下使用它,將得到更好的體驗(yàn)。


我們鼓勵(lì)也支持將Pocsuite3作為安全產(chǎn)品中的一部分。只需要將Pocsuite3作為模塊導(dǎo)入到你的項(xiàng)目中就能輕松使用。后面我們也會(huì)詳細(xì)說明Pocsuite3是如何做到這一點(diǎn)的。
pocsuite3.api將Pocsuite中所有接口暴露出來,不管是寫PoC還是集成到自己的環(huán)境,只需要使用這就可以。一個(gè)簡單調(diào)用Demo。
from pocsuite3.api import init_pocsuite
from pocsuite3.api import start_pocsuite
from pocsuite3.api import get_result
from pocsuite3.api import path
import os
config = {
'url' : 'https://www.baidu.com/' ,
'poc' : os . path . join ( paths . POCSUITE_ROOT_PATH , "../tests/login_demo.py" ),
'username' : "asd" ,
'password' : 'asdss' ,
'verbose' : 0
}
# config字典的配置和cli命令行參數(shù)配置一模一樣
init_pocsuite ( config )
start_pocsuite ()
result = get_results () . pop ()
print ( result )一個(gè)功能完備的框架并不只是一個(gè)可以批量處理任務(wù)的引擎,很多東西需要在實(shí)戰(zhàn)中積累并以最好的方式實(shí)現(xiàn)出來(俗稱踩坑)。在打造自己的PoC框架過程中,一定要清楚自己需要的是什么,以及用何種方式將它優(yōu)雅的解決?
關(guān)于如何理解PoC框架Pocsuite3就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
分享題目:如何理解PoC框架Pocsuite3
標(biāo)題路徑:http://chinadenli.net/article32/pgjhsc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、網(wǎng)站維護(hù)、動(dòng)態(tài)網(wǎng)站、網(wǎng)站導(dǎo)航、Google、建站公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)