Máster en Fundamentos de la
Ciberseguridad
MÓDULO 6 – EJERCICIO PRÁCTICO
Máster en Fundamentos de la Ciberseguridad
Ejercicio
- SQL Injection 5
Nivel Low 5
Nivel Medium 5
- SQL Injection (Blind) 5
Nivel Low 5
Nivel Medium 5
- Command Injection 5
Nivel Low 5
Nivel Medium 5
- XSS (Reflected) 6
Nivel Low 6
Nivel Medium 6
- XSS (Stored) 6
Nivel Low 6
- CSRF 6
Nivel Low 6
Nivel Medium 6
- Brute Force 6
- Weak Session IDs 7
Nivel Low 7
Nivel Medium 7
2
MÓDULO 6 – SEGURIDAD WEB – EJERCICIO PRÁCTICO INDIVIDUAL
[Link]
Máster en Fundamentos de la Ciberseguridad
M6 - Seguridad Web
Para las preguntas de este ejercicio se utilizará la máquina virtual M2T1.
Para utilizarla, descarga la OVA del siguiente enlace:
[Link]
Impórtala en VirtualBox pulsando sobre Archivo > Importar servicio virtualizado…
Una vez importada y arrancada, puedes hacer login con las siguientes credenciales:
Usuario: root
Contraseña: toor
La aplicación vulnerable, de nombre DVWA, se encuentra publicada en la URL (accesible desde M2T1):
[Link]
Nota: Esta URL es la página de inicio del Firefox instalado en M2T1 y también aparece enlazada desde la
barra de marcadores.
El usuario y password para acceder a la aplicación es:
student / master
Una vez hayas iniciado sesión, verás la siguiente pantalla:
3
MÓDULO 6 – SEGURIDAD WEB – EJERCICIO PRÁCTICO INDIVIDUAL
[Link]
Máster en Fundamentos de la Ciberseguridad
Aspectos a tener en cuenta para la realización de los ejercicios:
- Para cada pregunta, hay que indicar el payload o payloads utilizados para obtener la información
solicitada, así como describir el proceso seguido. NO basta con responder a la pregunta. En el caso
de que se esté utilizando alguna herramienta externa, será necesario indicar la instrucción utilizada
en lugar del payload.
- Todos los ejercicios deben realizarse explotando las vulnerabilidades de la aplicación web. Es decir,
si se pide el contenido de un archivo, acceder al mismo a través del sistema operativo no será
válido.
- DVWA tiene 4 niveles de dificultad: Low, Medium, High, Impossible. La manera de cambiar entre
unos y otros es ir a la sección del menú izquierdo: DVWA Security, eligiendo el nivel deseado en el
desplegable y pulsando sobre el botón Submit.
- Los apartados de este ejercicio están clasificados por tipo de vulnerabilidad (entrada del menú
lateral a la que deberás acudir) y nivel de dificultad, por lo que será necesario que vayas cambiando
de nivel de dificultad para adecuarlo a lo solicitado en cada apartado.
- En ciertas ocasiones DVWA no cambia correctamente el nivel de dificultad. Esto se debe a que
utiliza cookies para almacenar el nivel de dificultad y en determinadas ocasiones no las gestiona
correctamente. Si ves que tienes este problema, puedes probar a cerrar el navegador y volver a
abrirlo o a usar una ventana de incógnito y trabajar sobre ella, reiniciándola cuando lo necesites.
- En todas las pruebas, abajo a la derecha hay un botón de ayuda (“View Help”) que te puede ayudar
a saber qué diferencia hay entre los niveles y a orientar mejor la prueba.
- Para resolver cada apartado, tan sólo se podrá hacer uso de la información que proporciona la
aplicación en dicho apartado. Es decir, el formulario a explotar y la pista que nos esté compartiendo.
- Ten siempre en cuenta que DVWA NO simula tener vulnerabilidades, sino que las tiene realmente.
¿Qué significa esto? Que, si se te ocurre hacer algo del tipo borrar todo el disco, podrás hacerlo,
afectando a la máquina virtual.
4
MÓDULO 6 – SEGURIDAD WEB – EJERCICIO PRÁCTICO INDIVIDUAL
[Link]
Máster en Fundamentos de la Ciberseguridad
Ejercicio
- SQL Injection
NIVEL LOW
1. ¿Cuál es el usuario activo de la base de datos? Nota: no se permite el uso de herramientas
automáticas para este ejercicio.
2. ¿Qué payload utilizarías para recuperar la versión de la base de datos? Nota: no se permite el
uso de herramientas automáticas para este ejercicio.
NIVEL MEDIUM
3. ¿Qué payload utilizarías para recuperar el nombre de la base de datos? Nota: no se permite el
uso de herramientas automáticas para este ejercicio.
4. ¿Qué payload utilizarías para listar todos los usuarios (nombre del usuario) y contraseñas (hash)
de la base de datos? Nota: El payload no puede superar los 70 caracteres y no se permite el uso de
herramientas automáticas para este ejercicio.
- SQL Injection (Blind)
NIVEL LOW
5. ¿Qué payload/s utilizarías para determinar la presencia de la vulnerabilidad? Describe el proceso
a seguir.
NIVEL MEDIUM
6. Utiliza una herramienta para explotar la vulnerabilidad y listar todos los usuarios (nombre del
usuario) y contraseñas (hashes) de la base de datos. ¿Qué instrucción has utilizado? ¿Cuál ha sido
la salida de la herramienta?
- Command Injection
NIVEL LOW
7. ¿Qué payload utilizarías para explotar la vulnerabilidad y listar el contenido del archivo
/etc/passwd? (Copia también las 3 primeras líneas del archivo)
NIVEL MEDIUM
8. ¿Qué payload utilizarías para saber el directorio actual dentro del sistema de archivos?
9. ¿Qué payload o payloads utilizarías para encontrar el usuario y la contraseña de la base de datos?
Pista: Ambos están almacenados en el archivo “[Link]”.
5
MÓDULO 6 – SEGURIDAD WEB – EJERCICIO PRÁCTICO INDIVIDUAL
[Link]
Máster en Fundamentos de la Ciberseguridad
- XSS (Reflected)
NIVEL LOW
10. Aprovecha la vulnerabilidad para crear un formulario falso de inicio de sesión. Escribe el payload
que has utilizado.
NIVEL MEDIUM
11. Indica el payload que utilizarías para abrir una ventana emergente (popup).
12. Indica el payload que utilizarías para incluir un marco (iframe) que incluya una página externa
que ocupe toda la pantalla, tapando la página de DVWA por completo.
- XSS (Stored)
NIVEL LOW
13. ¿Cuál es el nombre del parámetro vulnerable en el formulario? Incluye un payload de ejemplo
de cómo explotar la vulnerabilidad.
- CSRF
NIVEL LOW
14. Describe en qué consiste la vulnerabilidad que tiene el formulario (el CSRF) y cómo la explotarías
en un escenario real.
NIVEL MEDIUM
15. Aprovechando la vulnerabilidad “XSS (Stored)”, utilízala para explotar el CSRF y que a cualquier
usuario que acceda a la página del “XSS (Stored)” se le cambie la contraseña de su cuenta (el
formulario del CSRF).
- Brute Force
16. Indica 3 herramientas que podrías utilizar para llevar a cabo un ataque de fuerza bruta contra
un formulario de login.
17. Usando alguna de estas herramientas, obtén la contraseña de los siguientes usuarios. Para ello,
cierra sesión en DVWA y ataca el formulario de login de la aplicación. Incluye también la instrucción
utilizada para lanzar la herramienta o una descripción de cómo la usaste:
● admin
● gordonb
● 1337
● pablo
6
MÓDULO 6 – SEGURIDAD WEB – EJERCICIO PRÁCTICO INDIVIDUAL
[Link]
Máster en Fundamentos de la Ciberseguridad
● smithy
- Weak Session IDs
NIVEL LOW
18. Describe cómo se generan los valores de la cookie “dvwaSession”.
NIVEL MEDIUM
19. Describe cómo se generan los valores de la cookie “dvwaSession”.
7
MÓDULO 6 – SEGURIDAD WEB – EJERCICIO PRÁCTICO INDIVIDUAL
[Link]