首页
社区
课程
招聘
[原创]HEVD学习笔记之概述
发表于: 2021-11-7 11:00 20474

[原创]HEVD学习笔记之概述

2021-11-7 11:00
20474

HEVD学习笔记目录:

HEVD学习笔记之概述

HEVD学习笔记之缓冲区溢出攻击

HEVD学习笔记之任意地址写入

HEVD学习笔记之UAF

HEVD学习笔记之整数溢出漏洞

HEVD学习笔记之空指针引用

HEVD学习笔记之未初始化栈变量

HEVD学习笔记之非换页内存池溢出漏洞

HEVD作为一个优秀的内核漏洞靶场受到大家的喜欢,靶场地址 HackSysExtremeVulnerableDriver。这里选择x86的驱动来进行黑盒测试学习内核漏洞,作为学习笔记记录下来。

实验环境:

装载驱动以后首先使用WinDbg查看驱动的内容

驱动装载的地址是0x98C78000,DriverEntry的地址是0x98CC00EA,所以DriverEntry的偏移地址是0x480EA。IRP_MJ_DEVICE_CONTROL的分发函数偏移地址0x44064。

使用IDA对驱动进行分析,可以看到在DriverEntry首先是创建了设备对象

随后就是对分发函数的赋值以及符号链接的创建

而根据IDA识别的结果就可以得知符号名,根据符号名就可以完成和驱动的连接与通信

而在DispatchIoCtrl中,程序将IoControlCode取出减去0x222003以后得到下标,在用这个下标从Index_Table中取出函数地址表的下标。在根据这个地址表的下标从Func_Table中获得函数地址以后跳转到该函数执行

而这两张表的内容如下,其中的FuncTable中的每一个地址都代表了不同的漏洞

如果取出的函数地址表的下标是0x1C,那么对应的就是最后一个跳转地址,也就是loc_4444AD。而这个地址中的代码是在告知用户,发送的IOCTL是不合法的IOCTL


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

最后于 2022-1-20 18:22 被1900编辑 ,原因:
上传的附件:
收藏
免费 4
支持
分享
最新回复 (2)
雪    币: 50
活跃值: (1055)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
2
IRP_MJ_DEVICE_CONTROL的分发函数偏移地址应该是0x44064
2022-1-8 10:39
0
雪    币: 22413
活跃值: (25376)
能力值: ( LV15,RANK:910 )
在线值:
发帖
回帖
粉丝
3
Zero~ IRP_MJ_DEVICE_CONTROL的分发函数偏移地址应该是0x44064
是的 多谢提醒
2022-1-18 18:55
0
游客
登录 | 注册 方可回帖
返回
//