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
pentest_lab — Lokales Penetrationstest-Labor mit docker-compose. | Kitploit
Tools/GitHubGitHub/oliverwiegers/pentest_lab
WebsicherheitPenetrationstestsLernen & BildungLabs & Praxis
GitHuboliverwiegers/pentest_lab

pentest_lab

Lokales Penetrationstest-Labor mit docker-compose.

Repository anzeigen
21855vor 1 JahrVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Pentest Lab

Ich entwickle nicht mehr aktiv daran, werde aber Fehler beheben und Issues und Pull Requests bearbeiten. Hilfe wird geschätzt :)

Dieses lokale Pentest-Labor nutzt Docker Compose, um mehrere Opfer-Dienste und einen Angreifer-Dienst mit Kali Linux zu starten. Wenn du dieses Labor zum ersten Mal ausführst, wird es einige Zeit dauern, alle verschiedenen Docker-Images herunterzuladen.

Screencast

Ausgeführte Befehle:

  • ./lab.sh --help
  • ./lab.sh --check-dependencies
  • ./lab.sh --up --all-services
  • ./lab.sh --info
  • ./lab.sh --overview all
  • ssh root@kali -o "UserKnownHostsFile /dev/null"
  • ./lab.sh --down

Verwendung

Das Labor sollte sofort funktionieren, wenn alle benötigten Abhängigkeiten installiert sind. Beim Start führt das Labor eine Abhängigkeitsprüfung durch.

Labor starten

root@kitploit:~
git clone https://github.com/oliverwiegers/pentest_lab
cd pentest_lab
./lab.sh -u

Standardmäßig startet das Labor alle Opfer-Dienste und einen Red-Team-Dienst. Weitere Dienste können gestartet und hinzugefügt werden. Weitere Informationen dazu weiter unten.

Für weitere Nutzungsinformationen lies die Hilfsmeldung, die mit ./lab.sh -h | --help angezeigt wird.

Abhängigkeiten

  • bash
  • find
  • sed
  • yq (Die Python-Version. Nicht yq-go.)
  • docker
  • docker-compose

Das Labor hat eine eingebaute Abhängigkeitsprüfung, die beim Start läuft. Diese kann auch manuell mit ./lab.sh -C ausgeführt werden.

Heimdall

img

Zur Vereinfachung wurde eine Heimdall-Oberfläche hinzugefügt, die unter localhost:7000 erreichbar ist. Alle Dienste, die auf Ihrem lokalen Rechner verfügbar und über den Browser zugänglich sind, werden dort aufgelistet. Änderungen an der Oberfläche werden automatisch in ./etc/heimheimdall gespeichert. Dieses Verzeichnis wird dann beim Stoppen des Labors in ./etc/heimdall.tar umgewandelt. Dieses Tar-Archiv wird beim Start extrahiert. Sowohl ./etc/heimdall.tar als auch ./etc/heimdall werden standardmäßig von git ignoriert.

Das verwendete Hintergrundbild findest du hier.

Dienste

Dieses Labor kennt die folgenden vier Diensttypen.

  • red_team
  • blue_team
  • victim
  • monitoring

Der standardmäßige Red-Team-Dienst – der Kali-Dienst – ist eine ziemlich einfache Kali-Instanz. Trotzdem ist das Metapaket kali-tools-web installiert. Für ein Webanwendungstest-Labor scheinen die grundlegenden Web-Test-Werkzeuge nützlich zu sein. Dies kann durch Bearbeiten der Dockerfile geändert werden, aus der das Image erstellt wird. Diese befindet sich unter ./dockerfiles/kali. Der Kali-Dienst installiert standardmäßig diese dotfiles. Dies kann ebenfalls durch Anpassen der Dockerfile geändert werden.

Opfer-Dienste

  • juice-shop
  • hackazon
  • tiredful-api
  • WebGoat
  • bwapp
  • DVWA
  • XVWA
  • ninjas

Überwachungsdienste

img img

Auch wenn Überwachungsdienste ebenfalls Blue-Team-Dienste sind, werden sie in einer eigenen Kategorie aufgeführt.

Dieser Stack bietet Protokoll- und Leistungsbeobachtungsfunktionen.

Weitere Informationen zu einzelnen Instanzen findest du unten.

Derzeit besteht das Überwachungs-Setup aus den folgenden Diensten:

  • Grafana – Visualisiert Protokolle und Metriken.
  • Loki – Liefert Docker-Protokolle an Grafana.
  • Prometheus – Liefert Metriken an Grafana.
  • cAdvisor – Sammelt Container-Ressourcennutzung und -Metriken und liefert sie an Prometheus.

Grafana

Die Grafana-Instanz bietet zwei Dashboards: eines für Protokolle und eines für Metriken.

  • Logs dashboard
  • Metrics dashboard

Diese sind recht einfach. Man kann weitere hinzufügen, indem man über die Grafana-Oberfläche Dashboards hinzufügt. Diese Dashboards gehen verloren, wenn das Grafana-Volume gelöscht wird. Um dauerhaft Dashboards hinzuzufügen, konsultiere die Provisioning-Dokumentation von Grafana. Die verwendeten Verzeichnisse für die Bereitstellung befinden sich unter ./etc/grafana/.

Um Einstellungen über die Grafana-Oberfläche zu ändern, muss man sich als admin anmelden. Die Anmeldedaten sind die Standardeinstellungen: admin:admin. #hacktheplanet

Loki

Damit Loki Docker-Protokolle sammeln kann, installiert dieses Labor den Loki Docker Driver als Docker-Plugin.

Prometheus / cAdvisor

Damit Prometheus auf Leistungsmetriken der im Cluster laufenden Container zugreifen kann, wird cAdvisor verwendet.

Dienste hinzufügen

Um zusätzliche Dienste hinzuzufügen, sind einige Kenntnisse über docker-compose.yml-Dateien erforderlich. Die docker-compose.yml im Root dieses Repositorys wird automatisch generiert, wenn das Labor startet. Dieser Vorgang verwendet die YAML-Dateien, die sich unter ./etc/services befinden.

root@kitploit:~
➜  pentest_lab tree ./etc/services
./etc/services
├── blue_team
│   └── endlessh.yml
├── default.yml
├── monitoring
│   ├── cadvisor.yml
│   ├── grafana.yml
│   ├── loki.yml
│   └── prometheus.yml
├── red_team
└── victim
    ├── beginner
    │   ├── bwapp.yml
    │   ├── dvwa.yml
    │   ├── hackazon.yml
    │   ├── tiredful.yml
    │   ├── webgoat.yml
    │   └── xvwa.yml
    ├── expert
    │   └── juice-shop.yml
    └── intermediate
        └── ninjas.yml

Welche Dienste gestartet werden, wird durch Aufruf von ./lab.sh mit den entsprechenden Optionen gesteuert. Um einen Dienst dauerhaft zu deaktivieren, entferne die Dateierweiterung .yml.

Ein Beispiel für einen Opfer-Dienst wäre:

root@kitploit:~
bwapp:
  labels:
    class: 'victim'
    cluster: 'pentest_lab'
    level: 'beginner'
  image: raesene/bwapp
  ports:
    - '8080:80'
  networks:
    pentest_lab:
      ipv4_address: 10.5.0.100
  hostname: bwapp
  volumes:
    - bwapp-data:/var/lib/mysql

Hinweis: Wenn ein Dienst bei der ersten Nutzung eine Installation erfordert, verwende docker inspect <image_name>, um herauszufinden, wo das Docker-Image die Daten speichert, und füge ein Volume hinzu, das auf dieses Verzeichnis zeigt. Im obigen Beispiel ist dies:

root@kitploit:~
  volumes:
    - bwapp-data:/var/lib/mysql

Dies stellt sicher, dass du den Dienst nicht jedes Mal neu einrichten musst, wenn du das Labor neu startest. Wenn du das Labor zurücksetzen und komplett von vorne beginnen möchtest, kannst du ./lab.sh -p | --prune verwenden. Dies löscht alle Ressourcen, die dem Labor gehören.

IP-Bereiche

Der Grund für die Verwendung statischer IP-Adressen ist, dass die Kali-Box eine IP-Adresse benötigt, die sich nicht ändert, um den SSH-Login zu vereinfachen. Weitere Informationen im Abschnitt Tipps/Tricks weiter unten.

  • Red-Team-Dienste beginnen bei 10.5.0.5
    • Der Kali-Dienst hat 10.5.0.5.
  • Blue-Team-Dienste beginnen bei 10.5.0.50
  • Opfer-Dienste beginnen bei 10.5.0.100
  • Überwachungsdienste beginnen bei 10.5.0.200

Dienstinformationen

Wenn du Dienste hinzufügst und es zusätzliche Informationen gibt, die für jeden, der dieses Labor nutzt, nützlich sind, kannst du diese Informationen zu ./etc/services_info hinzufügen. Der Inhalt dieser Datei wird zeilenweise wie er ist ausgegeben, wenn ./lab.sh -i ausgeführt wird.

Tipps/Tricks

SSH

Für eine einfache Verbindung zum Kali-Dienst könnte man Folgendes zu $HOME/.ssh/cofig hinzufügen:

root@kitploit:~
Host kali
    User root
    Hostname 10.5.0.5
    UserKnownHostsFile /dev/null
    StrictHostKeyChecking accept-new

Anstatt ssh [email protected] -o "UserKnownHostsFile /dev/null" könnte man ssh kali ausführen.

Für tmux-Benutzer wird folgendes automatisch eine tmux-Sitzung anhängen:

root@kitploit:~
Host kali
    User root
    Hostname 10.5.0.5
    UserKnownHostsFile /dev/null
    StrictHostKeyChecking accept-new
    RequestTTY yes
    RemoteCommand tmux -L tmux new-session -As hacktheplanet
Tool herunterladen