Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
vuln_apps — Betreibt eine Flotte von absichtlich verwundbaren Web-/API-Anwendungen in isolierten Docker-Stacks für lokale Penetrationstests und die Validierung von Scanner-Ergebnissen anhand von Ground-Truth-Schwachstellenkatalogen. | Kitploit
Tools/GitHubGitHub/clickswave/vuln_apps
SchwachstellenanalyseWebsicherheitPenetrationstestsLernen & BildungAPI-SicherheitLabs & Praxis
GitHubclickswave/vuln_apps

vuln_apps

Betreibt eine Flotte von absichtlich verwundbaren Web-/API-Anwendungen in isolierten Docker-Stacks für lokale Penetrationstests und die Validierung von Scanner-Ergebnissen anhand von Ground-Truth-Schwachstellenkatalogen.

Repository anzeigen
117vor 1 MonatNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

vuln_apps

Eine Flotte absichtlich verwundbarer Apps, auf die man Sicherheitswerkzeuge richten kann (crossfyre, Burp, ZAP, nuclei usw.). Dieser Ordner enthält keinen App-Quellcode, sondern nur Skelett-Definitionen und einen kleinen Manager. Jede App läuft als eigener isolierter Container-Stack, sodass nichts kollidiert.

Alles hier ist absichtlich verwundbar. Nur für lokale Tests. Setze diese Apps nicht dem Internet oder einem unsicheren Netzwerk aus. Alle Ports binden an 127.0.0.1.

So funktioniert es

  • docker compose up startet einen Container: vuln_apps_manager (die Steuerungsebene). Er startet von sich aus keine verwundbare App.
  • Du steuerst die Flotte über den Manager. Jede App wird durch einen Skelett-Ordner unter apps/<name>/ definiert (ein app.yml-Manifest + eine compose.yml) und vom Manager als eigenes separates docker compose-Projekt ausgeführt.
  • Da jede App ein eigenes Projekt ist, erhält sie ihr eigenes Netzwerk, ihre eigenen Volumes und ihre eigene Datenbank. Zwei Apps, die beide Postgres verwenden, teilen sich nie eine Datenbank.
  • Nur der Web-/Zielport einer App wird auf 127.0.0.1 veröffentlicht. Datenbanken und interne Ebenen werden nie an den Host gebunden. Jeder Webdienst einer App tritt außerdem einem gemeinsamen vuln-net-Netzwerk bei, sodass ein im Container laufender Scanner sie per Namen erreichen kann (z. B. http://dvwa), ganz ohne Host-Port.
  • Schnellstart

    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
    

    Der einzelne Befehl ./vam start --all führt auch das einmalige Setup aus, das jede App benötigt (Datenbankerstellung bei DVWA, Installation bei bWAPP, Seed bei VAmPI), sodass jede App nutzbar ist, sobald sie running meldet – ohne manuelle Klicks auf /setup.php oder /install.php.

    Soll der Manager als Live-Statusmonitor aktiv bleiben? Führe zuerst docker compose up -d aus und verwende dann ./vam ... wie oben.

    ./vam <cmd> ist nur ein Wrapper. Dasselbe ohne ihn:

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

    Manager-Befehle

    BefehlFunktion
    ./vam listlistet alle Apps, ihren Status und ihre URL auf
    ./vam start <app...> | --all [--heavy]startet App(s). --all überspringt ressourcenintensive Apps, außer mit --heavy
    ./vam stop <app...> | --allstoppt App(s)
    ./vam restart <app...> | --allstartet App(s) neu
    ./vam statusStatustabelle der Flotte
    ./vam logs <app> [-f]zeigt die Logs einer App (tail)
    ./vam pull <app...> | --alllädt Images vorab herunter
    ./vam portsHost-Port-Zuordnung + Portkonfliktprüfung
    ./vam doctorUmgebungs- und Port-Plausibilitätsprüfungen

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

    Apps und Ports

    Alle URLs lauten http://127.0.0.1:<port> (nur Loopback).

    AppPortStackHinweise
    juice-shop7001Node / Angularmoderne SPA + REST
    dvwa7002PHP / MariaDBDB wird beim Start automatisch erstellt; Login admin/password
    webgoat7003Java+ WebWolf auf 7004 (OOB-Catcher)
    vampi7005Python / FlaskOWASP API Top 10
    dvga7006Python / GraphQL/graphql
    bwapp7007PHPwird beim Start automatisch installiert; Login bee/bug
    log4shell7009Java / SpringBlind-RCE -> OAST
    crapi7010Node/Java/Pythonressourcenintensiv; mailhog auf 7011
    faultline8088SvelteKit/Rust/PG/Redisvon GitHub abgerufen (siehe unten)

    Reservierter Host-Port-Block: 7001-7099. ./vam ports zeigt die Live-Zuordnung und markiert jeden Konflikt.

    Eine neue App hinzufügen

    Lege einen Ordner unter apps/ an:

    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)
    

    Regeln, die die Flotte sauber halten:

    • Binde nur den Web-/Zielport an 127.0.0.1:<freier 70xx-Port>.
    • Apps mit einem einzelnen Container: platziere den Dienst nur auf [vuln-net]. Füge KEIN separates Netzwerk pro Projekt hinzu – das schont Dockers Adresspool (bei zu vielen Netzwerken schlägt Docker mit "all predefined address pools have been fully subnetted" fehl).
    • Apps mit Datenbank: platziere die App auf [default, vuln-net] und die Datenbank nur auf [default] (privat, kein Host-Binding). Gib jeder App einen eigenen DB-Dienst und ein eigenes Volume (nicht teilen). Deklariere vuln-net als external: true.
    • Erstlauf-Setup: Wenn die App eine einmalige Initialisierung benötigt (DB erstellen, installieren, seeden), füge apps/<name>/setup.sh hinzu. Der Manager führt sie nach start im Manager-Container aus (der auf vuln-net liegt und curl enthält), sodass er die App über den Dienstnamen erreichen kann, z. B. curl http://<service>/install.php.

    Das ist alles. Der Manager erkennt sie automatisch (./vam list).

    Für eine App, deren Quellcode in einem Git-Repo liegt (wie faultline), überspringe compose.yml und trage stattdessen repo: (die Klon-URL) und compose: (den Compose-Pfad innerhalb dieses Repos) in app.yml ein. Der Manager klont das Repo beim ersten Start in apps/<name>/src/ (gitignoriert), sodass hier kein Quellcode mitgeliefert wird.

    Schwachstellen-Kataloge

    vulns/ enthält für jede App einen „Lösungsschlüssel“ (gegen welche Schwachstellen das jeweilige Ziel verwundbar sein soll), damit du Scanner-Ergebnisse gegen die Ground Truth prüfen kannst. Siehe vulns/README.md. Detaillierte lokale Kataloge gibt es für faultline und crapi; die Upstream-Apps verweisen auf ihre eigenen maßgeblichen Lösungsschlüssel.

    crAPI (ressourcenintensiv)

    crAPI nutzt Postgres + Mongo + drei App-Ebenen (~2 GB), daher überspringt --all sie. Starte sie explizit: ./vam start crapi --heavy. Der erste Start ist langsam; Registrierungs-OTP und Reset-Mails landen in mailhog unter http://127.0.0.1:7011.

    faultline (von GitHub abgerufen)

    faultline ist das eigene Full-Stack-Ziel von Clickswave. Sein Quellcode ist hier nicht mitgeliefert; der Manager klont das Repo beim ersten Start von github.com/clickswave/faultline:

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

    Der erste Start baut das Projekt (Rust; langsam). Aktualisiere den Checkout später mit ./vam pull faultline. Danach öffne http://127.0.0.1:8088. Demo-Logins: [email protected] / password, [email protected] / admin.

    Hinweise

    • docker compose down stoppt nur den Manager. Stoppe die Apps zuerst mit ./vam stop --all (es sind separate Projekte).
    • Der Manager kommuniziert über den gemounteten Socket mit dem Host-Docker-Daemon; deshalb kann er die anderen Container starten und überwachen.
    Tool herunterladen