MANUALDEHACKER-COM-DDOS-ATAQUE-3

MANUAL ATAQUE DDOS 3

Rate this post

ATAQUE DDOS MANUAL DISTRIBUITED DENIAL OF SERVICE


5.Puntos debiles del SNMP

SNMP se utiliza para controlar los dispositivos de la red y administrarlas. Se trata de un grupo de protocolos que envian mensajes llamados Unidades de datos de protocolo (PDU, Protocol Data Units) a traves de la red, hasta diversos dispositivos o maquinas que disponen de un software agente SNMP instalado. Estos agentes mantienen Management Information Bases (MIBs, no son los Men In Black :P) que contienen informacion sobre cada uno de los dispositivos. Cuando los agentes reciben los PDU, responden con la informacion contenida en las MIB.

En algunas instalaciones de SNMP se han descubierto puntos debiles que proporcionan a los atacantes una via para desactivar dispositivos de la red.


6.Ataques de enrutado de origen

TCP/IP admite el enrutado de origen (source routing), que es un medio de permitir que el emisor nos dirija los paquetes a traves de un punto concreto de la red. Hay dos tipos de enrutado de origen:
-Enrutado de origen estricto
El emisor de los datos puede especificar la ruta exacta (no se suele usar mucho)
-Registro de ruta de origen flexible (LSRR, Loose Source Record Route)
El emisor puede especificar ciertos routers por los que debe pasar el paquete.

El enrutado de origen es una opcion del encabezamiento IP que permite que el emisor anule las decisiones de enrutado que se suelen tomar en el router que encuentra el paquete entre el origen y el destino final. Los administradores de redes lo utilizan para realizar un mapa de la red o para resolver problemas en las comunicaciones o el enrutado.

Si el sistema permite el enrutado de origen, este puede ser usado por cualquier intruso para alcanzar direcciones internas privadas de la LAN, que normalmente no estarian a su alcance desde Internet, enruntando el trafico a traves de otra maquina a la que si se puede acceder desde Internet o desde una paquina interna.

El enrutado de origen puede desactivarse, en la mayor parte de los routers para evitar este tipo de ataques.

Para vulnerar RIP, como se especifica a continuacion, es necesario inicialmente identificar un router que hable este protocolo a traves de la identificacion del puerto UDP 520. En el caso de pertenecer al mismo segmento de red, deben escucharse las actualizaciones RIP que circulan por la red o solicitarselas directamente a alguno de los routers. De esta forma se obtendra la tabla de rutas que se anuncia en ese momento. Si no se esta en el mismo segmento, se dispone de herramientas como rprobe para realizar una peticion RIP remota: el resultado se obtendra mediante un sniffer en el sistema desde el que se ataca.

Una vez definida la informacion que se pretende inyectar en la tabla de rutas anunciada, por ejemplo, redireccionar todo el trafico a un sistema desde el que se pueda analizar el mismo, mediante utilidades como srip, se inyectara la ruta deseada. A partir de ese momento todo el flujo de trafico pasara por el nuevo camino definido. Para que el funcionamiento habitual no se vea modificado, es necesario que el nuevo sistema al que van destinado los paquetes los redireccione consecuentemente: ip forwarding.

El primer ejemplo de configuracion de este tipo se aplica a la capacidad de los kernels para hacer routing entre varios interfaces. esta se configura como sigue:

  • En HP-UX basta con introducir en el fichero /etc/rc.config.d/nddconf:
    TRANSPORT_NAME[1]=ip
    NDD_NAME[1]=ip_forwarding
    NDD_VALUE[1]=1
  • En Solaris basta con ejecutar mediante ndd en un script de arranque:
    ndd –set /dev/ip ip_forwarding 0
  • En Linux, se debe añadir tambien en un script de arranque:
    echo 1 > /proc/sys/net/ipv4/ip_forward

En el caso de Linux es posible especificar los parametros en el fichero
/etc/sysctl.conf (p.ej., Red Hat) que es cargado por la utilidad /sbin/sysctl.

La documentacion al respecto se encuentra en el directorio /Documentation del kernel, en el fichero proc.txt.

  • En Windows las modificaciones se realizan a traves del editor del registro (regedt32.exe); para ello debe localizarse la clave:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

Bajo la misma es necesario añadir el valor:
Value Name: IPForwarding
Data Type: REG_DWORD
Value: 1


6.Jugando con los Firewalls y herramientas automatizadas

Que pasa si la victima dispone de una politica de seguridad bien definida, y su firewall banea las IPs desde las que atacamos. Pues podemos reirnos de el de varias formas ñ_ñ:

-Atacarle haciendonos pasar por la IP del DNS (para que lo banee)
-Atacarle haciendonos pasar por su gateway
-Atacarle mandando los paquetes hacia el puerto 53 (nos saltaremos el firewall)
-Construir paquetes de nivel 7
-Mandar los paquetes a algun puerto abierto publicamente (no protegido)

Esto es lo mismo que dice un amigo mio: ‘depende de que errores quieras, intalate un Windows u otro’. Todo depende de que resultado te guste mas.

———- ———- ———- ———-
| | | | | | | |
| agente | | agente | | agente | | agente |
| | | | | | | |
———- ———- ———- ———-
\ \ / /
\ \ / /
\ \ / /
\ \ / /
\ \ / /
\ \ / /
\ \ / /
V V V
———————–
D <—– | |—–> D
E <—– | Firewall |—–> E
N <—– | |—–> N
Y ———————– Y
|
???
|
——–
| |
| PC |
| |
——–

Tenemos aqui un ordenador que hace la funcion de firewall, conectado al ordenador de trabajo habitual. Como podemos ver, el firewall rechaza los paquetes. Es un firewall propietario muy caro y muy bueno, pero esta tan ocupado rechanzando paquetes de la congestionada red, que el PC no navegara.

Otra cosa graciosa es que algunos sistemas desactivan cuentas al cabo de cierto numero de intentos de login incorrectos (lo dejo en el aire, jurjur)


7.PAQUETES

A estas alturas mas de uno se debe de estar preguntando como es un paquete, que forma tiene, si tiene patas o no… a eso vamos ahora.

Hay herramientas que sirven para mirar que paquetes entran y salen de tu ordenador, para Linux el mas tipico es ‘tcpdump’. Estos programas se llaman packet sniffers.

La cabecera de cada paquete es filosofico, nos dice a donde va, de donde viene, el tipo de paquete…

El resto del paquete contiene los datos a transmitir, es el cuerpo del paquete. Asi que como acabamos de decir, todos los paquetes IP comienzan con una cabecera (de al menos 20 bytes de longitud).

Diagrama del RFC 790:

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| IHL |Tipo de Servic.| Tamaño Total |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Identificacion |Flags| Desplaz. del Fragmento |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Tiempo de Vida | Protocolo | Checksum de la cabecera |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Direccion de Origen |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Direccion de Destino |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Version: 4 bits.

Este campo describe el formato de la cabecera utilizada. En la tabla se describe la version 4.

Tamaño Cabecera (IHL): 4 bits.
Longitud de la cabecera, en palabras de 32 bits. Su valor minimo es de 5 para una cabecera correcta, y el maximo de 15.

Tipo de Servicio: 8 bits.
Indica una serie de parametros sobre la calidad de servicio deseada durante el transito por una red. Algunas redes ofrecen prioridades de servicios, considerando determinado tipo de paquetes ‘mas importantes’ que otros (en particular, algunas redes pueden admitir solo los paquetes con una prioridad alta en momentos de sobrecarga).
Estos 8 bits se agrupan de la siguiente manera:

bits 0-2: Prioridad: Valores altos para prioridades superiores.
bit 3: 0 = Retraso Normal, 1 = Bajo Retraso.
bit 4: 0 = Transito Normal, 1 = Transito Rapido.
bit 5: 0 = Fiabilidad Normal, 1 = Alta Fiabilidad.
bits 6-7: Reservados para futuros usos.

Longitud Total: 16 bits.
Es el tamaño total, en octetos, del datagrama, incluyendo el tamaño de la cabecera y el de los datos. El tamaño maximo de los datagramas usados normalmente es de 576 octetos (64 de cabeceras y 512 de datos). Una maquina no deberia enviar datagramas mayores a no ser que tenga la certeza de que van a ser aceptados por la maquina destino.

En caso de fragmentacion este campo contendra el tamaño del fragmento, no el del datagrama original.

Identificador: 16 bits.
Identificador unico del datagrama. Se utilizara, en caso de que el datagrama deba ser fragmentado, para poder distinguir los fragmentos de un datagrama de los de otro. El originador del datagrama debe asegurar un valor unico para la pareja origen-destino y el tipo de protocolo durante el tiempo que el datagrama pueda estar activo en la red.

Indicadores: 3 bits.
Actualmente utilizado solo para especificar valores relativos a la fragmentacion de paquetes:

bit 0: Reservado; debe ser 0
bit 1: 0 = Divisible, 1 = No Divisible
bit 2: 0 = ultimo Fragmento, 1 = Fragmento Intermedio (le siguen mas fragmentos)
La indicacion de que un paquete es indivisible debe ser tenida en cuenta bajo cualquier circunstancia. Si el paquete necesitara ser fragmentado, no se enviara.

Posicion de Fragmento: 13 bits.
En paquetes fragmentados indica la posicion, en unidades de 64 bits, que ocupa el paquete actual dentro del datagrama original. El primer paquete de una serie de fragmentos contendra en este campo el valor 0.

Tiempo de Vida (TTL): 8 bits.
Indica el maximo numero de segundos que un paquete puede estar circulando. Cada vez que algun nodo procesa este paquete disminuye su valor en, como minimo, 1 segundo. Cuando llegue a ser 0, el paquete no sera reenviado.

Protocolo: 8 bits.

Indica el protocolo de siguiente nivel utilizado en la parte de datos del datagrama.

Checksum Cabecera: 16 bits.

Checksum de la cabecera. Se recalcula cada vez que algun nodo cambia alguno de sus campos (por ejemplo, el Tiempo de Vida). El metodo de calculo (intencionadamente simple) consiste en sumar el complemento a 1 de cada palabra de 16 bits de la cabecera y hacer el complemento a 1 del valor resultante.

Direccion IP de Origen: 32 bits.

Direccion IP de Destino: 32 bits

Opciones: Variable.

Aunque no es obligatoria la utilizacion de este campo, cualquier nodo debe ser capaz de interpretarlo.

Puede contener un numero indeterminado de opciones, que tendran dos posibles formatos:

Simple: Un solo octeto indicando el 'Tipo de Opcion':
    El Tipo de Opcion esta dividido en 3 campos:
              Indicador de Copia: 1 bit. En caso de fragmentacion, la Opcion
      se copiara o no a cada nuevo fragmento segun el valor de este campo:
        0=no se copia
        1=se copia

    Clase de Opcion: 2 bits. Las posibles clases son:
        0=control
        1=reservada
        2=depuracion y mediciones
        3=reservada

    Numero de Opcion: 5 bits. Identificador de la Opcion.

Compuesto: Un octeto para 'Tipo de Opcion', otro para 'Tamaño de

Opcion’, y uno o mas octetos conformando los ‘Datos de Opcion’.
El Tamaño de Opcion incluye el octeto de Tipo de Opcion, el de
Tamaño de Opcion y la suma de los octetos de datos.

La siguiente tabla muestra las opciones actualmente definidas:
+—–+——–+———+—————————————————
Clase |Numero |Tamaño | Descripcion
——+——–+———+————————————————
0 |0 | – |Final de lista de opciones. Formato simple.
0 |1 | – |Ninguna operacion (NOP). Formato simple.
0 |2 |11 |Seguridad.
0 |3 |variable |Enrutado desde el Origen, abierto (Loose Source
|Routing).
0 |9 |variable |Enrutado desde el Origen, estricto (Strict Source
|Routing).
0 |7 |variable |Registro de Ruta (Record Route).
0 |8 |4 |Identificador de flujo (Stream ID).
2 |4 |variable |Marca de tiempo (Internet Timestamping).
——+——–+———+————————————————–

Final de Lista de Opciones:

Se usa al final de la lista de opciones, si esta no coincide con el final de la cabecera IP.

Ninguna Operacion (NOP):

Se puede usar para forzar la alineacion de las opciones en palabras de 32 bits.

Seguridad:

Especifica niveles de seguridad que van desde ‘No Clasificado’ hasta ‘Maximo Secreto’, definidos por la Agencia de Seguridad de la Defensa (de EE.UU.).

Enrutado desde el Origen (abierto) y Registro de Ruta (LSSR):

Esta opcion provee el mecanismo para que el originador de un datagrama pueda indicar el itinerario que ha de seguir a traves de la red y para registrar el camino seguido.

Los Datos de Opcion consisten en un puntero (un octeto) y una lista de direcciones IP (4 octetos cada una) que se han de alcanzar (‘procesar’):

El puntero indica la posicion de la siguiente direccion de la ruta, dentro de la Opcion; asi, su valor minimo es de 4.

Cuando un nodo de Internet procesa la direccion de la lista apuntada por el puntero (es decir, se alcanza esa direccion) incrementa el puntero en 4, y redirige el paquete a la siguiente direcion. Si el puntero llega a ser mayor que el Tamaño de Opcion significa que la informacion de ruta se ha procesado y registrado completamente y se redirigira el paquete a su direccion de destino.

Si se alcanza la direccion de destino antes de haber procesado la lista de direcciones completa (el puntero es menor que el Tamaño de Opcion) la siguiente direccion de la lista reemplaza a la direccion de destino del paquete y es a su vez reeemplazada por la direccion del nodo que esta procesando el datagrama (‘Ruta Registrada’), incrementando, ademas, el puntero en 4.

Utilizando este metodo de sustituir la direccion especificada en origen por la Ruta Registrada se asegura que el tamaño de la Opcion (y de la cabecera IP) no varia durante su recorrido por la red.

Se considera que la ruta especificada por el originador es ‘abierta’ porque cualquier nodo que procesa el paquete es libre de dirigirlo a la siguiente direccion siguiendo cualquier otra ruta intermedia.

Solo puede usarse una vez en un datagrama, y, en caso de fragmentacion, la opcion se copiara a los paquetes resultantes.

Enrutado desde el Origen (estricto) y Registro de Ruta (SSRR):

Exactamente igual que LSSR, excepto en el tratamiento que los nodos haran de este datagrama. Al ser la ruta especificada ‘estricta’, un nodo debe reenviar el paquete directamente a la siguiente direccion, es decir, no podra redireccionarlo por otra red.

Registro de Ruta:

Mediante el uso de esta Opcion se puede registrar el itinerario de un datagrama.Los Datos de Opcion consisten en un puntero (un octeto) y un espacio relleno de ceros que contendra la Ruta Registrada para el paquete.

Cuando un nodo recibe un paquete en el que esta presente esta opcion, escribira su direccion IP en la posicion indicada por el puntero, siempre que esta sea menor que el Tamaño de Opcion, e incrementara el puntero en 4.

Es preciso que el espacio reservado para la Ruta Registrada tenga una longitud multiplo de 4; si al intentar grabar su direccion un nodo detecta que existe espacio libre pero es menor de 4 octetos, el paquete no se reenvia (se pierde) y se notifica el error, mediante ICMP, al originador del datagrama.

Esta Opcion no se copia en caso de fragmentacion, y solo puede aparecer una vez en un paquete.

Relleno: Variable.

Utilizado para asegurar que el tamaño, en bits, de la cabecera es un multiplo de 32. El valor usado es el 0.

Ahora, si el campo de protocolo dice que es un paquete TCP, entonces a esta cabecera IP le sigue inmediatamente una cabecera TCP: la cabecera TCP tambien tiene al menos 20 bytes de longitud:

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Puerto de Origen | Puerto de Destino |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Numero de Secuencia |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Numero de Confirmacion |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Deplz. | |U|A|P|R|S|F| |
|de los | Reservado |R|C|S|S|Y|I| Ventana |
| Datos | |G|K|H|T|N|N| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Checksum | Puntero de Urgencia |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Los campos mas importantes son el puerto de origen y el de destino, que dicen a que servicio esta destinado el paquete (o de cual viene, en el caso de que sea un paquete de respuesta). Los numeros de secuencia y confirmacion (acknowledgement) se utilizan para mantener el orden de los paquetes, y decirle al otro extremos cuantos paquetes se han recibido. Los indicadores (flags) ACK, SYN, RST y FIN (escritos de mayor a menor) son simples bits que se utilizan en la negociacion de apertura (SYN) y cierra (RST o FIN) de las conexiones.

Siguiendo a esta cabecera viene el verdadero mensaje que la aplicacion envio (el cuerpo del paquete). Un paquete normal puede tener hasta 1500 bytes: esto significa que el mayor espacio que pueden ocupar los datos es de 1460 bytes (20 bytes para la cabecera IP y 20 para la cabecera TCP): alrededor del 97%.

Anterior

Continuación

Dejar una contestacion

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.