- 25
- 0
- 约2.17万字
- 约 34页
- 2018-09-04 发布于江苏
- 举报
自己动手,制inline hook扫描工具
HYPERLINK 雨伞( HYPERLINK )今天来跟大家一起讨论一下关于检测内核中inline hook IAT hook方面的知识如果喜欢请关注 HYPERLINK 广告伞我们平时常用的工具中xuetr和kd都提供了这个功能,比较方便地可以让我们看出来是谁在我们的电脑中做了什么手脚不过现在有很多软件或者游戏不希望我们看到它们做的种种坏事,纷纷封杀掉这些工具,更有甚者检测到这类工具启动立马给我来个蓝脸或者重启这也太霸道了,这到底成了谁的电脑了?于是本着维护对于拥有无可争辩所有权的个人电脑的完全的信息知情权的目的,我山寨了一下检测内核inline / IAT hook功能说完废话,开进主题网上没有搜索到详细的检测方法,可能是大家觉得比较没啥技术含量没必要写出来吧说白了其实真的挺简单,就是将内核中待检测的数据拷贝到RING3层,RING3层做一份原文件的副本镜像映射,然后做各种处理,最后比较一下在讨论具体代码之前先用文字介绍一下我的检测流程,便于大家理解具体PE知识就不做科普了:因为大部分实际执行代码在驱动中存在于.text和PAGE两个节区,所以我用RING3层指定,由驱动部分拷贝回这两个节区;为了减少驱动中的处理,由RING3层计算出需要拷贝的起始终结地址范围包含对应的节区,这样驱动要做的仅仅是读取指定地址范围的数据;本来上面这两步通过RING3层一个ZwQuerySystemInformation得到内核驱动的加载基址之后,就可以定位到要拷贝的节区的地址信息,但是我是通过驱动层读取PsLoadedModuleList链来得到的模块信息,具体原因后面再解释这样我们就得到了待检测的数据节区.然后我们需要映射一份原驱动文件的映像,以作为对比的源.因为已经加载的驱动已经被重定向过,所以我们映射的驱动镜像也需要重定向修复一下;另外要做的一个修复就是对于输入表的处理,这里简单说下.我们知道输入表结构中的OriginalFirstThunk和FirstThunk在文件未被装载映射时是指向导入的函数名称的或者序号,而当它被装载完之后PE装载器会重写FirstThunk部分,将之改写为导入的函数的真实地址.这样问题就出来了:如果输入表FirstThunk位于.text节区或者PAGE节区,我们就需要对它就行相应的处理,否则在进行比对时会出现错误.因为驱动中的输入表FirstThunk数据已经被改写而我们映射的文件的FirstThunk还是原始值我是这样处理的,在检测inline hook之前首先检测IAT hook,检测完之后将驱动拷贝回的数据中的FirstThunk和我们映射的文件的FirstThunk部分都清空,如果FirstThunk位于我们正在检测的节区当中的话这样就不会对我们接下去的处理产生影响了.所以接续上面的流程应当是重定向修复-IAT hook 检测-IAT修复-inline hook检测下面我们具体看一下代码:忘了说一点,因为考虑到检测内核hook及应用层hook,一些结构及函数是共用的,这里只介绍内核hook
代码:
function CheckKernelInlineHook(parameter:Pointer):DWORD;stdcall;
var
hDevice : THandle;
i : DWORD;
pModuleListBuf : Pointer;
dwBufSize : DWORD;
dw : DWORD;
tempStrStr : string;
begin
Result:=0;
// 打开驱动层的设备对象
hDevice:=OpenDevice(DEVICE_SYMBOLIC_NAMR);
if hDevice = 0 then Exit;
i:=0;
pModuleListBuf:=nil;
// 获得模块信息列表
while True do
begin
dwBufSize:=(200 + i*5) * SizeOf(TLdrDataTableEntry);
pModuleListBuf:=AllocMem(dwBufSize);
if pModuleListBuf = nil then
begin
CloseHandle(hDevice);
Exit;
end;
if not DeviceIoControl(hDevice, IOCTL_GET_MODULE_LIST_INF
您可能关注的文档
- 联苯双酯滴丸产工艺规程.doc
- 联谊交友实践及思考提纲.doc
- 联轴器地装配方法.doc
- 联通国信高速息机市场推广策略营销策划.ppt
- 聚丙烯地材料性能.doc
- 聚丙烯基复合材料结晶动力学地研究进展(终).doc
- 聚乙烯(PE土工膜防渗工程技术规范-条文说明.doc
- 聚乙烯(PE)管道施工中常见地问题及处理.ppt
- 聚乙烯地改性研究.pptx
- 聚乙烯燃气管带压不停气连接.doc
- 2025年全国演出经纪人员资格认定考试试卷带答案(研优卷).docx
- 2025年全国演出经纪人员资格认定考试试卷完整版.docx
- 2025年全国演出经纪人员资格认定考试试题库及完整答案.docx
- 2025年全国演出经纪人员资格认定考试试卷完美版.docx
- 2025年全国演出经纪人员资格认定考试试卷含答案(实用).docx
- 2025年全国演出经纪人员资格认定考试试卷及答案(各地真题).docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
- 2025年全国演出经纪人员资格认定考试试卷及答案1套.docx
- 2025年下半年四川成都市郫都区面向社会引进公共类事业单位人员2人备考题库最新.docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
原创力文档

文档评论(0)