Está en la página 1de 8

Robando cookies de sesión con Wireshark en 15 pasos

enero 16, 2018


Vamos a aprender cómo robar una cookie de sesión con Wireshark en una red local
(LAN).

Primero que nada vamos a dar un poco de contexto.

1. Una red local (LAN) implica que sí, será a través de Internet, pero deberás estar
conectado a la misma red, ya sea inalámbrica o vía ethernet (por cable) que tu
víctima.
2. Cookies de sesión son los archivos "temporales" (en teoría deberían ser
temporales) que se generan cuando alguien inicia sesión en una aplicación web.
3. Vulnerabilidad aprovechada.- Vamos a aprovecharnos de varias
vulnerabilidades: 
1. La página web donde se inicie sesión va sobre HTTP y no HTTPS
(aunque es posible hacerlo también sobre HTTPS).
2. La cookie de sesión no tiene habilitadas las "banderas" secure ni
httponly, las cuales impiden que la cookie pueda ser reutilizada en otro
navegador.
3. La página web donde se inicie sesión no hace uso de token de sesión, el
cual sería un candado adicional para evitar el robo de cookies de sesión.
4.   A nuestra víctima no le importa o no sabe nada sobre seguridad de la
información, y considera una buena práctica iniciar sesión en una red gratuita,
digamos una cafetería, porque le gusta trabajar cómodamente mientras disfruta
de su bebida.

¿Qué necesitamos?

1. Una máquina virtual con Kali Linux o con Parrot OS


2. Tener la red de nuestra máquina virtual en modo bridge
3. Conocer la dirección IP de la víctima
4. Conocer el sitio web a atacar (la URL)
5. Conocer la puerta de enlace predeterminada de la red a la que estamos
conectados
6. Estar conectados en la misma red que la víctima
7. Un pasamontañas, por si quieres verte como los hackers que nos pintan en las
televisoras 😋
Obteniendo nuestra IP
En nuestra máquina virtual, abrimos una terminal y ejecutamos el comando ifconfig
para obtener nuestra dirección IP local:

Obteniendo la Puerta de Enlace Predeterminada


En esa misma terminal, ejecutamos el comando netstat -r 

Obteniendo el objetivo
Vamos a ejecutar nmap con algunas opciones para poder identificar nuestro objetivo y
estar seguros de que no estamos atacando a la persona equivocada. Como estamos con
un usuario que no es root, debemos solicitar los permisos necesarios para ejecutar
nmap, por lo que vamos a solicitar la ejecución de nmap con permisos
administrativos mediante el comando sudo, lo cual quedaría de la siguiente manera: 

sudo nmap -f --script smb-os-discovery -p 445 172.16.0.0/24 

Vamos a explicar el comando:

 sudo nmap   Lo que hace ese ejecutar nmap con permisos de administrador
 -f   Envía los paquetes de red "fragmentados", para evadir, en la medida de lo
posible, firewalls, IDS e IPS.
 --script smb-os-discovery   Utiliza el script smb os discovery para determinar el
sistema operativo que está usando la víctima y su nombre de equipo
 -p 445    Se especifica que utilice el puerto TCP 445 para obtener la
información del punto anterior
 172.xx.xx.xx/24    Se especifica el segmento de red a escanear
Nota.- En ocasiones puede no salir información sobre el hostname, como se muestra en
la siguiente pantalla, pero si investigamos más a fondo, podremos determinar si es o no
el equipo que queremos atacar.

Realizando el ataque

Ya tenemos los datos de la víctima, es decir, la dirección IP y ahora vamos a realizar el


ataque.

El tipo de ataque que haremos se conoce como MITM (Man In The Middle). A
continuación les dejo un gráfico que les dejará más claro cómo funciona este tipo de
ataques.

Como se puede apreciar, básicamente se trata de ponernos entre el usuario víctima y su


conexión a Internet, con la finalidad de poder capturar su tráfico y así robar su cookie de
sesión. Vamos entonces a realizar el ataque (ahora sí):

1.- En la consola que ya teníamos abierta, vamos a ejecutar el siguiente comando para
iniciar nuestro MITM (si no nos permite hacerlo, habrá que cambiarnos a root con sudo
su y luego ejecutar el comando): sudo echo 1 >> /proc/sys/net/ipv4/ip_forward

2.- Ahora, dentro de esa misma consola, vamos a iniciar arspoofing, lo que nos
permitirá capturar el tráfico de la red local en la que estamos conectados: 

arpspoof -i [tu interfaz de red] -t [IP de la víctima] [puerta de enlace


predeterminada]

En este ejemplo, el comando quedaría de la siguiente forma:

arpspoof -i eth0 -t 172.16.0.236 172.16.0.254


3.- Vamos a minimizar la terminal que acabamos de usar y vamos a abrir una nueva. En
esta nueva terminal, vamos a ejecutar el siguiente comando (si no te deja, recuerda
cambiarte a root con sudo su y luego ejecuta el comando):

arpspoof -i [su interfaz] -t [puerta de enlace predeterminada] [IP de su objetivo]

En este ejemplo, el comando quedaría de la siguiente forma:

arpspoof -i eth0 -t 172.16.0.254 172.16.0.236

4.- Vamos a minimizar esa segunda ventana y ahora, abrimos el navegador web en la
máquina virtual de Parrot OS, o en Kali Linux. Una vez abierto nuestro navegador,
debemos asegurarnos de tener instalado el complemento Cookies Manager+.

5.- Ahora vamos a abrir la página web de la que vamos a robar la sesión. Obviamente
sin iniciar sesión, porque, aunque tengamos un usuario válido, lo que queremos es entrar
en la sesión de otro usuario... duh!

6.- Ahora vamos a abrir una nueva terminal y vamos a iniciar wireshark, el cual nos
permitirá capturar el tráfico de red de nuestra víctima y con el cual podremos ahora sí,
robar la cookie de sesión. Recuerda que si tienes algún problema al ejecutar el
comando wireshark, siempre puedes antecederlo de sudo, quedando como sudo
wireshark, o bien, ejecútalo como root.
7.- Una vez abierto wireshark, vamos a dar doble clic sobre nuestra interfaz de red
(eth0), para ver la captura de paquetes de red en esa interfaz, donde veremos el tráfico
de red de nuestra víctima.

8.- Ya estamos por terminar... ahora solo resta hacer un filtro para obtener la cookie de
sesión de nuestra víctima. Para esto, en wireshark vamos a escribir lo siguiente:

http.cookie_pair

Esto nos va a filtrar los paquetes capturados, para facilitarnos encontrar la cookie de
sesión.

9.- Ya tenemos identificada la cookie de sesión, ahora solo resta copiarla y reemplazarla
en nuestro navegador para iniciar sesión, sin conocer ni usuario ni contraseña válidos de
la aplicación web. Para esto, vamos a dar clic derecho en la cookie mostrada en
wireshark, en el menú que aparece vamos a copy y finalmente damos clic en ...as
Printable Text. Esto copiará en el portapapeles la cookie de sesión válida de nuestra
víctima.
10.- Vamos a nuestro navegador Firefox en la máquina virtual de Parrot OS o Kali
Linux, y estando en la misma web de la que hemos robado ya la cookie de sesión,
vamos Herramientas, luego a Cookies Manager+ y finalmente elegimos Cookies
Manager+.

11.- En la ventana que aparece, vamos a filtrar por el dominio que estamos atacando
para que nos muestre la cookie de sesión.

12.- Seleccionamos la cookie de sesión y luego clic en el botón Edit.

13.- Vamos a borrar lo que haya en el campo content y a pegar lo que teníamos copiado
en el portapapeles, borrando desde el signo de = y todo a la izquierda.
14.-  Damos clic en Save y luego clic en Close.

15.- Finalmente, oprimimos la tecla F5 para actualizar la vista de nuestro navegador y


¡listo! Tenemos una sesión válida de la aplicación web en nuestro navegador.
Esto nos sirve durante las Pruebas de Intrusión para demostrar varias vulnerabilidades:

 Cookies de sesión inseguras


 Protocolos en texto claro (HTTP)
 Session Hijacking
 Manejo inadecuado de sesiones

Ahora bien, no faltará el hater que diga "para qué todo esto? con robarte el post ya
tienes usuario y contraseña". Pues sí, pero todo esto es para que aprendan, los que no
saben, sobre el tema de robo de cookies, mi estimado hater.

Así que en alguna publicación posterior, veremos eso del método post sobre HTTP y
cómo robarnos usuario y contraseña para evitar todo este relajo de las cookies.

También podría gustarte