NUKES

 
    Se llama "nuke" la caída de una conexión TCP/IP por parte de un agente externo, normalmente un
    usuario con ganas de fastidiar.

     En realidad "nuke" es un concepto demasiado genérico.
     A continuación se describirán las técnicas que se conocen.

     ICMP Attack 

     El ICMP es el protocolo encargado de, entre otras cosas, informar de errores y problemas en la red.
     En resumen, consiste en enviar al cliente o al servidor un paquete ICMP indicando que la conexión no
     puede continuar debido a uno de los siguientes errores:

     Network Unreachable
     Host Unreachable
     Bad Protocol
     Bad Port

     Es decir, el agente "enemigo" envía paquetes al cliente diciéndole que el servidor tiene alguno de los
     problemas anteriores, o viceversa.
     En realidad las cosas son un poco más complicadas, ya que el atacante debe acertar con los puertos
    que se están utilizando en esa conexión en particular.
     Generalmente ello es bastante sencillo, ya que el servidor acostumbra a emplear el puerto 6667, el
    estándar IRC, y la víctima un puerto bajo, a partir del 1024 si usa Windows.

     Detección:

     Si se ataca el servidor, el cliente no verá nada.
     Simplemente se desconecta con toda limpieza, ya que el servidor habrá cerrado la conexión TCP y en
     cuanto reciba un nuevo datagrama del cliente lo rechazará con un RST.
     El cliente verá "conecttion reset by peer" y el resto de los usuarios verán alguno de los errores indicados
     arriba.

     Un sniffer en la red del servidor detectará una prolongada ráfaga de paquetes ICMP indicando errores
     entre un cliente y el servidor de IRC.
     Cada uno de los paquetes contiene puertos distintos, ya que se está realizando un barrido.
     Es posible reconocer tales ráfagas y adoptar contramedidas, tales como tomar nota de la IP y la hora
     para ponerse en contacto con el proveedor del cual dependa el agresor.

     Si se ataca el cliente, el servidor no ve nada.
     Simplemente recibirá un "conecttion reset by peer" en cuanto envíe un datagrama, ya que el cliente habrá
     cerrado su conexión.
     El cliente puede detectar el ataque observando una inusitada actividad en su módem o bien instalando
    software de traceo tal como el incluido en el paquete Winsock de Trumpet.

     Prevención:

     La protección más obvia consiste en utilizar puertos poco previsibles.
     Es decir, emplear un puerto diferente del 6667 en la conexión al servidor y un puerto aleatorio en
     nuestra máquina local (esto último suele estar fuera del alcance de la mayoría de los usuarios).
     Un paquete ICMP es ignorado si no contiene los puertos correctos.

     Un cliente no puede protegerse salvo que instale un cortafuegos o una versión modificada de su pila
     TCP/IP.
     Un servidor puede protegerse con un cortafuegos que filtre las tramas ICMP.
     Dado que dichos paquetes son útiles en el diagnóstico de problemas en la red y resulta
    contraproducente filtrarlos todos y para todas las máquinas, se puede optar por filtrar solo los ICMP (y
    solo los ICMP problemáticos) dirigidos al servidor IRC.
 
 

   PING Attack

     Este ataque consiste en desbordar el módem de la víctima, de forma que no pueda responder a los
     pings periódicos del IRC (el famoso "ping?pong!" de la ventana de estado).
     Si un cliente no responde al servidor IRC en un período determinado (uno o dos minutos) el servidor
     entenderá que el cliente ha muerto y cerrará su conexión.
     Es el conocido "ping timeout" que hemos visto tantas veces.

     Para que el ataque sea efectivo el agresor debe disponer de un ancho de banda superior al de la
     víctima.
     De esta forma monopolizará su módem y no podrá responder a tiempo a los datagramas del servidor
     IRC.
     Para que el ataque sea efectivo hay que mantenerlo, naturalmente, durante el tiempo suficiente como
     para que venzan las temporizaciones.

     En algunos casos se ha indicado que este tipo de ataque incluso consigue colgar el teléfono de la
     víctima.
     No he podido comprobarlo personalmente pero es posible que tenga algo que ver con timeouts en el
     protocolo PPP.

     Detección:

     El usuario atacado observa una actividad inusual en su módem y nota que el servidor IRC tarda en
     responder o no responde en absoluto a sus comandos.
     Un software de traceo diagnostica el problema.

     Prevención:

     Este tipo de ataque no se puede prevenir, ya que aunque el cliente descarte los paquetes de ataque que
     le llegan, estos ocupan su ancho de banda de recepción.
     Es necesario que en la ruta de los paquetes exista router con capacidad de controlar la congestión de
     forma inteligente.
     Algo no demasiado difícil de programar pero, desde luego, poco difundido.
 
 

   Winnuke OOB

     Este nuke se basa en lo que parece un fallo de programación de la interfaz netbios de windows, incapaz
     de soportar OOB (datos "Out Of Band") en el puerto TCP 139.

     Detección:

     En Windows95 aparece una pantalla azul informando de un error en uno de los módulos del sistema.
     El ordenador parece seguir funcionando sin problemas, pero todas las conexiones TCP/IP se bloquean.

     En Windows NT aparece un pantalla azul y el sistema operativo procede al volcado de memoria.
     Una vez hecho eso (algo que puede llevar varios minutos, durante los cuales el ordenador no hace nada
     más), la máquina se reinicia automáticamente.

     Prevención:

     En Windows95 es posible detectar el atacante realizando un netstat, ya que ese comando nos lista las
     conexiones activas. Bajo NT No queda ningún LOG.

     En cualquier caso en NT el problema se soluciona instalando el Service Pack 3.
     De todas formas existe una variante de este nuke, afortunadamente poco difundida, que sigue
     provocando un dump del sistema y el reinicio posterior de la máquina.

     Parece ser que en Windows 3.1x se puede corregir el problema de forma similar a Win95
     (renombrando el DLL).

     Recientemente, Microsoft ha publicado los parches oficiales.
     No parecen proteger el ordenador contra las variantes OOB.

     Ver Pantalla Azul.
 
 
     Winnuke PING

     Recientemente se ha descubierto un problema de estabilidad en Windows 95/NT que hace que el
     ordenador se cuelgue instantáneamente cuando recibe fragmentos de datagramas ICMP inválidos.

     Detección:

     El ordenador se queda bloqueado. No funciona ni el puntero del ratón ni control+alt+sup.

     Prevención:

     Se puede encontrar información sobre el tema, chequeos y parches en
     http://www.darkening.com/ssping/
 
 

     Ping Of Death

     Este nuke bloquea los ordenadores vulnerables enviando fragmentos ICMP Ping que, una vez
     reensamblados, superan los 64Kbytes legales.
     Se trata de un truco bastante viejo pero que, sorprendentemente, sigue funcionando en muchas
     máquinas Linux no actualizadas.
     La forma más obvia de protegerse es instalar un sistema operativo mínimamente reciente.
 
 

     IRC Flood

     Ésta es, sin duda, la forma más "castiza" de echar a alguien del IRC.
     Como todos sabemos, los servidores IRC, para proteger la red y los usuarios, limitan la velocidad (y
     tamaño en bytes) de los datos enviados por un cliente.
     Si alguien se pasa, es desconectado automáticamente con un "Excess Flood".

     ¿Cómo conseguir que alguien se desconecte a sí mismo por flood?.

     La respuesta es simple:
     Obligándole a que envíe a la red más datos de las que ésta está dispuesta a aceptar.
     Para ello existen varias técnicas, todas ellas muy simples. La más obvia, por ejemplo, es enviarle IRC
     PINGs.
     Dado que cada ping respuesta implica un ping pregunta, y nosotros no queremos caernos, lo más
     sencillo consiste en lanzar un clono en la red de forma que las dos (o más) conexiones envíen peticiones
     PING en el límite de la "paciencia" del servidor.
     La víctima se cae porque responde a las peticiones de todos los atacantes, superando con mucho el
     límite permitido por la red.

     Detección:

     Observamos varias peticiones de información a nuestro cliente IRC y un momento después nos caemos
     por "Excess flood".

     Prevención:

     Dado que este tipo de ataque es muy viejo (y efectivo), muchos scripts incorporan protecciones anti
     flood que evitan responder cuando se detecta un número de peticiones de información por encima de un
     valor dado.
     De hecho muchos clientes IRC incluyen esos controles como una funcionalidad extra.
 
 

     Kill Yourself

     Hay auténticos genios que consiguen colarte casi cualquier trola sin apenas esfuerzo, aprovechándose
     de su ascendiente sobre la víctima por confianza, experiencia, y demás.... Y de su inocencia, claro.
     Ejemplo típico "Pulsa ALT+F4" para conseguir op".
     Parece mentira lo bien que funciona };-)

     Detección:

     Hacemos algo que nos dice algún tertuliano y nos caemos del servidor, se nos cierra el programa,
     dejamos nuestro disco duro abierto para todo el mundo, etc.

     Prevención:

     Simple: No hacer nada cuyas implicaciones no conozcamos enteramente.
     AUNQUE nos lo pida alguien de confianza.
 

     Pantalla Azul

     Todos hemos leído y sufrido los famosos cuelques y "pantallas azules" del Windows 95 cuando alguien
     nos manda un poco de basura al puerto 139 (Netbios).
     Bajo Windows NT la cosa aún es más cruda, ya que, aparte del reinicio del sistema, se genera un core
     ("memory.tmp") tan grande como memoria tengamos (o sea, como poco, 64megas...).
     En este texto nos vamos a centrar en las soluciones para windows95.
 

     * Paso 1: "Resistencia al ataque"

     Este parche ha sido publicado en diversas listas de correo, y se indica que puede no funcionar en todas
     las versiones del Windows 95.

     a) Cargar el Regedit
     b) Ir a hkey_local_machine->system->currentcontrolset-> services->vxd->mstcp
     c) A=F1adir una variable tipo cadena (String) de nombre "BSDUrgent"
     d) Hacer doble click sobre esa variable y darle el valor "0" (cero)
     e) Reiniciar el equipo.

     Si se quiere quitar el parche basta con borrar la variable "BSDUrgent", o bien darle el valor "1" (uno).

     * Paso 2: "Netbios sobre TCP/IP"

     Otra posibilidad consiste en quitar el acceso netbios a través de TCP/IP.
     Este parche, además, elimina el riesgo de que un usuario remoto monte nuestros discos e impresoras.
     Si se quiere seguir compartiendo recursos en la red local ha de instalarse otro nivel de transporte, como
     puede ser el NetBEUI.
     a) Entrar en la carpeta \windows\system
     b) Buscar un fichero llamado "vnbt.386"
     c) Renombrarlo (por ejemplo "vnbt.bak")
     d) Reiniciar el equipo
     Cualquiera de los dos parches previene los cuelgues del módulo TCP/IP del Windows 95.
     Naturalmente se pueden utilizar los dos a la vez.