Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
vuln_apps — Ejecuta una flota de aplicaciones web/API intencionalmente vulnerables en stacks de Docker aislados para pruebas de penetración locales y validación de hallazgos de escáneres con catálogos de vulnerabilidades de referencia. | Kitploit
Herramientas/GitHubGitHub/clickswave/vuln_apps
Análisis de VulnerabilidadesSeguridad WebPruebas de PenetraciónAprendizaje y EducaciónSeguridad de APIsLabs y Práctica
GitHubclickswave/vuln_apps

vuln_apps

Ejecuta una flota de aplicaciones web/API intencionalmente vulnerables en stacks de Docker aislados para pruebas de penetración locales y validación de hallazgos de escáneres con catálogos de vulnerabilidades de referencia.

Ver Repositorio
117hace 1 mesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

vuln_apps

Una flota de aplicaciones intencionalmente vulnerables para apuntar herramientas de seguridad (crossfyre, Burp, ZAP, nuclei, etc.). Esta carpeta no contiene el código fuente de las aplicaciones, solo definiciones esqueleto y un pequeño gestor. Cada aplicación se ejecuta como su propia pila de contenedores aislada, por lo que nada entra en conflicto.

Todo lo que hay aquí es deliberadamente vulnerable. Solo para pruebas locales. No expongas esto a internet ni a una red no confiable. Todos los puertos se enlazan a 127.0.0.1.

Cómo funciona

  • docker compose up inicia un contenedor: vuln_apps_manager (el plano de control). No inicia ninguna aplicación vulnerable por sí mismo.
  • Controlas la flota a través del gestor. Cada aplicación se define mediante una carpeta esqueleto en apps/<name>/ (un manifiesto app.yml + un compose.yml) y el gestor la ejecuta como su propio proyecto independiente.
docker compose
  • Como cada aplicación es su propio proyecto, tiene su propia red, sus propios volúmenes y su propia base de datos. Dos aplicaciones que usen Postgres nunca compartirán una.
  • Solo se publica el puerto web/objetivo de la aplicación, hacia 127.0.0.1. Las bases de datos y las capas internas nunca se enlazan al host. El servicio web de cada aplicación también se une a una red compartida vuln-net, de modo que un escáner que se ejecute en un contenedor puede alcanzarlas por nombre (p. ej. http://dvwa) sin ningún puerto de host.
  • Inicio rápido

    root@kitploit:~
    cd vuln_apps
    ./vam start --all      # ONE command: builds the manager, starts every light app,
                           # and runs each app's first-time setup automatically
    ./vam status           # what's running + URLs
    ./vam stop --all       # stop everything
    

    Ese único ./vam start --all también ejecuta la configuración única que necesita cada aplicación (la creación de la base de datos de DVWA, la instalación de bWAPP, la carga de datos inicial de VAmPI), de modo que cada aplicación es utilizable en el momento en que informa running, sin clics manuales en /setup.php ni /install.php.

    ¿Quieres que el gestor permanezca activo como un monitor de estado en vivo? Ejecuta docker compose up -d primero y luego usa ./vam ... como arriba.

    ./vam <cmd> es solo un envoltorio. Exactamente lo mismo sin él:

    root@kitploit:~
    docker compose run --rm vuln_apps_manager start --all
    docker compose run --rm vuln_apps_manager status
    

    Comandos del gestor

    ComandoQué hace
    ./vam listlista todas las aplicaciones, su estado y URL
    ./vam start <app...> | --all [--heavy]inicia la(s) aplicación(es). --all omite las aplicaciones pesadas a menos que se use --heavy
    ./vam stop <app...> | --alldetiene la(s) aplicación(es)
    ./vam restart <app...> | --allreinicia la(s) aplicación(es)
    ./vam statustabla de estado de la flota
    ./vam logs <app> [-f]muestra el final de los registros de una aplicación
    ./vam pull <app...> | --alldescarga previamente las imágenes
    ./vam portsmapa de puertos del host + comprobación de conflictos
    ./vam doctorcomprobaciones de coherencia del entorno y los puertos

    Ejemplos: ./vam start juice-shop dvwa, ./vam start crapi --heavy, ./vam logs webgoat -f.

    Aplicaciones y puertos

    Todas las URL son http://127.0.0.1:<port> (solo loopback).

    AplicaciónPuertoStackNotas
    juice-shop7001Node / AngularSPA moderna + REST
    dvwa7002PHP / MariaDBbase de datos creada automáticamente al iniciar; acceso admin/password
    webgoat7003Java+ WebWolf en 7004 (receptor OOB)
    vampi7005Python / FlaskOWASP API Top 10
    dvga7006Python / GraphQL/graphql
    bwapp7007PHPautoinstalada al iniciar; acceso bee/bug
    log4shell7009Java / SpringRCE ciego -> OAST
    crapi7010Node/Java/Pythonpesada; mailhog en 7011
    faultline8088SvelteKit/Rust/PG/Redisobtenida de GitHub (ver más abajo)

    Bloque de puertos de host reservado: 7001-7099. ./vam ports muestra el mapa en vivo y marca cualquier conflicto.

    Cómo añadir una nueva aplicación

    Coloca una carpeta en apps/:

    root@kitploit:~
    apps/<name>/
      app.yml       # name, description, category, stack, url
      compose.yml   # the container(s): image, ports (127.0.0.1 only), any DB
      setup.sh      # optional: one-time init run after start (see below)
    

    Reglas para mantener la flota ordenada:

    • Enlaza solo el puerto web/objetivo, a 127.0.0.1:<free 70xx port>.
    • Aplicaciones de un solo contenedor: coloca el servicio solo en [vuln-net]. NO añadas una red por proyecto; eso conserva el pool de direcciones de Docker (con demasiadas redes, Docker falla con "all predefined address pools have been fully subnetted").
    • Aplicaciones con base de datos: coloca la aplicación en [default, vuln-net] y la base de datos solo en [default] (privada, sin enlace al host). Dale a cada aplicación su propio servicio de base de datos y su propio volumen (no lo compartas). Declara vuln-net como external: true.
    • Configuración de primer arranque: si la aplicación necesita una inicialización única (crear la base de datos, instalarse, cargar datos), añade un apps/<name>/setup.sh. El gestor lo ejecuta después de start, desde dentro del contenedor del gestor (que está en vuln-net y tiene curl), de modo que puede alcanzar la aplicación por nombre de servicio, p. ej. curl http://<service>/install.php.

    Eso es todo. El gestor lo detecta automáticamente (./vam list).

    Para una aplicación cuyo código fuente vive en un repositorio git (como faultline), omite compose.yml y, en su lugar, pon repo: (la URL de clonado) y compose: (la ruta del compose dentro de ese repositorio) en app.yml. El gestor lo clona en apps/<name>/src/ (gitignored) en el primer arranque, por lo que no se incluye ningún código fuente aquí.

    Catálogos de vulnerabilidades

    vulns/ contiene una "clave de respuestas" por aplicación (a qué debería ser vulnerable cada objetivo), de modo que puedes contrastar los hallazgos de un escáner con la verdad de referencia. Consulta vulns/README.md. Existen catálogos locales detallados para faultline y crapi; las aplicaciones upstream apuntan a sus propias claves de respuestas autorizadas.

    crAPI (pesada)

    crAPI ejecuta Postgres + Mongo + tres capas de aplicación (~2 GB), por lo que --all la omite. Iníciala explícitamente: ./vam start crapi --heavy. El primer arranque es lento; el OTP de registro y los correos de restablecimiento llegan a mailhog en http://127.0.0.1:7011.

    faultline (obtenida de GitHub)

    faultline es el objetivo full-stack propio de Clickswave. Su código fuente no está incluido aquí; el gestor lo clona desde github.com/clickswave/faultline en el primer arranque:

    root@kitploit:~
    ./vam start faultline    # clones the repo into apps/faultline/src/, then builds + runs it
    

    El primer arranque lo compila (Rust; lento). Actualiza el checkout más adelante con ./vam pull faultline. Luego abre http://127.0.0.1:8088. Credenciales de demostración: [email protected] / password, [email protected] / admin.

    Notas

    • docker compose down detiene solo el gestor. Detén primero las aplicaciones con ./vam stop --all (son proyectos independientes).
    • El gestor se comunica con el daemon de Docker del host a través del socket montado; por eso puede iniciar y supervisar los demás contenedores.
    Descargar herramienta