Saltar al contenido

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:

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.

Descarga de la imagen Docker de Juice Shop Instalación de la imagen Docker de Juice Shop

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

Juice Shop ejecutándose en Docker

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!

Página principal de OWASP Juice Shop

Solución de problemas comunes

  1. 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.

    1. 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
  2. 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.

  3. 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

  1. Barra de navegación superior: Contiene el logotipo, búsqueda, y accesos a carrito y cuenta de usuario
  2. Catálogo de productos: Muestra los jugos y otros productos disponibles
  3. Filtro de productos: Permite buscar productos específicos
  4. 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:

  1. Haz clic en el icono de cuenta en la esquina superior derecha
  2. Selecciona “Login”
  3. Haz clic en “Not yet a customer?” para registrarte
  4. Completa el formulario con tu correo electrónico y contraseña (usa datos ficticios)
  5. Elige una pregunta de seguridad y proporciona una respuesta

Registro de usuario en Juice Shop

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.

Deteniendo Juice Shop

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

¿Has tenido alguna dificultad con la instalación? ¿Ya has usado Juice Shop? ¡Déjame tus comentarios abajo y estaré encantado de ayudarte!