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-2023-4911-Lab — # Laboratoire Docker CVE-2023-4911 pour analyser le débordement de tampon de glibc ld.so et développer une exploitation d'élévation de privilèges locale avec débogage GDB. | Kitploit
Outils/GitHubGitHub/0xmoga/cve-2023-4911-lab
Escalade de PrivilègesAnalyse des VulnérabilitésExploitationRétro-ingénierieDébogueursTests d'IntrusionApprentissage et ÉducationExploitation de BinairesLabs et Pratique
GitHub0xmoga/cve-2023-4911-lab

CVE-2023-4911-Lab

# Laboratoire Docker CVE-2023-4911 pour analyser le débordement de tampon de glibc ld.so et développer une exploitation d'élévation de privilèges locale avec débogage GDB.

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

CVE-2023-4911 « Looney Tunables » — Environnement d’analyse

Environnement pratique basé sur Docker pour l’analyse de la vulnérabilité de débordement de tampon (élévation de privilèges locale) dans le chargeur dynamique de la bibliothèque GNU C (glibc) et le développement d’exploits.


Informations CVE

ÉlémentContenu
Numéro CVECVE-2023-4911
AliasLooney Tunables
Cible vulnérableGNU C Library (glibc) 2.34 ~ 2.38
Version vulnérableUbuntu 22.04 — libc6 ≤ 2.35-0ubuntu3.3
Version corrigéelibc6 2.35-0ubuntu3.4 (USN-6404-1, 2023-10-04)
TypeDébordement de tampon dans ld.so
ImpactÉlévation de privilèges locale (utilisateur normal → root)
DécouverteQualys Security Research Team

Mécanisme de la vulnérabilité

Le chargeur dynamique de glibc (ld.so) analyse la variable d’environnement GLIBC_TUNABLES lors de l’exécution d’un programme.
Lors de l’exécution d’un binaire SUID, __libc_enable_secure = 1 est défini et ld.so entre dans un chemin de code qui annule (nullify) cette variable d’environnement.
Dans ce processus, un débordement de tampon se produit en raison d’un calcul de longueur erroné pour les entrées de la forme tunable1=tunable2=value.

root@kitploit:~
Binaire normal :   __libc_enable_secure = 0  →  pas d’entrée dans le code d’annulation  →  pas de vulnérabilité
Binaire SUID :     __libc_enable_secure = 1  →  entrée dans le code d’annulation   →  débordement de tampon

Flux de l’exploit :

root@kitploit:~
Débordement de GLIBC_TUNABLES
        ↓
Écriture du pointeur link_map dans la zone BSS de ld.so
        ↓
Détournement du chemin de recherche des bibliothèques vers evil_lib/
        ↓
Chargement de evil.so → exécution automatique du constructeur
        ↓
setuid(0) + execve("/bin/bash") → obtention d’un shell root

Objectifs et orientation de la construction de l’environnement

Cet environnement va au-delà d’une simple exécution de PoC ; il est conçu pour analyser directement le principe de fonctionnement de la vulnérabilité et développer un exploit.

  • Reproduction d’un environnement avec la version vulnérable de glibc (2.35-0ubuntu3.3)
  • Fourniture d’un environnement permettant d’analyser à la fois le code source de ld.so et le binaire exécutable
  • Prise en charge de l’analyse dynamique via GDB / gef / gdbserver
  • Mise en pratique du scénario d’élévation de privilèges d’un utilisateur normal (researcher) vers root
  • Isolation complète via Docker pour que tous les membres de l’équipe puissent commencer l’analyse dans le même environnement

Structure du projet

root@kitploit:~
CVE-2023-4911/
├── Dockerfile                  # Définition de l’image de l’environnement vulnérable (build multi‑étapes)
├── run.sh                      # Script de gestion du build/run Docker
├── check_environment.sh        # Validation automatique de l’environnement au démarrage du conteneur
├── poc/
│   ├── exploit.py              # PoC de base — vérification du crash (SIGSEGV)
│   ├── exploit_lpe.py          # Exploit LPE — à compléter après analyse GDB
│   └── evil_lib/
│       ├── evil.c              # Bibliothèque partagée malveillante exécutant un shell root
│       └── Makefile
└── test_targets/
    ├── test_suid.c             # Source du binaire de test SUID
    └── test_heap.c             # Source du binaire de test d’allocation tas

Prérequis

  • Docker
  • Linux ou WSL2 (Windows)

Utilisation

1. Construction de l’image et exécution du conteneur

root@kitploit:~
./run.sh build && ./run.sh run

2. Saisie du mot de passe sudo

Au démarrage du conteneur, le mot de passe sudo est demandé.

root@kitploit:~
Mot de passe : password

3. Vérification de la vulnérabilité

root@kitploit:~
# Vérifier la présence d’un SIGSEGV
python3 /workspace/poc/exploit.py --check-only

# Déclencher directement
GLIBC_TUNABLES=glibc.malloc.mxfast=glibc.malloc.mxfast=AAAA \
  /workspace/test_targets/test_suid

4. Analyse avec GDB

root@kitploit:~
# Analyse directe dans le conteneur
gdb -q /workspace/test_targets/test_suid

# Débogage distant (gdbserver)
# Dans le conteneur
gdbserver :1234 /workspace/test_targets/test_suid

# Sur l’hôte local
gdb
(gdb) target remote localhost:1234

5. Exécution de l’exploit LPE

Après avoir analysé OVERFLOW_OFFSET et TARGET_ADDR avec GDB, mettez à jour les valeurs en haut de exploit_lpe.py et exécutez.

root@kitploit:~
python3 /workspace/poc/exploit_lpe.py

Options de run.sh


Informations sur l’environnement d’analyse


Points d’analyse

Analyse statique

root@kitploit:~
# Emplacement de la fonction vulnérable
/workspace/glibc-source/elf/dl-tunables.c

# Fonctions principales
__tunables_init()   # Point d’entrée
parse_tunables()    # Point où se produit le débordement
tunables_strdup()   # Allocation du tampon

Analyse dynamique

root@kitploit:~
# Traçage des appels système avec strace
strace -e trace=mmap GLIBC_TUNABLES="..." /workspace/test_targets/test_suid

# Analyse de __tunables_init avec GDB
gdb /workspace/test_targets/test_suid
(gdb) break __tunables_init
(gdb) set environment GLIBC_TUNABLES=glibc.malloc.mxfast=glibc.malloc.mxfast=AAAA
(gdb) run

Avertissements

Utilisez cet environnement uniquement à des fins éducatives et de recherche en sécurité.

  • Cet environnement a été créé pour l’apprentissage de la vulnérabilité et la recherche de développement d’exploits
  • Ne l’utilisez jamais sur des systèmes en production ou des cibles non autorisées
  • Le conteneur est exécuté en mode --privileged ; utilisez-le uniquement dans un environnement isolé
  • Toute responsabilité légale découlant de l’utilisation abusive du code de ce dépôt incombe à l’utilisateur

Références

  • Qualys Security Advisory
  • Dépôt officiel glibc
  • Ubuntu Security Notice USN-6404-1
Télécharger l’outil
CommandeDescription
./run.sh buildConstruction de l’image Docker
./run.sh runExécution du conteneur en mode interactif
./run.sh analysisExécution en mode analyse
./run.sh testVérification rapide de la vulnérabilité
./run.sh cleanNettoyage des images et des conteneurs
ÉlémentContenu
Image de baseubuntu:jammy-20230916 (avant correctif)
Version glibc2.35-0ubuntu3.3 (vulnérable)
Version ld.so2.35-0ubuntu3.3 (vulnérable)
Compte d’analyseresearcher / password
Sources glibc/workspace/glibc-source (2.35)
Port principal1234 (gdbserver)
Options du conteneur--privileged, --pid=host