Arg-Wireless - El Primer Foro de Wireless de Argentina...

Seguridad Informática => Hacking Wireless => Mensaje publicado por: D3M0N en 21 de Febrero de 2012, 01:00:13 AM

Título: Spoofing
Publicado por: D3M0N en 21 de Febrero de 2012, 01:00:13 AM
Spoofing

(http://3.bp.blogspot.com/_anlgRIRpO_E/SwM1jhy_1LI/AAAAAAAAAtQ/IqGJtLgBHbY/s1600/blue-mac-spoofing-backup_clip_image006_0000.jpg)

Spoofing es cualquier tícnica que sea utilizada para la suplantaciín de identidad y poder conseguir con ella acceso a lugares, sitios a los que no se estí¡ autorizado.

Hay diferentes tipos de spoofing que pueden ser utilizados solo por el placer de conocer (hacker) o para conseguir informaciín y luego venderla o utilizarlo como malware (Crackers).

La primera vez que se utilizí este tírmino fue en los aíños ochenta, por Robert Morris creador del primer gusano de internet.

IP Spoofing:

El Ip spoofing es hoy por hoy una de los mí¡s conocidos y fí¡ciles ataques que consiste bí¡sicamente en la suplantaciín de una direcciín ***IP***.

La manera en que se realiza este ataque es suplantando la direcciín IP origen de protocolo de TCP/IP.

Para protegerse del IP spoofing la soluciín mí¡s eficaz es no utilizar autentificaciín basada en IP, los routers se deben configurar para que no admitan paquetes de redes externas con direcciones IP internas estos mítodos reducen el riesgo de este tipo de ataques pero no los eliminan tambiín se puede crear una ACL (Access Control List) para controlar las IPS entrantes.

DNS Spoofing:

(http://www.flu-project.com/wp-content/uploads/dns-300x193.jpg)

El DNS spoofing consiste en la suplantaciín de una relaciín de dominio de IP por un nombre de dominio DNS o viceversa, el objetivo es infectar la cachí DNS, si no se logra el acceso al servidor DNS real, lo que suelen ha-cer es enviar datos falseados como respuestas a las peticiones de la ví­cti-ma del DNS spoofing.

No existe una soluciín real ya que no es un problema de seguridad de software o que se pueda resolver simplemente parchando y actualizando, es un error de la arquitectura del protocolo DNS.

Algunas formas de hacer que los ataques sean mí¡s difí­ciles son:

Hacer que el puerto fuente sea aleatorio, bloquear el uso de los servicios cachí DNS, una soluciín a largo plazo seria con el nuevo protocolo DNS-SEC que los corrige los errores.

DNSSEC es difí­cil de instalar requiere actualizaciones en los servidores DNS y cambia la manera en que los propietarios de los dominios gestionan sus DNS.

Aunque las versiones mí¡s nuevas de Windows vienen configuradas para evitar el envenenamiento de la cache del servidor DNS.

Segín la [wiki]Wikipedia[/wiki], Suplantaciín de identidad por nombre de dominio. Se trata del falseamiento de una relaciín “Nombre de dominio-IP” ante una consulta de resoluciín de nombre, es decir, resolver con una direcciín IP falsa un cierto nombre DNS o viceversa. Esto se consigue falseando las entradas de la relaciín Nombre de dominio-IP de un servidor DNS, mediante alguna vulnerabilidad del servidor en concreto o por su confianza hacia servidores poco fiables. Las entradas falseadas de un servidor DNS son susceptibles de infectar (envenenar) el cachí DNS de otro servidor diferente (DNS Poisoning).

Para realizar la prueba de concepto se utilizarí¡ la distribuciín BackTrack, junto a Ettercap y el uso de sus filtros. Por otro lado, se utilizarí¡ un programa en C, el cual se encargarí¡ de realizar los cambios pertinentes en las peticiones DNS.

Escenario

Usaremos la mí¡quina de BackTrack para realizar un MiTM sobre un equipo, que serí¡ el de la ví­ctima, con el que consigamos que el trí¡fico pase por esta mí¡quina. La mí¡quina de BackTrack actuarí¡ como enrutador y a la vez como servidor DNS. Es decir, las peticiones de resoluciín de nombres que haga el equipo de la ví­ctima a su servidor DNS configurado pasarí¡n en primer lugar por nuestra mí¡quina (ya que sin que la ví­ctima lo sepa, gracias a MiTM somos ‘su router’). Cuando estas peticiones pasen por nosotros, en la respuesta, se modificarí¡ el valor dado, por lo que la ví­ctima recibirí¡ una respuesta de ‘su DNS’ con una IP falseada. Por lo que al resolver, por ejemplo, www.gmail.com se le habrí¡ pasado una IP que no corresponde con ese sitio web. ¿Entonces de quiín es esa IP? La IP es del atacante, quiín tendrí¡ en esa IP un servidor web montado y con una pí¡gina falsa. Por ejemplo, pueden realizar un robo de credenciales de manera muy sencilla, ya que nos han dado ‘gato por liebre’. ¿Y si me redirigen a un sitio web el cual me pide que ejecute un Applet de Java y explotan una vulnerabilidad? Este caso lo vimos en el tercer artí­culo de la serie dínde se realizaba la explotaciín del UAC, pero la conexiín reversa habí­a sido creada a travís de un sitio web falso que nos creaba la conexiín con Metasploit.

POC, manos a la obra

En primer lugar, se explica el filtro y el programa en C que se proponen aquí­ para el correcto funcionamiento de este tipo de ataque.

etter.dns: en este fichero, que se encuentra en la ruta /usr/share/ettercap, se almacena los registros del ‘DNS’ que utilizarí¡ ettercap. Es decir, cuando la ví­ctima haga una peticiín a un sitio web, por ejemplo, www.tuenti.com (http://www.tuenti.com), ettercap mirarí¡ su registro a ver si se encuentra en su registro. De este modo, el atacante puede controlar, para que no se sospeche mucho, cual es el dominio que quiere suplantar. Lo que no serí­a lígico es poner una entrada en etter.dns que fuera ‘* A <ip>’. Esto significarí­a que a cualquier peticiín que la ví­ctima realizase, a todas la suplantarí­amos. Un ejemplo de lo que el atacante pondrí­a en este fichero serí­a, seguimos con el ejemplo del tuenti, ‘www.tuenti.com A <ip>’.

dnsSpoof.filter: el cídigo no necesita mucha explicaciín, el filtro llamarí¡ al programa Change cuando la IP no haya sido cambiada. Por lo que dínde se observan las elipses rojas el atacante cambiarí¡ esa IP por su IP. La ví­ctima recibirí¡ la resoluciín de nombres con la IP indicada en el filtro.

(http://www.flu-project.com/wp-content/uploads/dnsfilter2-300x167.png)

Para compilar este archivo (los filtros compilados tienen extensiín .ef) se debe ejecutar la siguiente orden ‘etterfilter <dnsSpoof.filter> -o <dnsSpoof.ef>’.

Changehost.c: este fichero realizarí¡ el cambio de host, cuando sea llamado por dnsSpoof.filter. Simplementa para compilarlo se debe ejecutar la siguiente orden ‘gcc changehost.c â€"o change’.

Una vez que se tiene todo el material preparado se debe arrancar ettercap y realizar la tícnica MiTM para que todo el trí¡fico de la ví­ctima pase por el equipo del atacante. En primer lugar Sniff -> Unified Sniffing; eligiendo la interfaz de red que tenemos activa; Hosts -> Scan for hosts;  realiza un escaneo sobre el segmento de red para encontrar dispositivos; Targets -> Current Targets; se eligen los ‘target’ u objetivos, en este caso se seleccionarí¡ como objetivo 1 a la ví­ctima y como objetivo 2 al router o puerta de enlace de la red; MiTM -> Arp Poisoning; para realizar el envenenamiento sobre el grupo target1 y grupo target2.

Si se comprueba la tabla ARP de la ví­ctima se puede observar como la MAC de la puerta de enlace ha cambiado. Ahora se cargarí¡ el plugin mediante plugins -> manage the plugins, para habilitar el ‘Dns Spoof’. Por íltimo en el apartado de Filters, se cargarí¡ el filtro que se compilí anteriormente.

Resultado

Con esto el atacante habrí¡ envenenado a la ví­ctima para que todo su trí¡fico circule a travís del atacante. Cuando la ví­ctima realice peticiones de resoluciín de nombres se devolverí¡ a íste una direcciín IP que no serí¡ la autíntica, por la que se puede devolver una IP en la que apunte a un servidor web con una web falsa.

Video explicativo: SecurityTube (http://www.securitytube.net/video/156)

Web spoofing

(http://www.networkset.net/wp-content/uploads/2010/07/dhcp-snooping.png)

El web spoofing funciona suplantando una pí¡gina web real por una falsa, es muy fí¡cil de confundirlo con el phising pero trabaja de manera diferente.

Con este tipo de ataques el hacker puede modificar cualquier pí¡gina web que la ví­ctima visite, esto incluye las pí¡ginas seguras.

Es muy difí­cil descubrir si se estí¡ sufriendo un ataque de este nivel lo mí¡s aconsejable seria instalar un plugin en el navegador que nos permita ver la IP de la pí¡gina en la que nos encontramos siempre y si esta IP nunca cambia casi seguro que estemos sufriendo un ataque de este tipo.

Mail spoofing

El Mail spoofing consiste en suplantar el correo electrínico de uno de nuestros contactos, con estas caracterí­sticas es un suplemento ideal para las tícnicas de Phishing y Spam.

Una de las maneras de protegernos de este tipo de ataques es utilizando alguna aplicaciín que nos permita comprobar el servidor SMTP como tambiín el IP.

Pero la seguridad mí¡s moderna es utilizar firmas digitales.

DHCP spoofing

El DHCP spoofing consiste en que el atacante trata de ganar al servidor en el envio cuando emite la respuesta de direcciín de IP.

La manera de protegerse de este tipo de ataque es sencillo si es una red pequeíña, deshabilitamos el DHCP y configuramos la IP manualmente, esto es muy difí­cil de hacer cuando se trata de una red grande.

Actualmente existe un fallo de gran preocupaciín con este tipo de ataque puesto a que el IPv6 da IP a la mí¡quina que la solicite la ínica manera de solventar este error es deshabilitando el IPv6 y el DHCP en caso de tra-tarse de una red pequeíña.

ARP spoofing

El ARP spoofing funciona con la falsificaciín de tablas ARP, es decir modi-fican las tablas ARP.

Con este tipo de ataques se facilita otro tipo de ataques como el MITM (Man in the Midle) con lo cual se anula nuestra privacidad por completo.

Para evitar este tipo de ataques lo mí¡s recomendable es utilizar tablas ARP estí¡ticas con IPs fijas, lamentablemente este mítodo solo es valido en empresas y hogares pequeíños.

Tambiín se puede utilizar programas para la detecciín de cambios en las tablas ARP y se ha de tener habilitado la seguridad del puerto de los swit-ches. Un ejemplo de programas disponibles es el Arpwatch.

Con esto llegamos al final del repaso de conceptos sobre Spoofing. Esperamos que os haya gustado.

                Man In The Middle

(http://www.flu-project.com/wp-content/uploads/Main_the_middle-300x166.jpg)

Man In The Middle es un ataque, bastante comín, en el que el atacante crea la posibilidad de leer, inyectar o modificar informaciín que hay en un canal entre 2 mí¡quinas sin que ninguna de esas mí¡quinas conozca esta situaciín. En otras palabras, un usuario con malas intenciones, se colocarí¡ entre el equipo 1 y el equipo 2. Cuando el equipo 1 enví­e trí¡fico al equipo 2, dicho trí¡fico pasarí¡ por el equipo de la ví­ctima en primer lugar. El trí¡fico que le llega al equipo ví­ctima antes que al equipo 2, en un ataque bí¡sico deberí¡ enviarse al equipo 2, para que íste no perciba pírdida de conexiín o que su comunicaciín con el equipo 1 se ha perdido.

Ejemplo teírico de envenenamiento ARP

El atacante usarí¡ alguna herramienta, como pueden ser caí­n (http://www.oxid.it/cain.html), ettercap (http://sourceforge.net/projects/ettercap/) o nemesis (http://www.b-phreaks.co.uk/NSSDownloadLanding.htm) entre otras, para realizar un ARP Spoofing o tambiín conocido como ARP Poisoning. Este tipo de ataques se realiza en redes switcheadas y no con hubs

El atacante envenenarí¡ las tablas ARP de las ví­ctimas, enviando mensajes ARP ‘engaíñando’ a los objetivos. Como ejemplo, se puede imaginar algo como lo siguiente:

Tabla ARP Objetivo 1, mí¡quina con IP 10.0.0.3

Direcciín IP 10.0.0.1 (router) con MAC CA:FE:CA:FE:CA:FE

Tabla ARP Objetivo 2, mí¡quina con IP 10.0.0.1

Direcciín IP 10.0.0.3 con MAC CA:FE:FE:CA:CA:FE

El atacante con sus malvadas peticiones ARP modificarí¡ el valor de las tablas ARP de las otras 2 mí¡quinas, quedarí¡ algo tal que:

Nota: La MAC del atacante pongamos que es AA:AA:AA:BB:BB:BB

Tabla ARP Objetivo 1, mí¡quina con IP 10.0.0.3

Direcciín IP 10.0.0.1 (se piensa que es el router) con MAC AA:AA:AA:BB:BB:BB

Tabla ARP Objetivo 2, mí¡quina con IP 10.0.0.1

Direcciín IP 10.0.0.3 con MAC AA:AA:AA:BB:BB:BB

Con lo que todos los enví­os que realice la mí¡quina objetivo 1 a Internet, por ejemplo, pasarí¡n por la mí¡quina del atacante y los enví­os que el objetivo 2 (por ejemplo, el router) realice hacia la mí¡quina objetivo 1 pasarí¡n tambiín por el atacante.

Credenciales con texto plano

Hay que imaginar que ahora mismo se realiza una autenticaciín contra un servidor y que ísta se realiza en texto plano, ¡Bomba! Es muy posible que con el ataque MITM mí¡s bí¡sico esa informaciín privada salga a la luz, ya que toda la informaciín de la comunicaciín pasar por el equipo del atacante.

¿Solucionamos con HTTPS?

La idea de cifrar la comunicaciín ayuda y mucho a que newbies que usan el ataque mí¡s bí¡sico de MITM no puedan obtener tan fí¡cilmente la informaciín que viaja por el canal. Pero hay mítodos para realizar MITM de modo que se obtenga la informaciín, aunque el usuario piense que la comunicaciín estí¡ segura. Es posible que se vea en flu-project.com mí¡s adelante.

Observando la tabla ARP

(http://www.flu-project.com/wp-content/uploads/arp-300x78.png)

Aquí­ se explica un ejemplo de tabla ARP real. Se puede detectar que se estí¡ realizando un ataque MITM si la MAC del router cambia repentinamente, aunque quizí¡ sea un rollo estar viendo a cada momento esta tabla.

Otra posible idea para ayudar a detectar cuando nos realizan un ataque MITM, es realizar un script que compruebe si la direcciín ***MAC*** que corresponde con la IP del router cambia. Si esto ocurriese el script deberí­a avisar al usuario para alertarle. Esto es fí¡cil de implementar.

Por otro lado, si es un equipo de sobremesa o un portí¡til que nunca salga del hogar, se puede insertar una entrada estí¡tica en la tabla ARP con la que se diga que la direcciín del router siempre tienen esa direcciín MAC. Es decir, no se podrí¡ indicar por peticiín ARP que esa ***MAC*** ha cambiado.

flu-project