偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

安全 數(shù)據(jù)安全
該工具可以幫助廣大研究人員監(jiān)控Windows驅(qū)動程序中的IRP處理器,并對Windows驅(qū)動程序漏洞進(jìn)行分析、復(fù)現(xiàn)和模糊測試。

關(guān)于CFB

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

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

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

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

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

機(jī)制分析

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

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

工具構(gòu)建

(1) GUI

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

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

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

(2) 命令行

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

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

然后通過VS命令行終端運(yùn)行下列命令:

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

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

工具安裝&配置

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

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

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

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

工具運(yùn)行截圖

IRP攔截界面:

IRP詳情

IRP重放:

項(xiàng)目地址

CFB:【GitHub傳送門

責(zé)任編輯:趙寧寧 來源: FreeBuf
相關(guān)推薦

2019-10-22 15:40:34

Windows 10驅(qū)動程序Windows

2019-03-27 13:20:31

Windows 10更新驅(qū)動程序

2018-11-19 10:15:26

Windows 10WiFi驅(qū)動程序

2017-03-03 08:40:32

2018-07-18 16:35:06

Windows 10Windows驅(qū)動程序

2015-09-10 14:42:37

自動更新UpdateWindows 10

2019-10-18 13:40:10

Windows 10 Windows Up驅(qū)動程序

2018-09-03 15:45:48

Windows 10Windows驅(qū)動程序

2011-01-10 18:21:38

linux編寫程序

2009-07-03 16:48:05

Windows CE

2020-02-03 09:53:12

卸載驅(qū)動程序Windows 10

2011-04-22 17:29:37

Linux網(wǎng)卡

2009-07-06 18:17:46

JDBC驅(qū)動程序

2021-03-31 22:51:03

Windows 10Windows微軟

2011-03-04 09:09:07

BlueJ

2021-12-06 07:47:36

Linux 驅(qū)動程序Linux 系統(tǒng)

2021-11-29 07:55:45

Linux GPIO Linux 系統(tǒng)

2022-05-13 09:14:47

NVidia開源Linux

2009-03-09 18:48:26

Windows 7驅(qū)動開發(fā)

2023-09-26 19:20:09

微軟開源windows
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號