9. Spoofing (un ataque común a otros sistemas).

9.1. Introducción. IP Spoofing & DNS Spoofing.

[Traducción, arreglos y explicaciones basadas en el capítulo 11.1.3. de The Modern Hacker Desktop Reference, del grupo Rhino9 [15 ], basado a su vez en un capítulo de "Windows NT Hacking FAQ" [25] ]

Spoofing viene a traducirse como "hacerse pasar por otro". Es un ataque contra la autentificación. Este tipo de ataques suele implicar un buen conocimiento del protocolo en el que se va a basar el ataque. Dos ataques tipo spoofing bastante conocidos son el IP Spoofing y el DNS Spoofing. El primero de ellos se hizo famoso al usarlo Kevin Mitnick en su ataque en Diciembre de 1995 a la red informática de Tsutomu Shimomura, un especialista en seguridad que trabajaba en el Centro de Supercomputación de San Diego.
En principio parece que Windows NT no es sensible a este ataque en concreto, pero sí lo es al ataque DNS Spoofing.

9.2. El ataque DNS Spoofing.

Mediante la manipulación de paquetes UDP, se puede comprometer la cache del servidor de nombres (DNS) de NT. Si se permite el método de recursión en la resolución de "nombre <-> dirección IP" en el DNS, es posible controlar algunos aspectos del DNS remoto. La recursión consiste en la capacidad de un servidor de nombres para resolver una petición de dirección IP a partir de un nombre que no figura en su base de datos. Este es el método típico de funcionamiento.

Pero, pongamos un ejemplo para conocer cómo es posible lanzar este tipo de ataque:

Supongamos que somos el root de ns.nmrc.org, IP 10.10.10.1. también tenemos el servidor pirate.nmrc.org con la dirección 10.10.10.2. y el servidor bait.nmrc.org con la dirección 10.10.10.3. Supongamos que lo que queremos conseguir es que los usuarios de lame.com accedan a nuestro servidor pirate.nmrc.org cuando intenten acceder a www.lamer.net.

Bien, supondremos que tenemos una herramienta que implementa los siguientes pasos:

  • mandamos una petición a ns.lame.com preguntando por la dirección de bait.nmrc.org.
  • ns.lame.com no encuentra la dirección en su base de datos y pregunta a ns.nmrc.org por bait.nmrc.org
  • la petición es ahora interceptada en ns.nmrc.org y extraemos el ID del paquete de petición.
  • mandamos una petición a ns.lame.com preguntando por la dirección de www.lamer.net.
  • dado que conocemos el número de ID de la petición anterior, hay muchas probabilidades de que el ID de la nueva petición sea si no el siguiente, un número muy cercano.
  • ahora es cuando viene realmente el ataque: construimos unos cuantos paquetes DNS de respuesta con diferentes números de identificación ID. Estos paquetes de respuesta están manipulados en el campo origen, haciéndose pasar por ns.lamer.net y afirmando que la dirección que corresponde al ID de esa petición es 10.10.10.2. ( en otras palabras, acabamos de mandar un paquete de respuesta a la pregunta "¿cuál es la dirección IP de www.lamer.net?" que ns.lame.com mandó a otro DNS (seguramente ns.lamer.net), haciéndonos pasar por este último y afirmando que la respuesta es 10.10.10.2.) Si nuestros cálculos de ID han sido correctos, la cache del DNS de ns.lame.com tendrá ahora una entrada más o menos así:
    www.lamer.net --------> 10.10.10.2
    lo que realmente corresponde a la dirección IP de pirate.nmrc.org.

Lo que resta por hacer ahora es sencillo: copiar el aspecto de www.lamer.net (páginas html, gráficos, applets Java, musiquilla de fondo,...) en pirate.nmrc.org para lo que nos podemos valer de excelentes programas de "copiado" web como Teleport Pro y poner un nuevo apuntador a una página que diga "Novedad!!!. Tenemos una nueva página de cambio de password gratuíta, por si quieres cambiar el password de tu cuenta ftp de www.lamer.net .". Si no se quiere o no se puede traer una copia del servidor, se pueden traer sólo las páginas que solicite el usuario, a medida que éste vaya pinchando en los enlaces.

Aunque se haya repetido cientos de veces para que esto no ocurra, aún hoy es muy posible que la cuenta de password en www.lamer.net que tenga el usuario víctima, sea la misma que use para otras cosas....

Es posible usar este tipo de ataque para otros fines, como informar a la víctima que www.lamer.net ha dejado de funcionar, redirigir su correo una vez analizado, etc...