¿Sabes qué es Cross-site Request Forgery y por qué representa un riesgo para las aplicaciones web?
Las aplicaciones web, al igual que otros softwares, son susceptibles a tener fallos de seguridad. Para encontrar estos fallos, es necesario realizar tests de penetración, también conocidos como pentests. Los tests de penetración consisten en utilizar técnicas de hacking para encontrar vulnerabilidades en un sistema informático. En el caso de las aplicaciones web, los pentesters deben aprender a identificar y explotar los principales fallos de seguridad de estos sitios.
Las vulnerabilidades o fallos de seguridad son errores de la aplicación que le permiten a un atacante causarle daños al sistema o sus datos. En otras palabras, las vulnerabilidades ponen en riesgo tanto a la aplicación como tal, como a sus clientes y desarrolladores. Estas pueden ser de diferentes tipos y, por ende, tienen distintos niveles de riesgo e impacto para la aplicación.
En la actualidad, debido a la gran cantidad de aplicaciones web que existen y la importancia que tienen para la economía, los ciberataques dirigidos a estos softwares son realmente comunes. Por eso, es indispensable realizar auditorías de seguridad para verificar que la aplicación no ponga en peligro los datos y los bienes de los clientes.
En este post, hablaremos de un ciberataque web muy común, que afecta a las aplicaciones que presentan cierto tipo de vulnerabilidades, que explicaremos más adelante. A continuación, te enseñaremos qué es el Cross-site Request Forgery y por qué representa un peligro para los usuarios de una aplicación vulnerable y posibles sus dueños.
¿Qué es Cross-site Request Forgery?
El Cross-site Request Forgery (CSRF) es un tipo de ciberataque web que le permite a los hackers ejecutar tareas significativas en una aplicación, por medio de un enlace malicioso, en el navegador de la víctima. Es decir, es un ataque que consiste en capturar la petición de una acción en la aplicación, crear una URL a partir de ella y ejecutarla en el navegador de la víctima por medio de este enlace.
🔴 ¿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 semanaAhora, para entender mejor cómo funciona este ciberataque, por qué es tan peligroso y qué métodos existen para evitarlo, veremos un ejemplo práctico por medio de la aplicación deliberadamente vulnerable Damn Vulnerable Web App (DVWA).
Ejemplo de Cross-site Request Forgery
Cuando una aplicación nos permite cambiar la contraseña de un usuario sin necesidad de ingresar la contraseña anterior, nos encontramos ante una vulnerabilidad de tipo CSRF. Para explotarla el proceso es el siguiente:
Preparación
Antes de empezar este ejercicio, recuerda que practicar hacking web en un sitio sin permiso es ilegal. Por lo tanto, configuraremos un entorno legal de práctica, que es totalmente seguro y estará diseñado especialmente para hacer ataques sin perjudicar a nadie.
Para preparar nuestro entorno de práctica sigue las siguientes instrucciones:
- Instala o abre tu programa de virtualización preferido. Como, por ejemplo, VMware o VirtualBox.
- Allí, instala la máquina virtual deliberadamente vulnerable Metasploitable 2.
- Luego, instala o abre una máquina virtual con el sistema operativo para pentesting Kali Linux.
- Finalmente, para fines prácticos, averigua las direcciones IP de tus máquinas, ejecutando el comando “ifconfig” desde la terminal.
Para efectos de este ejercicio, supondremos que las direcciones IP de estas máquinas virtuales son:
- IP de la máquina con Kali: 192.168.175.128
- IP de Metasploitable 2: 192.168.175.130
Ejecución
Ya hemos creado nuestro entorno de práctica de hacking web para practicar un ataque de Cross-site Request Forgery. El proceso para ejecutarlo paso a paso es el siguiente.
- Abre el programa Burp Suite, que viene preinstalado en Kali Linux. Allí, ve a la pestaña Proxy y selecciona la opción “Open Browser“.
- Accede a la dirección IP de la máquina Metasploitable 2 e ingresa en el vínculo que dice DVWA.
- Inica sesión en la aplicación DVWA con las credenciales predeterminadas “admin” y “password“.
- Dentro de la app, ve a la pestaña que dice “DVWA Security” y escoge la opción “Low“.
- Luego, abre la pestaña llamada “CSRF“.
- Ahora, abre el programa de Burp Suite y, en la pestaña “Proxy“, activa el botón “Intercept is on” para capturar las peticiones.
- Regresa al navegador de Burp y, en la pestaña de “CSRF”, verás la la siguiente pantalla:
- Escoge la contraseña que quieras como “New password” y haz clic en “Change“. Luego, regresa a la ventana de Burp Suite y verás la petición interceptada.
- En la petición, haz clic derecho y selecciona la opción “Copy URL“.
- La dirección URL que quedará en el portapapeles al visitarse cambiará automáticamente la contraseña de la víctima. Para probarlo, ejecuta este enlace en otro navegador.
Ahora sabes qué es Cross-site Request Forgery y cómo se ejecuta este ciberataque web. Si quieres aprender más sobre hacking web, únete a nuestro Ciberseguridad Full Stack Bootcamp y especialízate en solo 7 meses. ¡Inscríbete ya!