如何行使CFB对Windows驱动程序进走暧昧测试
关于CFBCFB,全名为Canadian Furious Beaver,是一款功能繁荣的Windows驱动程序暧昧测试工具,该工具可以协助遍及研讨人员监控Windows驱动程序中的IRP处理器,并对Windows驱动程序漏洞进走分析、复现和暧昧测试。
CFB心里上是一款分布式工具,可以捕捉发送给任何Windows驱动程序的IRP。它首要由两单方构成:
(1) 该工具的“Broker”(代理)结相符了用户端代理和一个能将自身安设到主意体系上的自挑取驱动程序(IrpDumper.sys)。运走之后,它将袒露(取决于编译选项)长途命名管道(可从\\target.ip.address\pipe\cfb访问)或侦听TCP/1337的TCP端口。该工具所实现的通信拟订设计浅近,应许任何第三方工具轻便地(经过浅近的JSON新闻)从统一个代理转储驱动程序IRP。
(2) CFB的GUI是一个采用ProcMon风格的Windows 10 UWP答用程序:它将连接到代理所在的任何位置,并挑供一个方便的GUI来操作代理(驱动程序枚举、钩子和IRP捕获)。它还挑供了谴责/重放IRP、自动暧昧测试(即对捕获的每个IRP采用特定的暧昧策略)或以各栽格式挑取IRP,方便研讨人员进走深入分析。捕获的数据可以以易于解析的格式(*.cfb=SQLite)保存在磁盘上,以便进一步分析,或随后在GUI中重新添载。
尽管GUI明晰需求Windows 10环境(UWP答用程序)中行使,但代理本身可以安顿在任何Windows 7+主机(x86或x64)上。主意主机必须启用testsigning BCD策略,由于自解压驱动程序不援救WHQL。
机制分析IrpDumper.sys是CFB Broker代理的驱动程序单方,它将在启动时自动挑取和安设。驱动程序将负责经过代理传递的IOCTL挂接央求挂接到驱动程序的IRP主功能外。成功后,驱动程序的IRP外将指向IrpDumper.sys拦阻程序,俺们也可以轻便经过调试器或WinObjEx64之类的工具查看到关联信休。
IrpDumper.sys本身可以充当一个rootkit,并代理总共对主意驱动程序的调用。当DeviceIoControl被发送给挂钩的驱动程序时,IrpDumper只需捕获数据(伪如有),并将新闻推送到用户端代理,然后将实走返回给相符法的驱动程序,从而应许预期的代码按预期连续实走。代理会将总共这些数据存储在用户区域中,祈看事件往央求它们。
工具构建(1) GUI
肇始,俺们需求行使下列命令将该项此刻源码克隆至本地:
git clone https://github.com/hugsy/CFB.git
接下来,行使Visual Studio构建项此刻根此刻录中的CFB.sln代理解决方案。除此之外,俺们还可以经过构建GUI(Unicersal Windows)项此刻来构建App GUI。
(2) 命令走
肇始,俺们需求行使下列命令将该项此刻源码克隆至本地:
git clone https://github.com/hugsy/CFB.git
然后经过VS命令走终端运走下列命令:
C:\cfb\> msbuild CFB.sln /p:Configuration=$Conf
其中的$Conf可以建树为Releases或Debug。
工具安设&配置在Windows 7+设备上(推选行使Windows 10 SDK VM),启用BCD测试签名选项(以管理员权限启动cmd.exe):
C:\> bcdedit.exe /set {whatever-profile} testsigning on
伪如行使了调试模式,IrpDumper.sys将挑供更众的雅致信休。俺们可以经过DebugView.exe之类的工具或WinDbg之类的内核调试器来查看完益的关联信休。此时,俺们必须启用内核调试BCD选项(以管理员权限启动cmd.exe):
C:\> bcdedit.exe /set {whatever-profile} debug on
工具运走截图IRP拦阻界面:
IRP细则
IRP重放:
项此刻地址CFB:【GitHub传送门】
- 上一篇:600亿到位!紫光集团重整正式进入交割期
- 下一篇:用截屏哄骗商家,是盗窃依然诈骗