Este tutorial de Local File Inclusion está hecho con fines totalmente académicos. La técnica que veremos a continuación debe usarse para hallar fallos de seguridad de manera autorizada en aplicaciones web con el fin de reportarlos. Para aprender en qué consiste y cómo se ejecuta, utilizaremos un entorno legal de práctica de hacking web llamado Damn Vulnerable Web Application (DVWA).
DVWA es una aplicación deliberadamente vulnerable (con niveles de vulnerabilidad ajustables) diseñada de este modo con el objetivo de practicar y entender las principales técnicas de hacking web. En ella, se pueden practicar ciberataques como inyección SQL, cross-site scripting, ataques de fuerza bruta, cross-site request forgery y más.
Tutorial de Local File Inclusion
Preparación
Lo primero que haremos en este ejercicio de hacking web es preparar nuestro entorno web de práctica. Para ello:
- Crea una máquina virtual con el sistema operativo para pentesting Kali Linux.
- Instala DVWA en tu máquina de Kali Linux.
Ejecución
Una vez tengas preparada tu máquina virtual con Kali Linux y DVWA instalada en ella, abre un navegador web en esta máquina e ingresa en la dirección de DVWA.
localhost/dvwa
Inicia sesión con las credenciales por defecto “admin” y “password“.
Después, ve a la pestaña de DVWA Security y escoge la opción “Low“.
🔴 ¿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 semanaLuego, dirígete a la pestaña que dice File Inclusion, donde realizaremos el ataque a esta vulnerabilidad.
En esta página, notaremos que la dirección URL contiene el parámetro “page=include.php“, que podría ser vulnerable, ya que sirve para ejecutar código PHP en el navegador del usuario. Para probar si la vulnerabilidad está presente en la aplicación, probaremos a ejecutar la dirección de cualquier página web por medio de este parámetro, como puedes ver a continuación:
page=http://www.google.com
El resultado nos revela una vulnerabilidad dentro de la aplicación que podríamos utilizar para redirigir el navegador del usuario hacia una página maliciosa y desplegar un ciberataque desde allí.
Otra opción que nos da DVWA al realizar un ataque de Local File Inclusion es encontrar una bandera. Dicha bandera se puede encontrar con el siguiente payload:
http://localhost/dvwa/vulnerabilities/fi/?page=../../hackable/flags/fi.php
Lo que permite este payload es acceder a un fichero llamado “fi.php” que ejecuta un código PHP dentro del navegador. Asimismo, es posible acceder a otros ficheros del sistema, como el “/etc/passwd“, del siguiente modo:
http://localhost/dvwa/vulnerabilities/fi/?page=../../../../../../etc/passwd
Vulnerabilidades similares
Con este tutorial de Local File Inclusion, hemos demostrado en qué consiste la vulnerabilidad. Ahora, hablaremos brevemente sobre en qué se diferencia de otros fallos de seguridad similares, como el Remote File Inclusion y el path traversal.
- Remote File Inclusion (RFI): a diferencia del LFI, el RFI permite ejecutar código PHP que se encuentra dentro de un fichero almacenado en otro servidor controlado por el atacante. Se considera que puede ser más peligroso, ya que el hacker obtiene más control sobre el contenido del código PHP que se ejecuta en el navegador de la víctima. De este modo, se pueden llevar a cabo operaciones más complejas.
- Path traversal: permite acceder a un fichero almacenado en el servidor de la aplicación, pero no ejecutar código PHP en el navegador. Al igual que hemos visto en el ejemplo anterior, el path traversal o directory traversal permite imprimir el contenido de cualquier archivo de texto en la pantalla del navegador. De este modo, se puede acceder a contraseñas o nombres de usuarios, entre otros datos.
Ya hemos visto este tutorial de Local File Inclusion en DVWA. Si quieres profundizar y aprender más técnicas de hacking web, en KeepCoding tenemos el curso intensivo ideal para ti. Ingresa a nuestro Ciberseguridad Full Stack Bootcamp y descubre cómo convertirte en un especialista en tan solo 7 meses. Ten clases en vivo con profesores expertos sobre temas como pentesting, recolección de información, criptografía, análisis de malware y mucho más. ¡No sigas esperando y pide ya más información!