吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 9995|回复: 6
收起左侧

[漏洞分析] 【转看雪】发个微软的classpnp.sys的0day,可用来执行任意内核代码

  [复制链接]
hackboy 发表于 2011-10-13 19:27
本帖最后由 hackboy 于 2011-10-13 19:50 编辑

首先说明,这个漏洞触发需要管理员权限,用处不是很大,不过做做无驱进ring0,过过主防应该还是有点用的
————————————————————————————————————————
classpnp.sys的ServiceTransferRequest存在一个安全缺陷,可使应用程序执行任意内核代码,已验证的环境windows xp sp3,ntfs文件驱动
函数原型NTSTATUS ServiceTransferRequest(PDEVICE_OBJECT Fdo,PIRP Irp);
在函数中直接使用了参数irp的MdlAddress成员,没有对其进行有效性检查,通过某种特征的函数访问路径可使IRP的MdlAddress为0而导致BSOD,函数头逆向如下
CLASSPNP!ServiceTransferRequest:
f7562bfd 8bff            mov     edi,edi
f7562bff 55              push    ebp
f7562c00 8bec            mov     ebp,esp
f7562c02 83ec18          sub     esp,18h
f7562c05 8b4508          mov     eax,dword ptr [ebp+8]
f7562c08 8b4028          mov     eax,dword ptr [eax+28h]
f7562c0b 53              push    ebx
f7562c0c 8b98b4020000    mov     ebx,dword ptr [eax+2B4h]
f7562c12 56              push    esi
f7562c13 8b750c          mov     esi,dword ptr [ebp+0Ch]//irp获取参数irp
f7562c16 8b4e04          mov     ecx,dword ptr [esi+4]//irp.mdladdress得到irp的mdladdres成员
f7562c19 8b4660          mov     eax,dword ptr [esi+60h]
f7562c1c 8b5004          mov     edx,dword ptr [eax+4]
f7562c1f 57              push    edi
f7562c20 8b7918          mov     edi,dword ptr [ecx+18h]//mdl.byteoffset访问18h会导致bsod
f7562c23 037910          add     edi,dword ptr [ecx+10h]//mdl.startVa

通过某种特殊的访问可导致上述的IRP中的mdladdres为0导致蓝屏,重现步骤
1、获取system进程中pagefile文件的句柄
2、通过此句柄来读取pagefile文件
具体重现步骤请见附件中的poc文件夹,bsod时的函数栈如下:
STACK_TEXT:  
b2a3a980 f7562dcd 82b2a9c0 82642008 82642008 CLASSPNP!ServiceTransferRequest+0x23
b2a3a9a4 804e23c9 82b2a9c0 00000000 826b2030 CLASSPNP!ClassReadWrite+0xff
b2a3a9b4 f77aa921 826b7c70 8264212c b2a3a9f0 nt!IopfCallDriver+0x31
b2a3a9c4 804e23c9 82b2a798 82642008 82642150 PartMgr!PmReadWrite+0x95
b2a3a9d4 f74a41c6 826b53a0 82b9fa58 82642008 nt!IopfCallDriver+0x31
b2a3a9f0 804e23c9 826b7bb8 82642008 826b2f38 ftdisk!FtDiskReadWrite+0x194
b2a3aa00 f754251a 826b77e8 826b77e8 b2a3aae8 nt!IopfCallDriver+0x31
b2a3aa10 804e23c9 826b77e8 82642008 bbfca000 VolSnap!VolSnapRead+0x26
b2a3aa20 f737aa19 829bd608 825ca008 82727008 nt!IopfCallDriver+0x31
b2a3aae8 f73807e2 82727008 82642008 825ca008 Ntfs!NtfsPagingFileIo+0x1b2
b2a3abc4 f737a00a 82727008 82642008 00000001 Ntfs!NtfsCommonRead+0x2bd
b2a3ac64 804e23c9 826b52c0 82642008 826b7400 Ntfs!NtfsFsdRead+0x22d
b2a3ac74 f741b459 b2a3aca0 804e23c9 826b5c88 nt!IopfCallDriver+0x31
b2a3ac7c 804e23c9 826b5c88 82642008 80702410 sr!SrPassThrough+0x31
b2a3ac8c 805716e2 82642174 82642008 82895580 nt!IopfCallDriver+0x31
b2a3aca0 8057fb27 826b5c88 82642008 82895580 nt!IopSynchronousServiceTail+0x70
b2a3ad38 804de98f 00000080 00000084 00000000 nt!NtReadFile+0x55d
b2a3ad38 7c92e4f4 00000080 00000084 00000000 nt!KiFastCallEntry+0xfc
0012ddc0 7c92d9bc 7c80199d 00000080 00000084 ntdll!KiFastSystemCallRet
0012ddc4 7c80199d 00000080 00000084 00000000 ntdll!ZwReadFile+0xc
0012de2c 0042f3ba 00000080 0012df18 00002000 kernel32!ReadFile+0x10d
0012ff54 0042ffc2 00000001 009a2fb8 009a3058 poc!wmain+0xba
0012ffb8 0042fd7d 0012fff0 7c817067 80000001 poc!__tmainCRTStartup+0x232
0012ffc0 7c817067 80000001 0007ddb4 7ffd6000 poc!wmainCRTStartup+0xd
0012fff0 00000000 0042c5aa 00000000 78746341 kernel32!BaseProcessStart+0x23

通过此漏洞在应用层执行任意内核代码的演示请见附件中的文件夹exploit,请在ide磁盘上实验,scsi实现要复杂些,没有给出

有谁能在非管理员权限下利用这个漏洞请告知一下,谢谢

路过看过下过附件的人请给我加下热心值,谢谢~

classpnpCN.rar (171.34 KB, 下载次数: 15)

免费评分

参与人数 1热心值 +1 收起 理由
ambiguous + 1 鼓励转贴优秀软件安全工具和文档!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

wjliuxiaofeng 发表于 2011-10-13 20:08
沙发。。。。不懂
get358691874 发表于 2011-10-13 20:48
lizhaoping 发表于 2011-10-14 21:00
633611 发表于 2011-11-2 17:29
  This package includes the following;
0000000 发表于 2012-7-30 08:59
不懂.......膜拜
bjjgq 发表于 2012-8-2 16:21
真的很不懂呀,这么高深的东东
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-3-28 17:27

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表