Usando OWASP Juice Shop - Instalación en un entorno local
Índice
Introducción a OWASP Juice Shop
OWASP Juice Shop es una moderna aplicación web de comercio electrónico deliberadamente insegura. A diferencia de otras aplicaciones web vulnerables, Juice Shop no es solo un conjunto de vulnerabilidades aisladas, sino una plataforma de e-commerce completamente funcional (excepto por el aspecto de pago y entrega) que incorpora intencionalmente una amplia gama de vulnerabilidades de seguridad.
Desarrollada por la Open Web Application Security Project (OWASP), esta aplicación sirve como:
- Un entorno de entrenamiento para profesionales de seguridad
- Una herramienta educativa para estudiantes y desarrolladores
- Una plataforma de pruebas para herramientas de seguridad automatizadas
- Un recurso para demostraciones de ataques web
Lo que diferencia a Juice Shop de otras aplicaciones vulnerables es su enfoque moderno en tecnologías actuales como Node.js, Express y Angular, reflejando mejor las vulnerabilidades que pueden encontrarse en aplicaciones web contemporáneas.
Requisitos del sistema
Antes de instalar OWASP Juice Shop, asegúrate de que tu sistema cumple con los siguientes requisitos:
Requisitos mínimos
- CPU: 200 millicpu (0.2 núcleos)
- RAM: 256 MB
- Almacenamiento: 300 MB de espacio libre
Requisitos recomendados
- CPU: 400 millicpu (0.4 núcleos)
- RAM: 384 MB
- Almacenamiento: 800 MB de espacio libre
Software necesario (dependiendo del método de instalación)
- Docker: Para instalación mediante contenedores (recomendado)
- Node.js: Versiones 18.x, 20.x o 22.x para instalación desde código fuente
- Git: Para clonar el repositorio (si instalas desde código fuente)
Opciones de instalación
Juice Shop ofrece múltiples métodos de instalación, cada uno con sus ventajas. Veamos las tres opciones principales:
1. Instalación con Docker (recomendada)
Ventajas: - Aislamiento del sistema operativo principal - Sin necesidad de instalar Node.js o dependencias adicionales - Fácil actualización y eliminación - Consistencia entre diferentes sistemas operativos
Desventajas: - Requiere Docker instalado en el sistema
2. Instalación desde código fuente con Node.js
Ventajas: - Acceso completo al código fuente para modificación - Mayor control sobre la configuración - Ideal para desarrolladores que quieren contribuir al proyecto
Desventajas: - Requiere instalar Node.js y otras dependencias - Más complejo de configurar - Posibles problemas de compatibilidad entre versiones de Node.js
3. Instalación con Vagrant
Ventajas: - Crea una máquina virtual completa con todo configurado - Aislamiento total del sistema host - Buena opción para entornos de capacitación
Desventajas: - Requiere más recursos del sistema - Necesita instalar Vagrant y VirtualBox
Guía paso a paso: Instalación con Docker
Para este tutorial, usaremos Docker por su simplicidad y consistencia entre plataformas. Docker permite ejecutar Juice Shop en un entorno aislado sin afectar la configuración de tu sistema.
Paso 1: Instalar Docker
Si aún no tienes Docker instalado, debes instalarlo primero:
- Windows/Mac: Descarga e instala Docker Desktop
- Linux: Sigue las instrucciones específicas para tu distribución
Verifica que Docker esté correctamente instalado ejecutando:
docker --version
Deberías ver algo como Docker version 28.0.4, build b8034c0
.
Paso 2: Descargar la imagen de Juice Shop
Abre una terminal o símbolo del sistema y ejecuta:
docker pull bkimminich/juice-shop
Este comando descargará la imagen oficial de Juice Shop desde Docker Hub. La descarga puede tardar unos minutos dependiendo de tu conexión a Internet.
Paso 3: Ejecutar Juice Shop
Una vez que la imagen se haya descargado, puedes iniciar un contenedor con:
docker run --rm -p 3000:3000 bkimminich/juice-shop
Este comando hace lo siguiente:
- --rm
: Elimina automáticamente el contenedor cuando se detiene
- -p 3000:3000
: Mapea el puerto 3000 del contenedor al puerto 3000 de tu máquina local
- bkimminich/juice-shop
: Utiliza la imagen que descargamos anteriormente
Deberías ver una salida similar a esta:
info: Server listening on port 3000
Paso 4: Acceder a Juice Shop
Abre tu navegador web y visita:
http://localhost:3000
¡Si ves la página de inicio de OWASP Juice Shop, has completado la instalación con éxito!
Solución de problemas comunes
Error “port already in use”: Si recibes un error indicando que el puerto 3000 ya está en uso, puedes utilizar otro puerto:
docker run --rm -p 8080:3000 bkimminich/juice-shop
Luego accede a
http://localhost:8080
.- Problema de permisos en Docker: En Linux, es posible que necesites usar
sudo
antes de los comandos de Docker si tu usuario no está en el grupo docker:bash sudo docker run --rm -p 3000:3000 bkimminich/juice-shop
- Problema de permisos en Docker: En Linux, es posible que necesites usar
Docker no inicia correctamente en Windows: Asegúrate de que Hyper-V o WSL2 esté habilitado según la versión de Windows que estés utilizando.
Conexión en VirtualBox: Si vas a usar una máquina virtual en algo como VirtualBox entonces puede que necesites habilitar el reenvío de puertos para mantener la conexión de la máquina virtual a la red.
Configuración inicial y navegación básica
Ahora que tienes Juice Shop funcionando, veamos las partes principales de la interfaz:
La interfaz principal
- Barra de navegación superior: Contiene el logotipo, búsqueda, y accesos a carrito y cuenta de usuario
- Catálogo de productos: Muestra los jugos y otros productos disponibles
- Filtro de productos: Permite buscar productos específicos
- Detalles de producto: Información detallada al hacer clic en un producto
Crear una cuenta
Para probar completamente Juice Shop, es recomendable crear una cuenta:
- Haz clic en el icono de cuenta en la esquina superior derecha
- Selecciona “Login”
- Haz clic en “Not yet a customer?” para registrarte
- Completa el formulario con tu correo electrónico y contraseña (usa datos ficticios)
- Elige una pregunta de seguridad y proporciona una respuesta
Exploración inicial
Una vez registrado, puedes explorar las siguientes funciones:
- Comprar productos: Agrega artículos a tu carrito
- Ver carrito de compras: Revisa los productos seleccionados
- Perfil de usuario: Configura tu información personal
- Reseñas de productos: Lee y escribe reseñas
Mantenimiento de Juice Shop
Detener Juice Shop
Cuando hayas terminado de usar Juice Shop, puedes detener el contenedor presionando Ctrl+C
en la terminal donde está ejecutándose.
Mantener Juice Shop actualizado
Para actualizar a la última versión:
docker pull bkimminich/juice-shop
Conclusión
¡Felicidades! Has instalado con éxito OWASP Juice Shop en tu entorno local. Este entorno te permitirá explorar vulnerabilidades web y practicar técnicas de hacking ético en un entorno seguro y controlado.
En la próxima entrada, exploraremos algunos desafíos de seguridad básicos en Juice Shop, centrándonos en entender las vulnerabilidades fundamentales y cómo explotarlas. Nos enfocaremos en retos de dificultad fácil, perfectos para aquellos que están comenzando su viaje en seguridad web.
Recursos adicionales
- Guía práctica “Pwning OWASP Juice Shop”
- Documentación oficial de OWASP Juice Shop
- Repositorio en GitHub
¿Has tenido alguna dificultad con la instalación? ¿Ya has usado Juice Shop? ¡Déjame tus comentarios abajo y estaré encantado de ayudarte!