Banner 1

Esnifando redes conmutadas[arp spoof + MitM + Sniffer sobre SSL]

SNIFFEANDO REDES CONMUTADAS

ARP SPOOFING + ENVENENAMIENTO DE CACHE + MAN IN THE MIDDLE + HTTPS

Un poco de Teoría para entender lo que hacemos.

Que es un Switch?

Es un dispositivo de interconexión de redes que opera en la capa 2 (nivel de enlace de datos) del modelo OSI de ISO (a diferencia del HUB que opera en la capa 1 [Nivel Físico]).

Qué función tiene un switch?
Interconectar los ordenadores de la red como otros segmentos de la misma, enviando los datos de un segmento a otro o de un equipo a otro dirigiéndose por la Dirección MAC.

Ahora un ejemplo más sencillo.

Funcionamiento HUB

El escenario:
Una PC origen que es la que emite el mensaje, un HUB, una PC 1, una PC 2 y una PC 3.

La PC origen emite el mensaje “Hola PC 2”, el HUB la recibe y envía el mensaje a TODAS las PC’s en la red, pero como el mensaje estaba dirigido para la PC 2, solo esta le responde, el HUB toma la respuesta y la envía a PC origen.

Como verán esto no es nada seguro, ya que todas las PC’s de la red reciben el mensaje y este mensaje se envía en texto plano.

Funcionamiento Switch

El escenario:
Una PC origen MAC FF:FF:FF:FF:FF:FF que es la que emite el mensaje, un Switch, una PC 1 MAC AA:AA:AA:AA:AA:AA , una PC 2 MAC BB:BB:BB:BB:BB:BB y una PC 3 MAC CC:CC:CC:CC:CC:CC.

La PC origen MAC FF:FF:FF:FF:FF:FF emite el mensaje “Hola PC 2 con MAC BB:BB:BB:BB:BB:BB” , el Switch la recibe, identifica la MAC en su tabla de direcciones y envía el mensaje directamente a la PC2 con la MAC BB:BB:BB:BB:BB:BB y esta le responde, el Switch toma la respuesta y la envía a PC origen.

*Esto esta explicado a MUY grandes rasgos, sin entrar en tecnicismos y terminología que sería muy difícil de entender si no tienen muchos conocimientos técnicos.

Que es ARP?

Es el Protocolo de Resolución de Direcciones (Address Resolution Protocol) que operan en la capa 3 (nivel de red) del modelo OSI de ISO, esta capa es la encargada de proporcionar conectividad y seleccionar la ruta entre dos equipos de la red.

Qué función tiene el protocolo ARP?
Es el encargado de encontrar la MAC de una dirección IP basándose en envió de paquetes ARP request al broadcast de la dirección IP y espera la respuesta ARP reply con la MAC que le corresponde a dicha IP.

Para más información sobre este protocolo consultar su RFC http://www.faqs.org/rfcs/rfc826.html

Un ejemplo más sencillo:

Funcionamiento ARP.
ARP pregunta al broadcast por medio de un ARP request
ARP request [Quien tiene la IP 192.168.1.1, el que la tenga mándeme su MAC]
El equipo con la dirección IP 192.168.1.1 responde.
ARP reply [Yo la tengo, mi dirección MAC es FF:FF:FF:FF:FF:FF]

De esta manera ya podremos establecer la comunicación directa entre estos dos Hosts

* Esto esta explicado a MUY grandes rasgos, sin entrar en tecnicismos y terminología que sería muy difícil de entender si no tienen muchos conocimientos técnicos.


Que es el HTTPS?

Es el Protocolo Seguro de Transferencia de Hipertexto, es decir que toda la información que viaja a través de ese protocolo utiliza un cifrado SSL para crear un canal de comunicación seguro que empieza con 128bits de encriptación y a diferencia del HTTP que utiliza el puerto 80 para ponerse a la escucha de manera predeterminada, este opera en el 443.

Entonces si el Switch trabaja basándose en **PUERTO/MAC, el ARP nos da la MAC a partir del IP de origen y el HTTPS encripta toda la comunicación, como podremos sniffear SSL en una red conmutada?

**Puerto Fisico de Switch. rlz averno :P

Entrando en Materia ; ).

Lo que no se dijo del protocolo ARP.

Siguiendo el ejemplo del funcionamiento del ARP vemos que cada vez que tengamos que realizar una comunicación con un equipo dentro de la red, tendríamos que hacer todo ese proceso y esto aumenta el tráfico de la red, ahora como solucionamos esto? Con las TABLAS ARP.


Las tablas contienen información de la dirección IP y la MAC de la siguiente forma.

(http://img295.imageshack.us/img295/3456/arpox5.png)

La tabla realiza la función de un cache, de esta manera si hay necesidad de comunicarse de nuevo con el mismo equipo, no tendría que realizarse todo el proceso de ARP request/ARP reply, solo tendremos que ver en nuestra tabla la IP para saber a que MAC está asociada, y es ahí en donde radica la vulnerabilidad y el corazón de este ataque.


Escenario:

Un Router + Gateway , PC Atacante y PC Victima

PC Atacante
IP: 192.168.1.65
MAC: 00:13:E8:5B:C1:69

PC Victima
IP: 192.168.1.66
MAC: 00:19:D1:AA:AF:20

Router/Gateway
IP: 192.168.1.254
MAC: 00:1E:C7:A4:1B:49

Planteamiento:

Envenenamos la Tabla ARP de PC Victima para hacerle creer que la IP del Router/Gateway corresponde a la MAC del PC Atacante, de esta manera toda la comunicación que establecía PC Victima con Router/Gateway, pasa primero por PC Atacante y después es reenviada a Router/Gateway. Esto se logra enviando ARP reply a PC Victima para agregar una entrada falsa.


Tabla ARP de PC Victima estado Normal:
__________________________________________________________
| Dirección IP | Dirección física |Tipo |
| 192.168.1.254 | 00-1e-c7-a4-1b-49 |dinámico |
|192.168.1.65 | 00-13-e8-5b-c1-69 |dinámico |

Como podrán ver se ve la dirección IP del Router/Gateway y su correspondiente MAC, esto es en un escenario donde la comunicación se realiza sin ninguna intervención de la misma.

Ahora realizamos la técnica de ARP Spoofing para envenenar la Tabla ARP de PC Victima quedando de la siguiente manera.

__________________________________________________________
| Dirección IP | Dirección física |Tipo |
| 192.168.1.254 | 00-13-e8-5b-c1-69 |dinámico |
|192.168.1.65 | 00-13-e8-5b-c1-69 |dinámico |


Como podemos ver ahora la MAC del Router /Gateway ha sido suplantada por la MAC del PC Atacante, de esta manera logramos interceptar toda la información, ya que a partir de este punto la PC Victima estaría enviando el paquete a PC Atacante y este lo reenviar a Router/Gateway, pero que pasa con la información que Router/Gateway regresa a PC Victima?, pues como la Cache de la Tabla ARP del Router/Gateway no está envenenada, esta pasaría directamente a PC Victima, dejándonos fuera de la jugada en cuanto a la respuesta de la petición realizada por PC Victima a Router/Gateway, Para hacer esto transparente podríamos envenenar las Tablas ARP del Router/Gateway a este proceso se le llama Full Poisoning, de no hacerlo seria un Half Poisoning.

Llegando de esta manera a realizar otra técnica llamada Man in the Middle, que consiste en, como su nombre lo indicar, estar en medio de la comunicación entre PC Victima y Router/Gateway.

Llevando lo aprendido a la práctica.

Ahora que ya conocemos, entendemos y comprendemos todo el proceso de comunicación que se realiza de manera transparente para un usuario “mortal” xDDD en una red y que ya tenemos el escenario y el planteamiento es hora de ir a la práctica.

Herramientas a Utilizar
Sistema Operativo Linux, su distro favorita ;)
La suit de herramientas Dsniff
SSLDump
Wireshark

Preparando el entorno.

Para poder instalar el Dsniff es necesario contar con los paquetes necesarios, para ver la lista completa no olviden leer el “redme” del Dsniff.

Ahora ya con el Dsniff instalado, habilitaremos el reenvío de paquetes a través de nuestro equipo, esto lo hacemos con el siguiente comando.

(http://img295.imageshack.us/img295/9113/echozd9.png)

Ahora crearemos un fichero llamada gmail.hosts con el siguiente contenido:
IP_ATACANTE *.gmail.com
IP_ATACANTE *.google.com

Siguiendo nuestro escenario nuestro fichero gmail.hosts debería de quedar así.

(http://img258.imageshack.us/img258/8199/hostsrx8.png)

Realizando el Ataque.

Lanzado dnsspoof:

Dnsspoof junto con el fichero gmail.hosts que creamos previamente nos permite hacer que cualquier petición del PC Victima para gmail sea truqueada y en realidad mande la conexión a PC Atacante.

(http://img201.imageshack.us/img201/6293/dnsspoofir4.png)

Ahora utilizamos el webmitm con el parámetro –d para ver todo (vamos como si fuera un verbose), al no tener un certificado, webmitm creara uno para nosotros, y este será el que la victima vea en su navegador, este mismo nos servirá posteriormente para descifrar el trafico SSL generado.

Para echar a andar el webmitm lo hacemos de la siguiente forma:
Webmitm –d
Esto hará que nos cree el certificado como se muestra abajo.

(http://img383.imageshack.us/img383/7163/webmitmzj6.png)

Ahora utilizaremos la herramienta arpspoof que es parte de la suit de Dsniff.

(http://img137.imageshack.us/img137/8866/arpspoof1ps7.png)

Entendiendo que:
El parámetro –i indica la interface de red que utilizaremos para llevar a cabo este ataque.
El parámetro –t indica que envenene la Cache de la Tabla ARP del PC Victima creando una entrada falsa para el Router/Gateway; el orden es importante y es el siguiente –t IP_PC_VICTIMA [espacio] IP_ROUTER/GATEWAY.
De esta manera que intervenido el trafico que se dirige desde PC Victima a Router/Gateway

Ahora lo realizaremos a la inversa, para lograr que el trafico de respuesta de Router/Gateway pasa primero por nosotros y de esta manera está realizando la técnica Man in the Middle que es lo mismo que un Full Poisoning o Full Routing.

(http://img132.imageshack.us/img132/6355/arpspoof2wv2.png)

Entendiendo que:
El parámetro –i indica la interface de red que utilizaremos para llevar a cabo este ataque.
El parámetro –t indica que envenene la Cache de la Tabla ARP de Router/Gateway creando una entrada falsa para PC Victima; el orden es importante y es el siguiente –t IP_ROUTER/GATEWAY [espacio] IP_PC_VICTIMA.

De esta manera que intervenido el trafico que se dirige desde Router/Gateway a PC Victima.

Veamos cómo debería de quedar la Cache de la Tabla ARP de la PC Victima.

(http://img230.imageshack.us/img230/2267/victimavw3.png)


Como podemos ver la dirección física (MAC) es la misma para 192.168.1.62 (PC Atacante) como para 192.168.1.254 (Router/Gateway)

Realizando esto en ambos sentidos (PC Victima -> Router/Gateway) y (Router/Gateway ->PC Victima) tendríamos las envenenada la Chache de las tablas ARP de ambos equipos y por lo consiguiente la información de PC Victima a Router/Gateway y viceversa estarían pasando por PC Atacante logrando un Man in the Middle.

Logrando esto, ya tenemos la mitad del trabajo realizado, ahora faltaría lo demás… pero que es lo demás ¿??? La pregunta correcta es que quieren hacer con ese tráfico que pasa por su equipo? (PC Atacante), las posibilidades son muchas, desde IPSPOOFING para ganar acceso a Equipos protegidos que aceptan solo conexiones de determinada IP, Firewalls, Proxy, como sniffear Contraseñas, Ver que es lo que navega la PC Victima(Si así es VER, esto se lo debemos de agradecer a webspy que es parte de la suit de Dsniff) pero bueno esto es harina de otro costal, lo que nos interesa es Sniffear el trafico SSL ( vamos si ocultan algo es porque ha de ser bueno no creen ¿? :P).

Atacando al eslabón más débil.

Como siempre la cadena se rompe por el eslabón más débil, el usuario final y poco capacitado.

Todo el tráfico de PC Victima a Router/Gateway pasa por PC Atacante, eso ya lo tenemos claro, pero y el trafico SSL ¿? Si analizamos solo así este tráfico solo veríamos la encriptación del mismo, no en texto plano, y entonces las contraseñas de Hotmail y Gmail ¿?

Para lograr esto utilizaremos webmitm en combinación con wireshark, webmitm es parte de la misma suit, webmitm funciona como un proxy tranparente que captura las peticiones del PC Victima y las reenvía al sitio web, el sitio web devuelve la información a webmitm y este lo reenvía a PC Victima mientras Wireshark captura todo ese tráfico.

Ahora que ya tenemos todo corriendo solo falta empezar la captura con Wireshark, recuerden que todo tiene que estar con privilegios de root.

Abrimos el Wireshark vamos a Capture->Options y ahí configuramos según nuestras necesidades. Después solo de damos en START y empezará a capturar todo el tráfico.

(http://img137.imageshack.us/img137/1098/wiresharkym1.png)


Ahora solo esperar a que PC Victima se dirija a Gmail.com para poder capturar sus credenciales, descifrar el tráfico y poder firmarnos en el servidor de Gmail como si fuéramos PC Victima.

Cuando PC Victima se dirija a Gmail.com en la consola donde se ejecuta el webmitm nos mostrara lo siguiente:

(http://img118.imageshack.us/img118/4871/webmitmiavn6.png)

Ahora solo tendremos que “descifrar” el tráfico capturado y aquí es donde entra SSLDump.

Para lanzar SSLDump es de la siguiente forma.

ssldump –r ssl.cap –k webmitm.crt –d > ssl.txt

Entendiendo que:
El parámetro –r indica que lea los datos de un fichero, en nuestro caso la captura “ssl.cap”
El parámetro –k es la “llave” con la que generamos esa captura
El parámetro –d es para decodificar el trafico


Ahora veremos el fichero ssl.txt y veremos las credenciales del usuario en texto plano ;)

*Abreviado por tener un output muy grande.

New TCP connection #1: desktop(2475) <-> sistemas(80)
0.0142 (0.0142) C>S
---------------------------------------------------------------
GET /mail/ HTTP/1.1
Host: mail.google.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: es-es,es;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cookie: S=gmail=c1jq-zsTh-XXXXXXXXX-dA6w:gmail_yj=XXXXXXXXXXXXXXXXXXX:gmproxy=TCm_iMlLob8:gmproxy_yj=H7biGN-MngA:gmproxy_yj_sub=WRmLGyuZGTI; PREF=ID=XXXXXXXXXX:TM=1217277715:LM=1XXXXXX1:GM=1:S=vNEaY-XXXXXXXXXXXXX; TZ=300; GMAIL_RTT=1455
--------------------------------------------------------------------

ltmpl=default&ltmplcache=2&continue=https%3A%2F%2Fmail.google.com%2Fmail%2F%3F&service=mail&rm=false&ltmpl=default&ltmpl=default&Email=ESTEES.ELEMAIL&Passwd=PASSWORD&rmShown=1&signIn=Acceder&asts=


Como podrán ver es un ataque que se lleva a cabo en cuestión de minutos.

*Esta no es una guía definitiva ni pretender serlo; si encuentran algún error por favor notifíquenmelo para hacer las correcciones adecuadas ;P – Pueden distribuirlo libremente siempre y cuando no sea removido el autor.

______________________
Alejandro Pereira Gamboa
IT Manager
apereira@i-sec.com.mx


* Descarga en PDF

http://rapidshare.com/files/134800611/SNIFFEANDO_REDES_CONMUTADAS.pdf.html (http://rapidshare.com/files/134800611/SNIFFEANDO_REDES_CONMUTADAS.pdf.html)

fuente: http://foro.elhacker.net/printpage.html;topic=223015.0

No hay comentarios:

Powered by Bad Robot
Helped by Blackubay