Esta es la documentación del proyecto de aplicación vulnerable para el Curso de OWASP Top 10: Riesgos en Aplicaciones de Platzi.
A continuación encontrarás toda la información necesaria para utilizar este proyecto.
- Introducción
- Pasos de instalación
- Uso del repositorio
- Comandos de docker
- Software de trabajo
- Recursos adicionales
- Créditos
- Clonar el repositorio
- Agregar alias localbox al localhost
- Agregar certificado CA al navegador
Para clonar el repositorio simplemente muevete a tu directorio de trabajo en la terminal y ejecuta el comando.
git clone https://github.com/platzi/curso-owasp-top-10 OWASPTop10
Se creará el directorio OWASPTop10, en el que podrás trabajar el proyecto.
Para poder utilizar los certificados SSL se necesita que coincidan con el nombre de dominio registrado, por lo tanto es necesario indicarle a nuestra computadora ese dominio y acceder al proyecto desde esa dirección.
Para agregar el alias en sistemas tipo UNIX solamente necesitas editar el archivo /etc/hosts
, con tu editor de texto plano preferido, siempre teniendo permisos de administrador.
Agrega la siguiente línea y guarda los cambios:
127.0.0.1 localbox
En el caso de windows deberás editar el archivo C:\Windows\System32\drivers\etc\hosts
, con tu editor de texto plano preferido, siempre teniendo permisos de administrador.
Agrega la siguiente línea y guarda los cambios:
127.0.0.1 localbox
Este es un ejemplo de mi resultado final:
127.0.0.1 localhost
127.0.0.1 localbox
Ahora si, puedes utilizar el alias ingresando a http://localbox/ en lugar de http://localhost, donde podrás ver la página de inicio del proyecto, siempre que el servidor ya esté ejecutandose.
Para poder utilizar los certificados SSL del proyecto sin ninguna alerta o error del navegador, es necesario agregar el certificado RootCA.crt
, que viene en la carpeta CA
del repositorio, en las configuraciones del navegador.
Agregar el certificado en Chrome
1. Abre Chrome y ve a la configuración haciendo clic en el icono de tres puntos en la esquina superior derecha.2. En el menú desplegable, selecciona "Configuración".
3. En la sección "Privacidad y seguridad", haz clic en "Seguridad".
4. Desplázate hacia abajo hasta encontrar la sección "Certificados" y haz clic en "Administrar certificados".
5. En la ventana que se abre, selecciona la pestaña "Autoridades", luego haz clic en "Importar" y sigue el asistente de importación para seleccionar el archivo `RootCA.crt` y agregarlo como una Autoridad de Certificación de Confianza.
Agregar el certificado en Firefox
1. Abre Firefox y ve a la configuración haciendo clic en el menú de tres líneas en la esquina superior derecha.2. Selecciona "Preferencias" en el menú desplegable.
3. En el panel izquierdo, selecciona "Privacidad y seguridad".
4. Desplázate hacia abajo hasta encontrar la sección "Certificados" y haz clic en "Ver certificados".
5. En la ventana que se abre, selecciona la pestaña "Autoridades" y haz clic en "Importar".
6. Sigue el asistente de importación para seleccionar el archivo `RootCA.crt` y agregarlo como una Autoridad de Certificación de Confianza.
Agregar el certificado en Safari
1. Abre Safari y ve al menú "Safari" en la barra de menú superior.2. Selecciona "Preferencias" en el menú desplegable.
3. Ve a la pestaña "Avanzado".
4. Marca la casilla "Mostrar menú Desarrollo en la barra de menús".
5. Ahora, en la barra de menú superior, aparecerá un nuevo menú "Desarrollo". Haz clic en él y selecciona "Preferencias de certificados".
6. En la ventana que se abre, selecciona la pestaña "Autoridades" y haz clic en "Importar".
7. Sigue el asistente de importación para seleccionar el archivo `RootCA.crt` y agregarlo como una Autoridad de Certificación de Confianza.
Usa la rama vulnerable
para ver la versión vulnerable del proyecto.
git checkout vulnerable
Cambia a la rama de cada riesgo del Top 10, para ver su solución.
git checkout <rama>
Por ejemplo:
git checkout A01-BrokenAccessControl
Usa la rama solved
para ver la versión corregida del proyecto.
git checkout solved
Aquí te van algunos comandos útiles para utilizar el proyecto durante las prácticas.
Recuerda que para los siguientes comandos, debes encontrarte en el directrio del proyecto, en el mismo lugar que el archivo docker-compose.yml
.
Ejecutar el proyecto
docker compose up --build
Ver logs por contenedor
docker logs <nombre-contenedor>
Por ejemplo:
docker logs backend
Terminar la ejecución del proyecto
Usa la combinación de teclas [Ctrl]+[C] ó el equivalente en tu sistema operativo
Eliminar los contenedores y volumenes de datos
docker compose down --volumes
IMPORTANTE
Recuerda terminar el proceso de docker y eliminar los volúmenes cada vez que cambies de rama para generar un entorno limpio desde cero.
- VS Code
- Docker
- Burp Suite
- DirBuster
- NodeJS (para la clase de npm audit)
Aquí te comparto una lista de tutoriales para instalar tus herramientas de pentesting
Tutorial de instalación de DockerTutorial de instalación de Burp Suite en Windows
Tutorial de instalación de Burp Suite en Linux
Tutorial de instalación de Burp Suite en MacOS
Tutorial de instalación de DirBuster
A continuación puedes encontrar las clases de los 10 retos del proyecto relacionados al OWASP Top 10.
A01:2021 - Broken Access ControlA02:2021 - Cryptographic Failures
A03:2021 - Injection
A04:2021 - Insecure Design
A05:2021 - Security Misconfiguration
A06:2021 - Vulnerable And Outdated Components
A07:2021 - Identification And Authentication Failures
A08:2021 - Software And Data Integrity Failures
A09:2021 - Security Logging And Monitoring Failures
A10:2021 - Server-Side Request Forgery
Para acceder a las métricas en grafana puedes seguir los siguientes pasos:
- Entra a https://localbox/grafana
- Usa las credenciales por defecto para acceder al dashboard
- Haz click en la opción "saltar" en la ventana de cambiar contraseña
Estas son las credenciales por defecto en grafana:
username | password |
---|---|
admin | admin |
¡Listo!
Ahora puedes acceder a tus métricas en grafana.
La aplicación tiene un usuario administrador y cuatro usuarios comunes, estas son sus credenciales:
username | password |
---|---|
admin | admin |
user1 | 1234 |
user2 | 1234 |
user3 | 1234 |
Ha llegado el momento de poner manos a la obra y realizar tus prácticas.
Proyecto creado por Diana Nerd.
Para el Curso de OWASP Top 10: Riesgos en Aplicaciones en Platzi.