Ataque de subida de ficheros en DVWA

Autor: | Última modificación: 14 de noviembre de 2022 | Tiempo de Lectura: 3 minutos
Temas en este post: ,

¿Cómo se hace un ataque de subida de ficheros en DVWA?

El siguiente tutorial de cómo hacer un ataque de subida de ficheros en DVWA está hecho con fines 100% académicos. El uso de estas técnicas en entornos web no autorizados se considera un delito. Por eso, te enseñaremos a realizar el siguiente ejercicio de hacking web en una aplicación con vulnerabilidades, diseñada especialmente para este tipo de prácticas.

Damn Vulnerable Web App (DVWA) es un aplicación web deliberadamente vulnerable que ha sido creada de este modo para aprender y practicar técnicas de hacking. Esta aplicación está basada en PHP y MySQL, por lo que permite ejecutar ataques diseñados especialmente para estas plataformas.

En este post, veremos cómo hacer un ataque de subida de ficheros en Damn Vulnerable Web App, para entender de forma práctica cómo se explotan las vulnerabilidades de este tipo y qué nivel de riesgo representan para los sistemas. Pero antes, definiremos brevemente en qué consiste el fallo que vamos a explotar.

Vulnerabilidad de subida de ficheros

Una vulnerabilidad de subida de ficheros le permite a los atacantes subir archivos maliciosos a las bases de datos de la aplicación y luego acceder a ellos por medio de la dirección URL de la página. El fallo se origina en una falta de validación del tipo de archivos subidos por los usuarios y puede resultar en consecuencias graves, como la ejecución remota de código dentro del servidor de la app.

Ataque de subida de ficheros

Para entender mejor cómo funciona un ataque de subida de ficheros, veremos un tutorial práctico paso a paso. Lo primero que debes hacer siempre para este tipo de ejercicios es configurar tu entorno virtual de práctica.

Preparación

  1. Instala una máquina virtual con la versión más reciente de Kali Linux.
  2. En esta máquina, instala la última versión de DVWA.

Ejecución

Abriremos la aplicación de DVWA e iniciaremos sesión por medio de sus credenciales por defecto, «admin» y «password«.

Ataque de subida de ficheros en DVWA 1

🔴 ¿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

Acto seguido, ingresaremos en la pestaña que dice «DVWA Security» y escogeremos el nivel de seguridad más bajo, es decir, «Low«.

Ataque de subida de ficheros en DVWA 2

Luego, ingresaremos a la pestaña que dice «File Upload» para realizar el ataque de subida de ficheros. Al entrar allí, veremos la siguiente página:

Ataque de subida de ficheros en DVWA 3

Notaremos de inmediato que esta página le permite al usuario subir un archivo. Como pentesters, debemos preguntarnos si hay alguna vulnerabilidad en este input. Dado que en este ejercicio ya sabemos que se trata de un app con este fallo, procederemos directamente a subir un payload a las bases de datos de la aplicación.

¿Cómo subir una webshell?

Una webshell es un fichero con código, en este caso PHP, cuya función nos permite ejecutar comandos en el servidor de una aplicación web. El sistema operativo Kali Linux tiene un directorio de webshells prediseñadas, ubicado en la ruta /usr/share/webshells.

Ataque de subida de ficheros en DVWA 4

En este directorio, entraremos a la carpeta con el título «php«, dado que sabemos que DVWA está construida en este lenguaje de programación.

Ataque de subida de ficheros en DVWA 5

Allí, seleccionaremos una webshell básica escrita en PHP, llamada «simple-backdoor.php«. Ahora, veremos si la página de DVWA nos permite subir este archivo.

Ataque de subida de ficheros en DVWA 6

¡Bingo! La aplicación no solo nos ha dejado subir un archivo a las bases de datos, sino que también nos indica la ruta para acceder al mismo. De modo que ingresaremos a esta dirección, añadiéndola al final de la URL, así:

localhost/dvwa/vulnerabilities/upload/../../hackable/uploads/simple-backdoor.php

Para ver en pantalla algo como lo siguiente:

Ataque de subida de ficheros en DVWA 7

Sabremos bien que la webshell se ha subido y ejecutado correctamente, porque al entrar al subdirectorio veremos las instrucciones de uso de esta aplicación. Según estas, la sintaxis para realizar el ataque es la siguiente:

localhost/dvwa/hackable/uploads/simple-backdoor.php?cmd=cat+/etc/passwd

En donde lo que hemos puesto en negrita es, precisamente, el comando que deseamos ejecutar en el servidor. Ahora, ejecutaremos algunos comandos básicos de Linux con esta sintaxis, para ver lo que sucede desde la webshell.

id
Ataque de subida de ficheros en DVWA 8
ls
Ataque de subida de ficheros en DVWA 9
pwd
Ataque de subida de ficheros en DVWA 10
cat /etc/passwd
Ataque de subida de ficheros en DVWA 11

¿Cómo aprender más?

Ahora sabes cómo hacer un ataque de subida de ficheros en DVWA. Si quieres aprender más sobre hacking web, únete a nuestro Ciberseguridad Full Stack Bootcamp y conviértete en todo un especialista en tan solo 7 meses. ¡No sigas esperando! ¡Pie ya más información y empieza a cambiar tu vida!

[email protected]

¿Trabajo? Aprende a programar y consíguelo.

¡No te pierdas la próxima edición del Aprende a Programar desde Cero Full Stack Jr. Bootcamp!

 

Prepárate en 4 meses, aprende las últimas tecnologías y consigue trabajo desde ya. 

 

Solo en España hay más de 120.400 puestos tech sin cubrir, y con un sueldo 11.000€ por encima de la media nacional. ¡Es tu momento!

 

🗓️ Próxima edición: 13 de febrero

 

Reserva tu plaza descubre las becas disponibles.