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
echteeteepee — Outil Go et modèle Nuclei pour tester les travaux de James Kettle (CVE-2025-32094) « HTTP/1.1 must die: the desync endgame » | Kitploit
Outils/GitHubGitHub/perplext/echteeteepee
Scanners de VulnérabilitésAnalyse Dynamique (Sandboxing)Sécurité WebFuzzingTests d'IntrusionApprentissage et Éducation
GitHubperplext/echteeteepee

echteeteepee

Outil Go et modèle Nuclei pour tester les travaux de James Kettle (CVE-2025-32094) « HTTP/1.1 must die: the desync endgame »

Voir le dépôt
51il y a 1 anPas 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 →
Partager

Outils de test de vulnérabilités HTTP/1 Desync

Ce dépôt contient des outils de sécurité défensive pour détecter les vulnérabilités de contrebande de requêtes (desync) HTTP/1, basés sur les recherches novatrices de James Kettle de PortSwigger.

Attribution de la recherche

Ce travail est directement inspiré par et met en œuvre des techniques issues de :

  • « HTTP/1 Must Die » par James Kettle (PortSwigger Research)
    • Recherche originale : https://portswigger.net/research/http1-must-die
    • Chercheur : James Kettle (@albinowax)
    • Entreprise : PortSwigger Web Security

Les schémas d'attaque, les techniques et les méthodes de détection implémentés dans ces outils sont basés sur le travail pionnier de James Kettle qui a révélé des défauts fondamentaux dans l'implémentation du protocole HTTP/1.1 chez les principaux fournisseurs d'infrastructure web.

Impact de la recherche

La recherche de James Kettle a démontré des vulnérabilités affectant :

  • Cloudflare, T-Mobile, GitLab, Netlify, Akamai
  • Plus de 350 000 $ de primes de bugs gagnées
  • Des correctifs d'infrastructure critiques déployés à travers le web

Vue d'ensemble

Les définitions ambiguës des limites de requêtes dans HTTP/1.1 créent ce que James Kettle a appelé une « ambiguïté extrême » quant à l'endroit où les requêtes commencent et se terminent. Cela entraîne des divergences entre les analyseurs des serveurs frontaux et dorsaux, permettant des attaques sophistiquées de contrebande de requêtes. Ces outils aident à identifier ces vulnérabilités pour des tests de sécurité défensive.

Outils inclus

1. Outil de test Go (http1-desync-test.go)

Un testeur complet de vulnérabilités desync HTTP/1 qui implémente plusieurs schémas d'attaque.

Fonctionnalités

  • V-H (Visible-Caché) Desync : Teste les divergences d'analyseur visible-caché
  • 0.CL (Content-Length zéro) Desync : Exploite les différences de gestion de Content-Length: 0
  • Desync par en-tête Expect : Utilise Expect: 100-continue pour la contrebande de requêtes
  • Double-Desync : Teste les vulnérabilités d'empoisonnement de file de réponses
  • Desync CL.TE : Teste les conflits entre Content-Length et Transfer-Encoding

Installation

root@kitploit:~
# Clonez le dépôt
git clone https://github.com/nconsolo/echteeteepee.git
cd echteeteepee

# Installez les dépendances
go mod download

# Compilez l'outil
go build -o http1-desync-test http1-desync-test.go

Utilisation

root@kitploit:~
# Testez tous les schémas d'attaque
./http1-desync-test -target https://example.com

# Testez un schéma d'attaque spécifique
./http1-desync-test -target https://example.com -test vh

# Activez la sortie détaillée
./http1-desync-test -target https://example.com -verbose

# Définissez un délai d'expiration personnalisé
./http1-desync-test -target https://example.com -timeout 10s

Options de ligne de commande

  • -target : URL cible (obligatoire)
  • -test : Type de test : all, vh, 0cl, expect, double, clte (par défaut : all)
  • -timeout : Délai d'expiration des requêtes (par défaut : 5s)
  • -verbose : Active la sortie détaillée pour voir les requêtes/réponses brutes

2. Modèle Nuclei (nuclei-templates/http1-desync.yaml)

Modèle de scan automatisé pour Nuclei afin de détecter les vulnérabilités desync HTTP/1 à grande échelle.

Installation

root@kitploit:~
# Installez Nuclei (s'il n'est pas déjà installé)
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest

# Copiez le modèle dans le répertoire des modèles Nuclei
cp nuclei-templates/http1-desync.yaml ~/.nuclei-templates/

Utilisation

root@kitploit:~
# Scannez une cible unique
nuclei -u https://example.com -t nuclei-templates/http1-desync.yaml

# Scannez plusieurs cibles
nuclei -l targets.txt -t nuclei-templates/http1-desync.yaml

# Scannez avec limitation de débit
nuclei -u https://example.com -t nuclei-templates/http1-desync.yaml -rl 10

Schémas d'attaque expliqués

Tous les schémas d'attaque sont basés sur les conclusions de la recherche de James Kettle et sur des techniques d'exploitation éprouvées.

V-H (Visible-Caché) Desync

Source : Recherche « HTTP/1 Must Die » de James Kettle
Exploite les divergences où le proxy frontal voit une limite de requête tandis que le serveur dorsal en voit une autre. La charge utile d'attaque intègre une requête cachée dans ce qui semble être des données d'en-tête pour le frontal, mais qui est interprétée comme une requête distincte par le dorsal.

Exemple issu de la recherche : Utilisé pour démontrer les différences d'analyseur chez les principaux fournisseurs de CDN.

0.CL (Content-Length zéro) Desync

Source : Conclusions de James Kettle sur les vulnérabilités IIS et T-Mobile
Exploite les différentes interprétations des en-têtes Content-Length: 0 entre les serveurs. Certains serveurs ignorent le corps lorsque CL=0, tandis que d'autres le traitent encore, ce qui entraîne une confusion des limites de requêtes.

Impact réel : Exploité avec succès contre les serveurs IIS et l'infrastructure de T-Mobile.

Desync par en-tête Expect

Source : Recherche de James Kettle sur T-Mobile et LastPass
Exploite le mécanisme Expect: 100-continue où le frontal et le dorsal gèrent la continuation différemment. Cela crée des opportunités de faire passer des requêtes en contrebande pendant que le frontal attend une réponse 100-continue.

Contexte de la recherche : Démontré contre les systèmes d'authentification de T-Mobile et LastPass.

Double-Desync (Empoisonnement de file de réponses)

Source : Méthodologie avancée de desync de James Kettle
Enchaîne plusieurs attaques desync pour empoisonner la file de réponses, permettant aux attaquants de contrôler les réponses que reçoivent les autres utilisateurs. Cela représente l'une des attaques les plus sophistiquées de la recherche.

Constat critique : Permet la prise de contrôle complète d'un site en servant des réponses malveillantes aux utilisateurs légitimes.

Conflits CL.TE / TE.CL

Source : Recherche fondamentale sur l'ambiguïté de HTTP/1.1 par James Kettle
Exploite les conflits entre les en-têtes Content-Length et Transfer-Encoding: chunked. Différents serveurs priorisent ces en-têtes différemment, créant des divergences d'analyseur qui permettent la contrebande de requêtes.

Fondement : Ces conflits représentent le défaut fondamental que James Kettle a identifié dans la spécification HTTP/1.1.

Indicateurs de détection

Sur la base de la méthodologie de recherche de James Kettle, les outils recherchent :

Indicateurs principaux (issus de la recherche originale)

  • Réponses 404/403/401 inattendues : Indique que des requêtes en contrebande atteignent des points de terminaison non autorisés
  • Réponse contenant des chemins admin/restreints : Suggère une contrebande de requêtes réussie vers des zones protégées
  • Plusieurs réponses HTTP dans une seule connexion : Signe d'empoisonnement de file de réponses
  • Réponses d'erreur d'analyseur (400 Bad Request) : Peut indiquer une confusion desync réussie

Méthodes de détection avancées

  • Anomalies de temporisation des réponses : Délais suggérant une confusion de traitement côté serveur
  • Incohérences de Content-Length : Réponses avec des longueurs de corps incorrectes
  • Traces d'injection d'en-têtes : Preuve d'en-têtes passés en contrebande dans les réponses
  • Indicateurs d'empoisonnement du cache : Réponses mises en cache inattendues affectant d'autres utilisateurs

Évaluation de la sévérité des vulnérabilités

Suivant la classification d'impact de James Kettle :

  • Critique : Empoisonnement de file de réponses permettant l'usurpation d'utilisateur
  • Élevé : Contrebande de requêtes vers des points de terminaison admin
  • Moyen : Divergences d'analyseur sans preuve d'exploitation
  • Faible : Comportements desync bénins sans impact sur la sécurité

Utilisation responsable

Ces outils sont conçus pour :

  • Les tests de sécurité défensive sur des systèmes autorisés
  • L'évaluation de vulnérabilités avec les autorisations appropriées
  • La recherche en sécurité dans des environnements contrôlés

N'utilisez PAS ces outils :

  • Contre des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas l'autorisation de tester
  • À des fins malveillantes ou d'accès non autorisé
  • Dans des environnements de production sans précautions appropriées

Détails techniques d'implémentation

Gestion des connexions

Suivant la méthodologie de James Kettle, les outils maintiennent des connexions HTTP/1.1 persistantes pour tester correctement les conditions desync. Chaque test crée une connexion TCP unique et envoie plusieurs requêtes pour observer les différences d'analyse.

Construction des requêtes

Les charges utiles d'attaque sont soigneusement élaborées selon les schémas exacts utilisés par James Kettle dans sa recherche, garantissant la compatibilité avec les comportements serveur qu'il a documentés.

Analyse des réponses

La logique de détection implémente les mêmes indicateurs que James Kettle a utilisés pour identifier les attaques desync réussies lors de ses recherches de primes de bugs à plus de 350 000 $.

Impact des vulnérabilités et remédiation

Sur la base des conclusions et recommandations de James Kettle :

Catégories d'impact

  1. Prise de contrôle complète du site : Par empoisonnement de file de réponses
  2. Vol d'identifiants : Via la contrebande de requêtes vers des points de terminaison d'authentification
  3. Empoisonnement du cache : Servir du contenu malveillant aux utilisateurs légitimes
  4. Élévation de privilèges : Accès aux points de terminaison admin via des requêtes en contrebande

Stratégies de remédiation (selon James Kettle)

  1. Solution principale : Migrer les connexions en amont vers HTTP/2
  2. Intermédiaire : Activer la normalisation des requêtes HTTP
  3. Détection : Déployer des scans réguliers de vulnérabilités desync
  4. Surveillance : Mettre en œuvre une détection d'anomalies au niveau des connexions

Recommandations de test

  • Testez pendant les fenêtres de maintenance pour éviter de perturber les services
  • Utilisez la limitation de débit lors du scan des systèmes de production
  • Coordonnez-vous avec les équipes de sécurité avant les tests à grande échelle
  • Documentez les résultats en utilisant la classification des vulnérabilités de James Kettle

Références et crédits

Recherche principale

  • « HTTP/1 Must Die » - James Kettle (PortSwigger Research)
    https://portswigger.net/research/http1-must-die
  • « HTTP Desync Attacks: Request Smuggling Reborn » - James Kettle
    https://portswigger.net/research/http-desync-attacks-request-smuggling-reborn
  • Présentation Black Hat USA 2019 - James Kettle
    « HTTP Desync Attacks: Smashing into the Cell Next Door »

Ressources supplémentaires

  • Contrebande de requêtes HTTP - PortSwigger Academy
  • Extension Burp Suite HTTP Request Smuggler
  • CWE-444 : Interprétation incohérente des requêtes HTTP

Crédits des outils

  • James Kettle (@albinowax) : Recherche originale et méthodologie d'attaque
  • PortSwigger : Publication de la recherche et outil HTTP Request Smuggler
  • ProjectDiscovery : Framework de scan Nuclei

Licence

Licence MIT - Voir le fichier LICENSE pour plus de détails

Avertissement

Ces outils sont fournis uniquement à des fins éducatives et de sécurité défensive. Les utilisateurs sont responsables de s'assurer qu'ils disposent des autorisations appropriées avant de tester tout système. Les auteurs déclinent toute responsabilité en cas d'utilisation abusive ou de dommages causés par ces outils.

Télécharger l’outil