
Proof-of-Concept-Tool zur lokalen Rechteausweitung, das eine Kernel-XFRM/ESP-Schwachstelle (CVE-2026-43503) über manipulierte AES-CBC-verschlüsselte Payloads ausnutzt, die über den Netzwerkstack geliefert werden, um den SUID-Binärdatei-Seitencache zu patchen.
DirtyClone ist ein diagnostisches Proof-of-Concept-Tool zur lokalen Privilegienausweitung, geschrieben in C. Es zielt auf einen Kernel/XFRM-bezogenen Exploit-Pfad ab, der im Quellcode als CVE-2026-43503 beschrieben wird, und ist nur für autorisierte Sicherheitsforschung in kontrollierten Umgebungen vorgesehen.
Dieses Repository enthält:
Die aktuelle Implementierung führt die folgenden übergeordneten Schritte aus:
Dieses Tool ist ausschließlich für autorisierte Sicherheitstests vorgesehen. Die Ausführung auf Systemen ohne ausdrückliche Genehmigung kann illegal sein und die Systemintegrität beeinträchtigen.
Installieren Sie zunächst das erforderliche OpenSSL-Entwicklungspaket:
# Debian/Ubuntu
sudo apt-get install libssl-dev
# Fedora
sudo dnf install openssl-devel
# Arch Linux
sudo pacman -S openssl
Dann kompilieren Sie die Binärdatei:
gcc -o dirtyclone dirtyclone.c -lcrypto -Wall -O2
Führen Sie das Programm aus mit:
./dirtyclone
Optionale Argumente:
./dirtyclone -q # stiller Modus
./dirtyclone -v # ausführlicher Modus (Standard)
./dirtyclone -h # Hilfe anzeigen
Zur Laufzeit führt das Programm folgende Schritte aus:
Der Exploit basiert auf einer einfachen Idee: Das Programm erstellt eine präparierte ESP/XFRM-Nutzlast, die den Kernel veranlasst, Daten in einen Page-Cache-gestützten Speicherbereich zu entschlüsseln, und prüft dann, ob sich die Bytes in der Ziel-SUID-Binärdatei geändert haben.
In der Praxis führt das Programm die folgenden Aktionen aus:
/usr/bin/su, und mappt sie in den Speicher;Dies ist ein Proof-of-Concept-Ablauf, kein allgemeines Framework zur Privilegienausweitung. Es soll den Exploit-Mechanismus demonstrieren und dabei helfen zu überprüfen, ob ein Zielkernel das anfällige Verhalten noch aufweist.
Das folgende vereinfachte Beispiel zeigt dasselbe Konzept auf hoher Ebene:
#include <stdio.h>
#include <string.h>
static int dummy_exploit(unsigned char *target_bytes) {
unsigned char expected[] = {0x31, 0x0f, 0x05};
memcpy(target_bytes, expected, sizeof(expected));
return 0;
}
int main(void) {
unsigned char target[16] = {0};
dummy_exploit(target);
printf("Patched bytes: %02x %02x %02x\n", target[0], target[1], target[2]);
return 0;
}
Das echte Projekt verwendet dasselbe Prinzip, verpackt die Nutzlast jedoch als ESP/XFRM-Paket und treibt den Kernel-Pfad über den Netzwerkstack anstelle einer einfachen Speicherkopie.
Einrichtungsphase
XFRM-Vorbereitung
Nutzlastkonstruktion
Zustellungsphase
Überprüfung und Ausführung
Die Implementierung umfasst:
atexit und Signalhandler registriert werden,fork/execvp basierende sichere Befehlsausführung,Der Quellcode erwartet eine Linux-Umgebung mit:
ip, iptables und modprobe auf dem System verfügbar,/usr/bin/su,Das Programm soll eine diagnostische PoC-Zusammenfassung anzeigen und dann entweder:
Wenn der Exploit nicht ausgelöst wird, gibt das Programm eine klare Meldung aus, die darauf hindeutet, dass der Kernel wahrscheinlich gepatcht ist.
Verwenden Sie dieses Projekt nur, wenn:
Führen Sie diesen Code niemals auf Produktionssystemen oder Systemen aus, für die Sie keine Berechtigung zur Überprüfung haben.
Der Quellcode-Header identifiziert den Autor als MrAashish0x1 (gl1tch0x1). Das Repository enthält keine separate Lizenzdatei, daher sollte der Code als Forschungsmaterial und nicht als Produktionssoftware behandelt werden.