secdrv.sys任意kernel地址覆盖漏洞浅析(0day)

三11 win10用签名.zip 三国志11无法直接在win10运行, 把secdrv.sys放到C:\Windows\System32\drivers下就可以了 立即下载
secdrv.sys任意kernel地址覆盖漏洞浅析(0day)
by flyingkisser 
 
前言:
这几天忙着找工作,没及时看安全公告,这个0day出了好几天才知道,
并且等我想分析时,才发现poc已经出来了。
Anyway,还是把分析过程写一写吧,尽管没什么技术含量,
这里我只分析了主要的地方,也只说说关键的。
 
1.什么是secdrv.sys
secdrv.sys,不知道是干什么的,也懒得去google了,我只发现xp的默认安装
有这个文件,位于%systemroot%/system32/drivers/,并且,我的机器默认没有
加载这个驱动,我也不清楚什么条件下系统会加载这个驱动。
 
2.分析这个漏洞前的准备
a.加载这个驱动,并run(我用的是kmdmanager.exe)
b.开kd(这里就不用softice动态跟了,因为我的虚拟机一运行softice,主机的cpu使用率就100%,
如果有人知道为什么,麻烦来信告诉我))
 
kd> !object /Driver/
在茫茫信息中找到
 18  81218c08 Driver        secdrv
 
kd> dt nt!_driver_object 81218c08 MajorFunction
nt!_DRIVER_OBJECT
   +0x038 MajorFunction : [28] 0xfaf38f28     +0
 
kd> dd 81218c08+38+e*4 l1
81218c78  faf38f28
(因为IRP_MJ_DEVICE_CONTROL=e)
 
因此得知这个驱动对象的Irp的Dispatch函数地址是faf38f28
 
下面,我们直接看看这个Dispatch函数的内部实现就行了
 
3.Dispatch函数的内部实现
首先,通过POC我已经知道发生问题的io control code是0xCA002813
io control code的格式如下:
-------------------------------------------------------
| Bit31-Bit16 | Bit15,Bit14 | Bit14-Bit2 | Bit1,Bit0  |
-------------------------------------------------------
| DeviceType  |   Access    | Function   |   Method   |
-------------------------------------------------------
0xCA002813最后一个字节是13,即bit1,bit0是11,所以使用的Method是METHOD_NEITHER,
即i/o管理器对DeviceIoControl 提供的输入缓冲区和输出缓冲区的内容不进行额外的复制,
即输入缓存区和输出缓冲区都是ring3调用入栈的地址。这时:
InputBuf位于IO_STACK_LOCATION结构的Parameters.DeviceIoControl.Type3InputBuffer成员中
OutputBuf位于_Irp结构的UserBuffer成员中
 
下面来看这个Dispatch函数内部关键的汇编代码  
 
faf38e2c 817df0132800ca  cmp     dword ptr [ebp-10h],0CA002813h ;0xCA002813
faf38e33 7434            je      secdrv+0x5e69 (faf38e69)       ;according to poc,this is the MAGIC_IOCTL,need to jump
 
faf38e69 8b450c          mov     eax,dword ptr [ebp+0Ch]        ;eax=&pIrp->IoStatus
faf38e6c 832000          and     dword ptr [eax],0                      ;pIrp->IoStatus->Status=0
faf38e6f 8b450c          mov     eax,dword ptr [ebp+0Ch]
faf38e72 83600400        and     dword ptr [eax+4],0            ;pIrp->IoStatus->Information=0
faf38e76 8b45e8          mov     eax,dword ptr [ebp-18h]        ;pIrp->CurrentStackLocation
faf38e79 8b4010          mov     eax,dword ptr [eax+10h]        ;eax=csl->Parameters->DeviceIoControl->Type3InputBuffer
faf38e7c 8945f4          mov     dword ptr [ebp-0Ch],eax
faf38e7f 8b45e8          mov     eax,dword ptr [ebp-18h]
faf38e82 8b4008          mov     eax,dword ptr [eax+8]
faf38e85 8945ec          mov     dword ptr [ebp-14h],eax        ;eax=csl->Parameters->DeviceIoControl->InputBufferLength
faf38e88 8b45e8          mov     eax,dword ptr [ebp-18h]
faf38e8b 8b4004          mov     eax,dword ptr [eax+4]
faf38e8e 8945fc          mov     dword ptr [ebp-4],eax          ;eax=csl->Parameters->DeviceIoControl->OutputBufferLength
faf38e91 8b45ec          mov     eax,dword ptr [ebp-14h]
faf38e94 3b45fc          cmp     eax,dword ptr [ebp-4]          ;
faf38e97 7417            je      secdrv+0x5eb0 (faf38eb0)       ;need to jump
 
;if(csl->Parameters->DeviceIoControl->OutputBufferLength==csl->Parameters->DeviceIoControl->InputBufferLength)
;jump here
;即输入Buf和输出Buf的长度需要相等才行
faf38eb0 8b45f4          mov     eax,dword ptr [ebp-0Ch]        ;eax=csl->Parameters->DeviceIoControl->Type3InputBuffer
                                                          &n
Windows XP 核心驱动 secdrv.sys 本地权限提升漏洞 利用系统漏洞是最直接的方法!微软在2007年下半年发布了一个“Windows XP 核心驱动 secdrv.sys 本地权限提升漏洞”,利用这个本地溢出漏洞,我们可以获得本地的最高权限。 立即下载

相关推荐

三国志11 全部数据MySQL命令

san_baowu.sql 三国志11 数据MySQL命令,其中包含宝物、朝代、城市、关口、势力、武将内容。

sys驱动签名工具.zip

sys驱动签名工具.zipsys驱动签名工具.zipsys驱动签名工具.zipsys驱动签名工具.zipsys驱动签名工具.zip

老电脑升级win11一键解决

一些老的电脑无法安装win11,这个文件可以解决。本人亲自测试过。升到win11别忘了磁盘清理一下,需要可以下载。

三国志11各城市火球阵.doc

三国志11各城市火球阵.doc

AAC编解码器在实时通信中的性能对比与应用选择

本文深入分析了AAC编解码器在实时通信中的性能优化,重点对比了faac、faad2与fdk-aac三大开源方案在WebRTC场景下的表现。通过实测数据揭示其在延迟、音质和资源消耗等关键指标的差异,并提供场景化选型建议与调优技巧,帮助开发者提升实时音视频通信质量。

weixin_29210727的博客 388

Polyworks脚本开发学习笔记(一)-脚本开发环境

详细的总结和记录了利用Polyworks进行脚本开发的一些方法和心得

qq_43662503的博客 6796

CRC校验查表法详解

CRC校验的查表法理解算法原理基础计算查表法原理及计算查表法中的表CRC校验中数据逆序CRC校验中的其它参数 算法原理 CRC(Cyclic Redundance Check)循环冗余校验,是基于某个多项式计算出一组校验码,用于核对数据传输过程中是否被更改或传输错误 基础计算 假设需要检验的数据 g :10100111,这串二进制码可以表示为代数多项式g(x) = x^7 + x^5 + x^2 + x +1, 而作为除数的多项式 h(x) 可以自由选择或者按照国际标准选择,一般h(x)的阶数如果是m

boom的博客 1万+

基于STM32的智能血氧、心率、体温、血压监测系统

摘要:本文设计了一款基于STM32F103C8T6的多功能健康监测系统,可实时检测血氧、心率、体温和血压四项生理参数。系统集成MAX30102、DS18B20等传感器模块,采用OLED显示和蓝牙无线传输技术,实现一键血压测量、阈值报警及手机APP数据管理功能。硬件设计包含传感器采集、电源管理、显示报警等模块;软件采用模块化架构,实现数据采集处理、蓝牙通讯等功能。测试表明系统测量准确可靠,为家庭健康监测提供了便携解决方案。未来可扩展更多监测参数和智能分析功能。

3254968421的博客 767

AI幻觉缓解的成本效益分析:投入产出比优化

在当今AI技术飞速发展的时代,AI幻觉成为了一个不容忽视的问题。AI幻觉就像是AI在“做梦”,会给出一些不符合实际或者错误的答案。我们这篇文章的目的就是要分析缓解AI幻觉所需要投入的成本和能够获得的效益,看看怎么能让投入和产出的比例达到最优。范围涵盖了常见的AI应用场景,比如智能客服、自动驾驶等领域。接下来,我们会先介绍一些和AI幻觉、成本效益分析相关的术语。然后用一个有趣的故事引出核心概念,解释什么是AI幻觉、成本效益分析等,以及它们之间的关系。

AI 原生应用开发的博客 934

基于Qt的工业组态软件开发:图形绘制与TCP通讯实现

在数据接收时,通过 readyRead 信号触发解析函数,校验数据包完整性后提取有效数据,并更新对应图形元素的状态,例如根据温度值改变矩形的填充色,实现设备状态可视化。测试阶段,我们将软件部署到Windows工控机,连接PLC设备进行通讯测试,结果表明图形元素响应及时,TCP数据传输稳定,满足工业现场的基本需求。综上所述,基于Qt的组态软件开发,核心在于利用 QGraphicsView 框架实现图形元素的灵活绘制与管理,结合 QTcpSocket 完成工业数据的可靠交互。

谢谢大家的关注和点赞!这里只有纯纯的知识干货,没有一句废话。希望能实实在在帮到大家~要是觉得有用,别忘了给我点支持哟,你 272

YOLOv8【第十一章:视频追踪与流处理篇·第3节】匈牙利算法(Hungarian Algorithm)与 KM 算法匹配机制详解!

🏆 本文收录于 《YOLOv8实战:从入门到深度优化》 专栏。该专栏系统复现并梳理全网各类 YOLOv8 改进与实战案例(当前已覆盖分类 / 检测 / 分割 / 追踪 / 关键点 / OBB 检测等方向),坚持持续更新 + 深度解析,质量分长期稳定在 97 分以上,可视为当前市面上 覆盖较全、更新较快、实战导向极强 的 YOLO 改进系列内容之一。

**My Coding Family** 443

更新|芒果YOLOv8改进182:注意力机制MLLA:即插即用|融合 Mamba 设计精髓的线性注意力视觉Transformer

芒果YOLOv8改进:即插即用,最新注意力机制MLLA:融合 Mamba 设计精髓的线性注意力视觉Transformer

包括YOLOv5、YOLOv7、YOLOv8等模型改进 864

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

上一篇: Base64编码算法
下一篇: Packet Sniffers
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值