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
block-copyfail — BPF-LSM-Blocker für CVE-2026-31431 (Copy Fail) — blockiert authencesn AF_ALG-Bindungen zur Laufzeit, ohne einen Neustart durchzuführen | Kitploit
Tools/GitHubGitHub/atgreen/block-copyfail
DefensivwerkzeugeDynamische Analyse (Sandboxing)SchwachstellenanalyseIncident Response
GitHubatgreen/block-copyfail

block-copyfail

BPF-LSM-Blocker für CVE-2026-31431 (Copy Fail) — blockiert authencesn AF_ALG-Bindungen zur Laufzeit, ohne einen Neustart durchzuführen

Repository anzeigen
739vor 4 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

block-copyfail

Proof of Concept-Laufzeitminderung für CVE-2026-31431 („Copy Fail") — eine Linux-Kernel-Privilegieneskalation über die kryptografische Vorlage authencesn in algif_aead.

Im Gegensatz zum Blacklisting von Modulen erfordert dies keinen Neustart. Ein BPF-LSM-Programm hakt socket_bind ein und blockiert alle AF_ALG-AEAD-Bindings — das Subsystem, das von Copy Fail ausgenutzt wird. Dies verhindert Umgehungen über die Verschachtelung kryptografischer Vorlagen (z. B. pcrypt(authencesn(...))). Andere AF_ALG-Nutzungen (Hash, Skcipher) bleiben unberührt.

Blockierte Versuche werden in Echtzeit mit PID, Prozessname und Zeitstempel protokolliert.

Voraussetzungen

  • Linux-Kernel 5.7+ mit CONFIG_BPF_LSM=y und lsm=bpf in den Boot-Parametern
  • SBCL 2.0+
  • Whistler (Common-Lisp-eBPF-Compiler)
root@kitploit:~
make doctor   # alle Voraussetzungen prüfen

Schnellstart

root@kitploit:~
git clone https://github.com/atgreen/block-copyfail.git
cd block-copyfail
make ubi8-build
sudo ./block-copyfail

Der Blocker bleibt aktiv, bis Sie Strg-C drücken, und löst sich dann sauber.

Lokal bauen

Zum Bauen auf Ihrem eigenen Rechner benötigen Sie SBCL und Whistler (den Common-Lisp-eBPF-Compiler):

root@kitploit:~
git clone https://github.com/atgreen/whistler.git ~/git/whistler
make build
sudo ./block-copyfail

Ein portables Binary bauen (EL8+)

Bauen Sie in einem UBI8-Container, um ein Binary zu erzeugen, das auf RHEL/CentOS/Alma/Rocky 8+, Fedora, Ubuntu 20.04+ und jedem Linux mit glibc 2.28 oder neuer läuft. Auf dem Zielsystem sind weder SBCL noch Whistler erforderlich — kopieren Sie einfach das Binary und führen Sie es aus.

root@kitploit:~
make ubi8-build
scp block-copyfail root@server:
ssh root@server ./block-copyfail

In ein ELF-Objekt kompilieren

Erzeugt eine standardmäßige .bpf.o-Datei, die von bpftool, libbpf oder einem beliebigen BPF-Loader geladen werden kann:

root@kitploit:~
make elf
sudo mkdir -p /sys/fs/bpf/copyfail
sudo bpftool prog loadall block-copyfail.bpf.o /sys/fs/bpf/copyfail autoattach

Zum Trennen und Entfernen:

root@kitploit:~
sudo rm -rf /sys/fs/bpf/copyfail

Testen

Lassen Sie den Blocker in einem Terminal laufen und lösen Sie in einem anderen einen Test aus:

root@kitploit:~
python3 trigger-test.py

Das Testskript versucht ein AF_ALG-AEAD-Binding (es wird kein Exploit ausgeführt).

Erwartete Ausgabe im Testterminal:

root@kitploit:~
BLOCKED: aead/authencesn(hmac(sha256),cbc(aes)) — [Errno 1] Operation not permitted
BLOCKED: aead/gcm(aes) — [Errno 1] Operation not permitted
ALLOWED: hash/sha256
ALLOWED: skcipher/cbc(aes)

Erwartete Ausgabe im Blockerterminal:

root@kitploit:~
Copy Fail blocker active — all AF_ALG AEAD binds blocked.
Other AF_ALG usage (hash, skcipher) unaffected.
Watching for blocked attempts. Press Ctrl-C to exit.

TIME                  PID       COMMAND
----                  ---       -------
06:38:12               31337  python3

Ohne laufenden Blocker gibt das Testskript für alle vier Algorithmen ALLOWED aus.

So funktioniert es

Das BPF-Programm liest 7 Bytes von struct sockaddr_alg aus den socket_bind-Argumenten über bpf_probe_read_kernel, prüft salg_family == AF_ALG und salg_type == "aead" und gibt bei Übereinstimmung -EPERM zurück. Dies blockiert alle AEAD-Algorithmus-Bindings unabhängig von der Vorlagenverschachtelung. Ereignisse werden über einen Ringpuffer an den Userspace gesendet.

Geschrieben in Whistler, einem Common-Lisp-Dialekt, der direkt in eBPF-Bytecode kompiliert — ohne C, clang oder LLVM.

Lizenz

MIT

Tool herunterladen