mIRC32 - Otros documentos: Información de ataques en el IRC
 
NUKES

Se llama "nuke" la caída de una conexiónTCP/IP por parte de un agente externo, normalmente un usuario con ganasde fastidiar. En realidad "nuke" es un concepto demasiado genérico. A continuación se describiránlas técnicas que se conocen.

ICMP Attack

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

  • Host Unreachable
  • Bad Protocol
  • Network Unreachable
  • Bad Port

Es decir, el agente "enemigo" envíapaquetes al cliente diciéndole que el servidor tiene alguno de losproblemas anteriores, o viceversa. En realidad las cosas son un poco máscomplicadas, ya que el atacante debe acertar con los puertos que se estánutilizando en esa conexión en particular. Generalmente ello es bastante sencillo, yaque el servidor acostumbra a emplear el puerto 6667, el estándarIRC, 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 cuantoreciba un nuevo datagrama del cliente lo rechazará con un RST. El cliente verá "conection reset bypeer" y el resto de los usuarios verán alguno de los errores indicadosarriba.

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

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

Prevención:

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

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

 

PING Attack

Este ataque consiste en desbordar el módemde la víctima, de forma que no pueda responder a los pings periódicosdel IRC (el famoso "ping?pong!" de la ventana de estado). Si un cliente no responde al servidor IRCen 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 vistotantas veces.

Para que el ataque sea efectivo el agresordebe disponer de un ancho de banda superior al de la víctima. De esta forma monopolizará su módemy 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 tipode ataque incluso consigue colgar el teléfono de la víctima. No he podido comprobarlo personalmente peroes posible que tenga algo que ver con timeouts en el protocolo PPP.

Detección:

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

Prevención:

Este tipo de ataque no se puede prevenir, yaque aunque el cliente descarte los paquetes de ataque que le llegan, estosocupan su ancho de banda de recepción. Es necesario que en la ruta de los paquetesexista router con capacidad de controlar la congestión de formainteligente. Algo no demasiado difícil de programarpero, desde luego, poco difundido.

 

Winnuke OOB

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

Detección:

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

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

Prevención:

En Windows95 es posible detectar el atacanterealizando 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 solucionainstalando el Service Pack 3. De todas formas existe una variante de estenuke, afortunadamente poco difundida, que sigue provocando un dump delsistema y el reinicio posterior de la máquina.

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

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

NOTA: Si sabes usar bien los sockets en mIRC, podeis crear un script para que detecte conexiones por el puerto 139, puede que detectes un Nuke OOB o que detectes solamente una conexion por la cual un usuario queria verificar si ese puerto estaba abierto. Si creas la protección podras averiguar el nick del usuario mediante su IP/Host.

Ver Pantalla Azul.

 

Winnuke PING

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

Detección:

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

Prevención:

Se puede encontrar información sobreel tema, chequeos y parches en www.darkening.com/ssping/

 

Ping Of Death

Este nuke bloquea los ordenadores vulnerablesenviando fragmentos ICMP Ping que, una vez reensamblados, superan los 64Kbyteslegales. Se trata de un truco bastante viejo pero que,sorprendentemente, sigue funcionando en muchas máquinas Linux noactualizadas. La forma más obvia de protegerse esinstalar 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, paraproteger la red y los usuarios, limitan la velocidad (y tamaño enbytes) de los datos enviados por un cliente. Si alguien se pasa, es desconectado automáticamentecon 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 lared 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 enviarleIRC PINGs. Dado que cada ping respuesta implica un pingpregunta, y nosotros no queremos caernos, lo más sencillo consisteen lanzar un clono en la red de forma que las dos (o más) conexionesenvíen peticiones PING en el límite de la "paciencia" delservidor. La víctima se cae porque responde alas peticiones de todos los atacantes, superando con mucho el límitepermitido por la red.

Detección:

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

Prevención:

Dado que este tipo de ataque es muy viejo (yefectivo), muchos scripts incorporan protecciones anti flood que evitanresponder cuando se detecta un número de peticiones de informaciónpor encima de un valor dado. De hecho muchos clientes IRC incluyen esoscontroles como una funcionalidad extra.

 

Kill Yourself

Hay auténticos genios que consiguencolarte casi cualquier trola sin apenas esfuerzo, aprovechándosede su ascendiente sobre la víctima por confianza, experiencia, ydemá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 tertulianoy nos caemos del servidor, se nos cierra el programa, dejamos nuestro discoduro abierto para todo el mundo, etc.

Prevención:

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

 

Pantalla Azul

Todos hemos leído y sufrido los famososcuelques y "pantallas azules" del Windows 95 cuando alguien nos manda unpoco de basura al puerto 139 (Netbios). Bajo Windows NT la cosa aún es máscruda, 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 windows 95.

  1. "Resistencia al ataque"

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

    1. Cargar el Regedit
    2. Ir a hkey_local_machine->system->currentcontrolset->services->vxd->mstcp
    3. A=F1adir una variable tipo cadena (String)de nombre "BSDUrgent"
    4. Hacer doble click sobre esa variable ydarle el valor "0" (cero)
    5. Reiniciar el equipo.

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

  2. "Netbios sobre TCP/IP"

    Otra posibilidad consiste en quitar el accesonetbios a través de TCP/IP. Este parche, además, elimina el riesgode que un usuario remoto monte nuestros discos e impresoras. Si se quiere seguir compartiendo recursosen la red local ha de instalarse otro nivel de transporte, como puede serel NetBEUI.

    1. Entrar en la carpeta \windows\system
    2. Buscar un fichero llamado "vnbt.386"
    3. Renombrarlo (por ejemplo "vnbt.bak")
    4. Reiniciar el equipo

    Cualquiera de los dos parches previene loscuelgues del módulo TCP/IP del Windows 95. Naturalmente se puedenutilizar los dos a la vez.



Encontraras más información y el documento original en www.darkening.com/flawed/index.html
 

 

 Volver a la página principal