
Un framework basado en microservicios para el estudio de Seguridad de Redes y técnicas de Pruebas de Penetración.

Docker Security Playground es una aplicación que te permite:
El flujo de trabajo de instalación recomendado para DSP es usando una máquina virtual Kali:
Aquí los pasos para instalar DSP en una máquina virtual Kali. Sigue pasos similares para otras distribuciones de Linux, pero asegúrate de instalar todos los requisitos.
sudo apt update && sudo apt install -y docker.io docker-compose nodejs npm git
Nota (problema con el keyring de Kali 2025).
Si tienes el siguiente problema durante la instalación:
Fetched 34.0 kB in 1s (58.4 kB/s) Error: no se pudo obtener http://http.kali.org/kali/dists/kali-rolling/InRelease Las siguientes firmas no se pudieron verificar porque la clave pública no está disponible: NO_PUBKEY ED65462EC8D5E4C5 Warning: Some index files failed to download. They have been ignored, or old ones used instead.Necesitas añadir la clave faltante:
wget https://http.kali.org/kali/pool/main/k/kali-archive-keyring/kali-archive-keyring_2025.1_all.deb sudo dpkg -i kali-archive-keyring_2025.1_all.deb rm kali-archive-keyring_2025.1_all.deb
sudo systemctl enable docker
sudo groupadd docker
sudo usermod -aG docker $USER
docker ps
También, verifica que docker compose funcione:
docker compose --version # o docker-compose --version para versiones antiguas
También verifica la instalación de npm y Node.js:
node -v
npm -v
Es posible ejecutar DSP en un host M1 habilitando Rosetta, pero recomiendo crear una máquina virtual Kali con UTM o VMware Fusion, seguir los pasos de instalación anteriores e instalar el paquete binfmt-misc para ejecutar imágenes x86 en arquitectura ARM.
sudo apt install binfmt-support qemu-user-static
Reinicia la máquina.
Luego, usa el contenedor de Tonisiigi para registrar todos los intérpretes para las diferentes arquitecturas:
docker run --privileged --rm tonistiigi/binfmt --install amd64
Verifica que las imágenes de Docker puedan ejecutarse en tu máquina:
docker run --rm -it --platform linux/amd64 ubuntu uname -m
git clone https://github.com/DockerSecurityPlayground/DSP.git
cd DSP
npm install
Cuando la instalación se haya completado, puedes iniciar DSP:
npm start
DSP se ejecutará en "http://localhost:18181" .
Nota para usar Wireshark en Kali: sugiero usar el navegador Chromium, ya que el contenedor de Wireshark usa algunos códecs que no son compatibles con Firefox en Kali. Puedes iniciar Chromium simplemente escribiendo "chromium" en la terminal.
El primer paso será instalar todas las carpetas necesarias en la máquina actual.
También puedes automatizar este paso de instalación usando la variable de entorno
export DSP_AUTOINSTALL=1 && npm start
Si quieres usar el navegador de tu host, puedes exponer en la interfaz 0.0.0.0. Si quieres exponer en otra interfaz, cambia la variable de entorno DSP_IFACE:
export DSP_IFACE="0.0.0.0"
Ahora puedes usar DSP en la interfaz remota.
Si algo sale mal, puedes restablecer DSP a los valores de fábrica usando el siguiente comando:
npm run uninstall
Esto eliminará todo, y podrás iniciar DSP desde el paso de instalación.
DSP_Repo contiene laboratorios oficiales de DSP. Contribuye a DSP creando nuevos laboratorios DSP.
Durante la instalación puedes crear un entorno local que no tenga enlace con git, o puedes asociar un repositorio personal a la aplicación. Esto es muy útil si quieres compartir tu trabajo con otras personas.
El repositorio de DSP debe cumplir varios requisitos, por lo que he creado una plantilla base de repositorio DSP que puedes usar para crear tu repositorio personal.
Por lo tanto, la forma más fácil de compartir laboratorios es la siguiente:
Es importante que todas las imágenes que uses estén disponibles para otros usuarios, por lo tanto:
Si necesitas una "forma privada" de compartir laboratorios, debes compartir el repositorio de otras maneras; actualmente no hay soporte para compartir repositorios privados.
En DSP puedes gestionar múltiples repositorios de usuario (pestaña Repositorios).
Si tienes un problema, puedes usar la sección de Issues.
Para ejecutar una prueba:
mocha test/<test-nodejs-file.js>
las pruebas usan el método helper.start() para inicializar el entorno de prueba:
Si tienes el siguiente error durante la instalación:
[2020-12-14T10:18:21.854Z] INFO: DockerSecurityPlayground/1536 on vagrant: [DOCKER ACTIONS - DOWNLOAD IMAGE]
events.js:174
throw er; // Unhandled 'error' event
^
Error: connect EACCES /var/run/docker.sock
at PipeConnectWrap.afterConnect [as oncomplete] (net.js:1107:14)
Emitted 'error' event at:
at Socket.socketErrorListener (_http_client.js:401:9)
at Socket.emit (events.js:198:13)
at emitErrorNT (internal/streams/destroy.js:91:8)
at emitErrorAndCloseNT (internal/streams/destroy.js:59:3)
at process._tickCallback (internal/process/next_tick.js:63:19)
Verifica dos cosas:
docker