中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

如何使用CFB對Windows驅(qū)動程序進行模糊測試

2022-10-11    分類: 網(wǎng)站建設(shè)

如何使用CFB對Windows驅(qū)動程序進行模糊測試

關(guān)于CFB

CFB,全名為Canadian Furious Beaver,是一款功能強大的Windows驅(qū)動程序模糊測試工具,該工具可以幫助廣大研究人員監(jiān)控Windows驅(qū)動程序中的IRP處理器,并對Windows驅(qū)動程序漏洞進行分析、復(fù)現(xiàn)和模糊測試。

CFB本質(zhì)上是一款分布式工具,可以捕捉發(fā)送給任何Windows驅(qū)動程序的IRP。它主要由兩部分組成:

(1) 該工具的“Broker”(代理)結(jié)合了用戶端代理和一個能將自己安裝到目標(biāo)系統(tǒng)上的自提取驅(qū)動程序(IrpDumper.sys)。運行之后,它將暴露(取決于編譯選項)遠程命名管道(可從\\target.ip.address\pipe\cfb訪問)或偵聽TCP/1337的TCP端口。該工具所實現(xiàn)的通信協(xié)議設(shè)計簡單,允許任何第三方工具輕松地(通過簡單的JSON消息)從同一個代理轉(zhuǎn)儲驅(qū)動程序IRP。

(2) CFB的GUI是一個采用ProcMon風(fēng)格的Windows 10 UWP應(yīng)用程序:它將連接到代理所在的任何位置,并提供一個方便的GUI來操作代理(驅(qū)動程序枚舉、鉤子和IRP捕獲)。它還提供了偽造/重放IRP、自動模糊測試(即對捕獲的每個IRP采用特定的模糊策略)或以各種格式提取IRP,方便研究人員進行深入分析。捕獲的數(shù)據(jù)可以以易于解析的格式(*.cfb=SQLite)保存在磁盤上,以便進一步分析,或隨后在GUI中重新加載。

盡管GUI顯然需要Windows 10環(huán)境(UWP應(yīng)用程序)中使用,但代理本身可以部署在任何Windows 7+主機(x86或x64)上。目標(biāo)主機必須啟用testsigning BCD策略,因為自解壓驅(qū)動程序不支持WHQL。

機制分析

IrpDumper.sys是CFB Broker代理的驅(qū)動程序部分,它將在啟動時自動提取和安裝。驅(qū)動程序?qū)⒇撠?zé)通過代理傳遞的IOCTL掛接請求掛接到驅(qū)動程序的IRP主功能表。成功后,驅(qū)動程序的IRP表將指向IrpDumper.sys攔截程序,我們也可以輕松通過調(diào)試器或WinObjEx64之類的工具查看到相關(guān)信息。

如何使用CFB對Windows驅(qū)動程序進行模糊測試

IrpDumper.sys本身可以充當(dāng)一個rootkit,并代理所有對目標(biāo)驅(qū)動程序的調(diào)用。當(dāng)DeviceIoControl被發(fā)送給掛鉤的驅(qū)動程序時,IrpDumper只需捕獲數(shù)據(jù)(如果有),并將消息推送到用戶端代理,然后將執(zhí)行返回給合法的驅(qū)動程序,從而允許預(yù)期的代碼按預(yù)期繼續(xù)執(zhí)行。代理會將所有這些數(shù)據(jù)存儲在用戶區(qū)域中,等待事件去請求它們。

工具構(gòu)建

(1) GUI

首先,我們需要使用下列命令將該項目源碼克隆至本地:

git clone https://github.com/hugsy/CFB.git

接下來,使用Visual Studio構(gòu)建項目根目錄中的CFB.sln代理解決方案。除此之外,我們還可以通過構(gòu)建GUI(Unicersal Windows)項目來構(gòu)建App GUI。

(2) 命令行

首先,我們需要使用下列命令將該項目源碼克隆至本地:

git clone https://github.com/hugsy/CFB.git

然后通過VS命令行終端運行下列命令:

C:\cfb\> msbuild CFB.sln /p:Configuration=$Conf

其中的$Conf可以設(shè)置為Releases或Debug。

工具安裝&配置

在Windows 7+設(shè)備上(推薦使用Windows 10 SDK VM),啟用BCD測試簽名選項(以管理員權(quán)限啟動cmd.exe):

C:\> bcdedit.exe /set {whatever-profile} testsigning on

如果使用了調(diào)試模式,IrpDumper.sys將提供更多的詳細信息。我們可以通過DebugView.exe之類的工具或WinDbg之類的內(nèi)核調(diào)試器來查看全部的相關(guān)信息。此時,我們必須啟用內(nèi)核調(diào)試BCD選項(以管理員權(quán)限啟動cmd.exe):

C:\> bcdedit.exe /set {whatever-profile} debug on 工具運行截圖

IRP攔截界面:

如何使用CFB對Windows驅(qū)動程序進行模糊測試

IRP詳情

如何使用CFB對Windows驅(qū)動程序進行模糊測試

如何使用CFB對Windows驅(qū)動程序進行模糊測試

IRP重放:

如何使用CFB對Windows驅(qū)動程序進行模糊測試

項目地址

CFB:【GitHub傳送門】

分享文章:如何使用CFB對Windows驅(qū)動程序進行模糊測試
文章網(wǎng)址:http://www.rwnh.cn/news/204549.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站、自適應(yīng)網(wǎng)站定制開發(fā)、App設(shè)計網(wǎng)站建設(shè)、網(wǎng)站設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)
万宁市| 阳春市| 化隆| 会泽县| 临湘市| 雅江县| 镇沅| 蒙城县| 昌吉市| 荆州市| 旬阳县| 宜都市| 绥化市| 中超| 湟源县| 商洛市| 政和县| 凤翔县| 拜泉县| 晋宁县| 泸水县| 景宁| 宁陕县| 郸城县| 崇仁县| 江安县| 赤城县| 内黄县| 谷城县| 星子县| 定日县| 鞍山市| 凤山县| 西乡县| 铜川市| 澄江县| 东安县| 海盐县| 任丘市| 万全县| 高陵县|