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
CVE-2023-27163-lab — Docker-basiertes Lab zur Reproduktion von CVE-2023-27163 SSRF in Request-Baskets, mit Exploit-Verifikation, Erkennungsskript und Netzwerkisolations-Remediation. | Kitploit
Tools/GitHubGitHub/amulyakaushik/cve-2023-27163-lab
DefensivwerkzeugeContainer-SicherheitSchwachstellenanalyseExploitationWebsicherheitNetzwerksicherheitPenetrationstestsLernen & BildungLabs & Praxis

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
GitHubamulyakaushik/cve-2023-27163-lab

CVE-2023-27163-lab

Docker-basiertes Lab zur Reproduktion von CVE-2023-27163 SSRF in Request-Baskets, mit Exploit-Verifikation, Erkennungsskript und Netzwerkisolations-Remediation.

Repository anzeigen
vor 7h 40mNoch nicht geprüft
Teilen

CVE-2023-27163 — Request-Baskets SSRF-Lab

Projekt: Vulnerability Research & Reproduction Lab — CVE-2023-27163
Autor: Amulya Kaushik
Rolle: Cybersecurity R&D & Lab Content Development Intern Candidate

Server-Side Request Forgery in Request-Baskets ≤ 1.2.1
Ein eigenständiges lokales Forschungslabor zur Reproduktion, Erkennung und Behebung von CVE-2023-27163 mit Defense-in-Depth-Architektur.


CVE-Profil

FeldWert
CVE-IDCVE-2023-27163
CWECWE-918 — Server-Side Request Forgery (SSRF)
Betroffenes ProduktRequest-Baskets
Betroffene Versionen≤ 1.2.1
Behobene Version1.2.2 (Upstream-Quellcode) / Defense-in-Depth-Netzwerkisolierung
CVSS v3.1 Score6.5 (Mittel)
CVSS-VektorAV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
AngriffskomplexitätGering — einzelner unauthentifizierter API-Aufruf

Upstream-Einschränkungen & Behebungsstrategie

Hinweis zu Upstream-Einschränkungen & Behebung:
Während CVE-2023-27163 die Validierung beliebiger Forward-URLs betrifft, erzwingen öffentliche Container-Builds von darklynx/request-baskets nicht standardmäßig eine Loopback- oder Private-Subnet-Filterung. Nach realen DevSecOps-Best-Practices demonstriert unser Labor die Behebung durch Defense-in-Depth-Container-Netzwerkisolierung. Durch die Isolierung sensibler interner Backends in einem rein internen Docker-Netzwerk (secure-internal-net mit internal: true) wird der Relay-Pfad unterbrochen, wodurch die Ausnutzbarkeit der SSRF-Schwachstelle selbst beim Betrieb nicht vertrauenswürdiger Webhook-Forwarder gemindert wird.


Überblick über die Labor-Architektur

Dieses Labor bietet zwei separate Docker-Compose-Topologien:

  1. Verwundbare Umgebung (docker-compose.yml): Request-Baskets und ein interner Secret-Echo-Service teilen sich das Bridge-Netzwerk lab-net. Request-Baskets ist auf Host-Port 55556 gemappt (gemappt von Container-Port 55555).
  2. Behobene Umgebung (docker-compose.patched.yml): Request-Baskets ist ausschließlich an public-net angebunden, während der interne Echo-Service an secure-internal-net (internal: true) angebunden ist.

Verwundbare Architektur (docker-compose.yml)

root@kitploit:~
┌─────────────────────────────────────────────────────────┐
│                    Docker: lab-net                       │
│                                                         │
│  ┌─────────────────────┐    ┌────────────────────────┐  │
│  │  request-baskets     │───▶│  internal-service      │  │
│  │  (v1.2.1)           │    │  (http-echo:5678)      │  │
│  │  Port 55556 ◀──HOST │    │  NOT exposed to host   │  │
│  └─────────────────────┘    └────────────────────────┘  │
└─────────────────────────────────────────────────────────┘
         ▲
         │  HTTP (port 55556)
         │
    ┌────┴─────┐
    │ Attacker │
    └──────────┘

Behobene Architektur (docker-compose.patched.yml)

root@kitploit:~
┌─────────────────────────┐        ┌─────────────────────────┐
│       public-net        │        │   secure-internal-net   │
│                         │        │     (internal: true)    │
│  ┌───────────────────┐  │        │  ┌───────────────────┐  │
│  │  request-baskets   │  │   ✕    │  │ internal-service  │  │
│  │  Port 55556◀─HOST │  │ ──/──▶ │  │ (http-echo:5678) │  │
│  └───────────────────┘  │        │  └───────────────────┘  │
└─────────────────────────┘        └─────────────────────────┘

Voraussetzungen

AnforderungMindestversionHinweise
Docker Engine20.10+Container-Virtualisierungslaufzeit
Docker Composev2.0+Multi-Container-Orchestrierung
Python3.8+CLI-Verifikations- und Erkennungstools

Einrichtung der Python-virtuellen-Umgebung und Abhängigkeiten:

root@kitploit:~
python3 -m venv .venv
source .venv/bin/activate
pip install requests fpdf2

Schritt-für-Schritt-Anleitung

1. Starten der verwundbaren Laborumgebung

Starten Sie die verwundbare Umgebung (Request-Baskets v1.2.1 erreichbar unter http://localhost:55556):

root@kitploit:~
docker compose up -d

Überprüfen Sie, dass beide Container laufen:

root@kitploit:~
docker compose ps

Erwartete Ausgabe:

root@kitploit:~
NAME                         IMAGE                             COMMAND                  SERVICE            STATUS   PORTS
isolated-internal-service    hashicorp/http-echo:latest        "/http-echo -text=CO…"   internal-service   Up       5678/tcp
vulnerable-request-baskets   darklynx/request-baskets:v1.2.1   "/bin/sh -c /bin/ent…"   request-baskets    Up       0.0.0.0:55556->55555/tcp

Bestätigen Sie, dass der interne Service nicht direkt vom Host erreichbar ist:

root@kitploit:~
curl http://localhost:5678 2>&1 || echo "Connection refused — internal service isolated as expected"

2. Ausführen der Schwachstellenreproduktion (Datenexfiltration)

Führen Sie das automatisierte SSRF-Verifikationsskript aus:

root@kitploit:~
python3 scripts/verify_vulnerability.py

Was passiert:

  1. Das Tool ruft /api/baskets/ssrf-verification-basket auf und setzt forward_url: "http://internal-service:5678" sowie proxy_response: true.
  2. Es sendet ein HTTP GET an die Basket-URL.
  3. Es erfasst die weitergeleitete Nutzlast CONFIDENTIAL_DATA{INTERNAL_SSRF_DEMONSTRATION_SUCCESS} und gibt RESULT: VULNERABLE aus.
  4. Es löscht den Test-Basket.

3. Ausführen des defensiven Erkennungstools

Führen Sie die nicht-destruktive Audit-Sonde aus:

root@kitploit:~
python3 scripts/detect.py

Was passiert:

  1. Phase 1: Abgleich mit Request-Baskets-Web-Signaturen.
  2. Phase 2: Prüft, ob Loopback-Weiterleitung (http://127.0.0.1:80) akzeptiert wird.
  3. Phase 3: Meldet AUDIT RESULT: VULNERABLE bei Akzeptanz (HTTP 201) und bereinigt den Probe-Basket.

4. Wechsel zur behobenen Umgebung & Überprüfung der Verteidigung

Wechseln Sie zur segmentierten behobenen Topologie:

root@kitploit:~
docker compose down
docker compose -f docker-compose.patched.yml up -d
python3 scripts/verify_vulnerability.py

Erwartete Ausgabe:

root@kitploit:~
==============================================================
[✓] REMEDIATION VERIFIED: TARGET SECURED
    The Request-Baskets instance failed to reach the internal
    isolated service (HTTP 502 / Host Unreachable).
    Network segmentation successfully prevented SSRF data exfiltration.
==============================================================

Bauen Sie die Umgebung nach Abschluss ab:

root@kitploit:~
docker compose -f docker-compose.patched.yml down

Nachweise & Verifikation (Deliverable 3)

Das vollständige visuelle Nachweisportfolio für Deliverable 3 wird im Verzeichnis evidence/ geführt:

ArtefaktZweckDateilinkBeschreibung
Screenshot 1Laufende Umgebung01_lab_running.pngZeigt vulnerable-request-baskets (Port 55556) & isolated-internal-service, die gleichzeitig auf lab-net laufen.
Screenshot 2SSRF-Ausnutzung02_reproduction_ssrf.pngZeigt die exfiltrierte CONFIDENTIAL_DATA{...}-Flag und den Status VULNERABLE.
Screenshot 3Defensives Erkennungstool03_detection_tool_run.pngZeigt die zweiphasige Signaturprüfung und das Loopback-Audit, das VULNERABLE meldet.
Screenshot 4Behebungsverifikation04_remediation_verified.pngBeweist Relay-Fehler (HTTP 502 / Host Unreachable) unter segmentierter Netzwerkverteidigung.
Screenshot 5Web-UI-Konfiguration05_web_ui_ssrf.png(Bonus) Browser-Aufnahme der Request-Baskets-UI-Einstellungen mit konfiguriertem Proxy Response.

Detaillierte Walkthroughs, Befehle und Konsolen-Transkripte für jeden Screenshot sind in evidence/README.md dokumentiert.

Interaktiver Capture-Runner

Um alle Terminal-Screenshots sequenziell ohne manuellen Aufwand zu erfassen, führen Sie aus:

root@kitploit:~
./scripts/capture_evidence_flow.sh

Kompilieren des technischen Blog-PDFs

Kompilieren Sie den akademischen technischen Bericht in PDF:

root@kitploit:~
python3 docs/generate_blog_pdf.py

Generierte Ausgabe: docs/CVE-2023-27163-Technical-Blog.pdf


Projektstruktur

root@kitploit:~
cve-2023-27163-lab/
├── .gitignore                      # Git artifact exclusions (.venv, cache, OS files)
├── docker-compose.yml              # Vulnerable environment (shared lab-net, port 55556)
├── docker-compose.patched.yml      # Remediated environment (disjoint network isolation)
├── README.md                       # Complete documentation, attribution & guide
├── scripts/
│   ├── capture_evidence_flow.sh    # Interactive runner for capturing screenshots
│   ├── verify_vulnerability.py     # SSRF exploitation & remediation verification CLI
│   └── detect.py                   # Defensive audit and detection tool
├── evidence/
│   └── README.md                   # Formal screenshot evidence walkthrough
└── docs/
    ├── technical_blog.md           # Academic technical write-up (800–1,200 words)
    ├── generate_blog_pdf.py        # Markdown → PDF converter
    └── CVE-2023-27163-Technical-Blog.pdf # Compiled academic report PDF

Referenzen & Credits

Diese Forschung und Laborentwicklung baut auf offenen Sicherheitsstandards, Herstellerhinweisen und Schwachstellendatenbanken auf:

  1. NIST National Vulnerability Database (NVD):
    CVE-2023-27163 Detail — CVSS v3.1 Base Score 6.5 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N).
  2. MITRE Common Weakness Enumeration (CWE):
    CWE-918: Server-Side Request Forgery (SSRF).
  3. Upstream-Projekt-Repository & Quellcode:
    darklynx/request-baskets (GitHub) — Request Baskets Web-Service.
  4. OWASP Foundation:
    Server-Side Request Forgery Prevention Cheat Sheet.

Haftungsausschluss

Dieses Labor ist ausschließlich für Bildungs- und autorisierte Sicherheitsforschungszwecke bestimmt. Verwenden Sie diese Tools nicht gegen Systeme, die Ihnen nicht gehören oder für die Sie keine ausdrückliche Testgenehmigung haben.

Tool herunterladen