Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
copy-fail-go — # Go-Port des CVE-2026-31431 (copy-fail) Linux-Kernel-Privilege-Escalation-PoCs, mit automatischer SUID-Binär-Enumeration und interaktiver Zielauswahl. | Kitploit
Tools/GitHubGitHub/3jee/copy-fail-go
Privilege EscalationExploit-FrameworksSchwachstellenanalyseExploitationCTFPenetrationstestsRed TeamingBinary-Exploitation
GitHub3jee/copy-fail-go

copy-fail-go

# Go-Port des CVE-2026-31431 (copy-fail) Linux-Kernel-Privilege-Escalation-PoCs, mit automatischer SUID-Binär-Enumeration und interaktiver Zielauswahl.

Repository anzeigen
1vor 3 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

copy-fail-go

Go-Port von grenkocas Python-PoC für CVE-2026-31431 (copy-fail).

Diese Version kompiliert zu einer vollständig statischen Binärdatei ohne Laufzeitabhängigkeiten – kein Python, kein pip, keine libc-Versionsbeschränkungen. Einfach auf ein beliebiges Linux-Zielsystem werfen und ausführen. Sie listet außerdem automatisch alle SUID-Binärdateien mit Weltleserechten auf dem Zielsystem auf und lässt dich interaktiv auswählen, welche davon ausgenutzt werden soll.

Nur für autorisierte Sicherheitsforschung und CTF-Nutzung.


Was ist CVE-2026-31431 (copy-fail)?

Entdeckt von Theori und öffentlich offengelegt am 29. April 2026, ist Copy.Fail ein Logikfehler im algif_aead-Krypto-Modul des Linux-Kernels, der durch eine Optimierung aus dem Jahr 2017 eingeführt wurde. Er betrifft alle gängigen Linux-Distributionen seit 2017.

Durch Manipulation der AF_ALG-Krypto-Schnittstelle des Kernels kann ein nicht privilegierter Angreifer kontrollierte Daten direkt in den Linux-Page-Cache schreiben – die In-Memory-Repräsentation vertrauenswürdiger System-Binärdateien. Dies ermöglicht die vorübergehende Übernahme von Binärdateien wie /usr/bin/su, ohne die Datei auf der Festplatte zu verändern, wodurch diskbasierte Forensik den Angriff nicht erkennt.

Im Gegensatz zu vielen LPE-Schwachstellen, die von Race Conditions oder Kernel-Adressleaks abhängen, ist Copy.Fail äußerst zuverlässig und funktioniert konsistent mit nur einem Standard-Benutzerkonto.

Auswirkungen:

  • Normaler Benutzer → root auf jedem betroffenen System
  • Container-Escape zum Host
  • CI/CD-Job erlangt Root-Rechte auf seinem Runner
  • Gemeinsam genutzte/Multi-Tenant-Infrastruktur über Mandanten hinweg kompromittiert
  • Keine Änderung von Dateien auf der Festplatte (umgeht Integritätsprüfungen)

Betroffene Kernel: Alle Distributionen seit 2017. Siehe grenkocas ursprünglichen PoC für den spezifischen Versionsbereich.


Unterschiede zum ursprünglichen Python-PoC


Anforderungen

  • Linux-Kernel im betroffenen Versionsbereich
  • Eine SUID-Binärdatei mit Weltleserechten auf dem Zielsystem (das Tool findet sie)
  • Keine speziellen Privilegien zur Ausführung erforderlich

Build-Abhängigkeiten (auf deinem Build-Rechner)

ToolVersion
Go1.21+

Erstellen

Natives Linux-Build

root@kitploit:~
git clone https://github.com/3jee/copy-fail-go
cd copy-fail-go
go build -o copy-fail .

Cross-Kompilierung von macOS oder Windows (Ziel: Linux x86-64)

root@kitploit:~
GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -ldflags="-s -w" -o copy-fail .

Die Flags -s -w entfernen Debug-Informationen, um die Binärgröße zu reduzieren. CGO_ENABLED=0 erzeugt eine vollständig statische Binärdatei ohne libc-Abhängigkeit – einfach auf ein beliebiges Linux-Zielsystem werfen, unabhängig von der glibc-Version.

Andere Architekturen

ZielBefehl
Linux ARM64GOOS=linux GOARCH=arm64 CGO_ENABLED=0 go build -o copy-fail .
Linux 32-Bit x86GOOS=linux GOARCH=386 CGO_ENABLED=0 go build -o copy-fail .

Verwendung

Übertrage die Binärdatei auf das Zielsystem und führe sie aus (kein Root erforderlich):

root@kitploit:~
./copy-fail

Beispielsitzung:

root@kitploit:~
CVE-2026-31431 (copy-fail) - Go PoC
Based on grenkoca's original PoC

Scanning for SUID world-readable binaries...

SUID world-readable binaries found:
------------------------------------
  [1] /usr/bin/su
  [2] /usr/bin/sudo
  [3] /usr/bin/passwd
  [4] /usr/bin/newgrp

Select target [1-4]: 1

[*] Targeting: /usr/bin/su
[*] Writing 48 bytes to /usr/bin/su...
[+] Write complete. Executing target...
# whoami
root

So funktioniert es

  1. Öffnet die Ziel-SUID-Binärdatei mit O_RDONLY – keine Schreibberechtigung erforderlich.
  2. Erstellt einen AF_ALG-Socket (SOCK_SEQPACKET), der an die AEAD-Transformation authencesn(hmac(sha256),cbc(aes)) gebunden ist.
  3. Sendet ein präpariertes sendmsg mit MSG_MORE und SOL_ALG-Kontrollnachrichten, um eine Krypto-Operation gegen den Page-Cache-Eintrag der Zieldatei in die Warteschlange zu stellen.
  4. Verwendet splice(2), um Seiten aus der Datei in den ALG-Socket zu verschieben, wodurch der verwundbare Kernel-Pfad ausgelöst wird, der modifizierte Page-Cache-Seiten ohne erneute Prüfung der Dateiberechtigungen zurückschreibt.
  5. Wiederholt dies für jedes 4-Byte-Chunk der Nutzlast.
  6. Führt die gepatchte Binärdatei aus.

Danksagungen

  • grenkoca – ursprünglicher Python-PoC
  • Theori – Entdeckung der Schwachstelle
  • Dieses Repo ist ein unminifizierter Go-Port mit automatischer Ziel-Enumeration

Referenzen

  • OVHcloud: Copy.Fail – So schützt du MKS-Cluster schnell vor dem Linux-Kernel-Zero-Day
  • grenkocas ursprünglicher Python-PoC (gist)
Tool herunterladen
Original (Python)Dieses Repo (Go)
SprachePython 3Go 1.21+
ZielFest verdrahtet /usr/bin/suAutomatisch erkannt durch Live-Dateisystem-Scan
ZielauswahlKeineInteraktives nummeriertes Menü
VerteilungSkriptEinzelne statische Binärdatei (keine Laufzeitabhängigkeiten)