内核漏洞辅助分析工具
0x00 IopfCompleteRequest 函数 hook 1. 获取 nt 模块的加载基址 , 加上固定的 rva, 对 IopfCompleteRequest 函数的前 5 个字节 opcode 进 行 inline hook 2.MyIopfCompleteRequest 处理主要是判断 IoControlCode 是不是目标的 IoControlCode ,如果是的话则过滤需要的信息 ( 目 标 IoControlCode(g_IoCode), 返回地址 (retAddr), 目标驱动的加载基址 (BugSysBase), 返回地址 RVA(retAddr Rva)) 0x01 IRP 处理函数 hook 1. 通过 ring3 层传进来的 IRP 处理函数 rva, 进行 inline hook 2. MyIrpFun 主要处理 : 设置了 int3 断点,方便调试 ; 过滤从 ring3 层传进来的 buffer 和 size 信息 , 在过滤函数中恢复回原来的指令,再执行回原本的 IRP 处 理函数 . 2.1 在执行回原来的 IRP 处理函数之前,通过修改返回地址为挂钩函数的地址 (retHookA) ,当原来的 IRP 处理函数处理完后,返回时将跳到 retHookA 函数重新挂钩 0x02 实战 -HackSysTeam 项目池溢出 1. 漏洞分析时,一般都能获取到 poc( 这里我写了个 poc, 未溢出的 ; 溢出产生 BSOD 后打印不了信息 ; 实际分析时 , 可以改下 po...