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

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
DIRTYFAIL — Detector + PoC für Linux-Page-Cache-Write-Sicherheitslücken: Copy Fail (CVE-2026-31431) und Dirty Frag (CVE-2026-43284/43500). Nur für autorisierte Sicherheitsforschung. | Kitploit
Tools/GitHubGitHub/karazajac/dirtyfail
Privilege EscalationSchwachstellenanalyseExploitationPenetrationstestsPapers & ForschungLernen & BildungRed TeamingContainer-AusbruchBinary-ExploitationLabs & Praxis
GitHubkarazajac/dirtyfail
261217vor 4 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

DIRTYFAIL

Detector + PoC für Linux-Page-Cache-Write-Sicherheitslücken: Copy Fail (CVE-2026-31431) und Dirty Frag (CVE-2026-43284/43500). Nur für autorisierte Sicherheitsforschung.

Repository anzeigen

DIRTYFAIL

Ein vereinter Detektor und PoC-Harnisch für die Copy Fail und Dirty Frag Linux-Page-Cache-Schreibschwachstellenfamilien.``` ██████╗ ██╗██████╗ ████████╗██╗ ██╗███████╗ █████╗ ██╗██╗ ██╔══██╗██║██╔══██╗╚══██╔══╝╚██╗ ██╔╝██╔════╝██╔══██╗██║██║ ██║ ██║██║██████╔╝ ██║ ╚████╔╝ █████╗ ███████║██║██║ ██║ ██║██║██╔══██╗ ██║ ╚██╔╝ ██╔══╝ ██╔══██║██║██║ ██████╔╝██║██║ ██║ ██║ ██║ ██║ ██║ ██║██║███████╗ ╚═════╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚═╝╚══════╝

DIRTYFAIL ist ein kleines, gut dokumentiertes C-Werkzeug für Sicherheitsforscher.
Es erkennt, ob ein Linux-Host anfällig für die drei CVEs dieser Familie ist,
und führt — mit expliziter, getippter Bestätigung — einen echten
Proof-of-Concept aus, der den Aufrufer auf einem anfälligen System in eine Root-Shell bringt.

| CVE / Variante | Name | DIRTYFAIL-Abdeckung |
|---|---|---|
| **CVE-2026-31431** | Copy Fail (algif_aead `authencesn` page-cache write) | Erkennung + vollständiger PoC |
| **CVE-2026-43284 v4** | Dirty Frag — IPv4 xfrm-ESP page-cache write          | Erkennung + vollständiger PoC |
| **CVE-2026-43284 v6** | Dirty Frag — IPv6 xfrm-ESP page-cache write (`esp6`) | Erkennung + vollständiger PoC |
| **CVE-2026-43500**    | Dirty Frag — RxRPC page-cache write                  | Erkennung + vollständiger PoC |
| Copy Fail GCM variant | xfrm-ESP `rfc4106(gcm(aes))` page-cache write        | Erkennung + vollständiger PoC |

**Bonus-Modi:**

- **`--scan --active`** — sentinel-STORE aktive Sonden. Standardmäßig meldet `--scan`
  die Vorbedingungen pro CVE (Kernel, Module, LSM-Status) sowie eine aktive Sonde
  der Copy-Fail-Primitive. Durch Hinzufügen von `--active` wird die
  Sentineldaten-STORE-Sonde auf alle vier anderen Primitive (ESP v4,
  ESP v6, RxRPC, GCM) erweitert: jede feuert den Kernel-Trigger gegen eine `/tmp`-Sentinel
  und meldet VULNERABLE nur, wenn die Markierungsbytes tatsächlich landen.
  Dies ist die einzige Möglichkeit, einen zurückportierten, gepatchten Kernel
  (Vorbedingungen sagen anfällig, aber Sonde sagt intakt) von einem
  ungepatchten zu unterscheiden, ohne den vollständigen Exploit auszuführen. `/etc/passwd` wird
  nie berührt. Kalibriert den V6-STORE-Shift automatisch pro Kernel-Build.
- **`--exploit-backdoor`** — persistenter uid-0-Hintertür: längenangepasstes
  Überschreiben einer `nologin`/`false`/`sync`-Zeile in `/etc/passwd` mit
  `dirtyfail::0:0:<pad>:/:/bin/bash`. Überlebt Shell-Exit, bis die Seite
  ausgelagert wird. Zustand wird in `/var/tmp/.dirtyfail.state` für
  `--cleanup-backdoor` gespeichert. Der Benutzername `dirtyfail` ist bewusst auf
  dieses Projekt abgestimmt, sodass er in jedem Audit sofort identifizierbar ist —
  ändern Sie `NEW_USER` in `src/backdoor.c`, falls Sie für einen autorisierten
  Red-Team-Einsatz einen anderen Bezeichner benötigen.
- **AppArmor-Bypass** — besiegt Ubuntus
  `apparmor_restrict_unprivileged_userns=1`-Richtlinie über einen einstufigen
  `change_onexec("crun")`-Neuaufruf in ein uneingeschränktes Profil, das
  userns-Fähigkeiten behält. Jeder Exploit-Modus behandelt dies
  intern über einen Fork: Elternprozess bleibt im Init-Namespace, Kindprozess
  führt den Bypass-Tanz aus, Elternprozess liest den globalen Page-Cache und führt `su` für
  echte Init-Ns-Root aus. Das Legacy-Flag `--aa-bypass` existiert noch für das
  Debuggen der Bypass-Mechanik in Isolation. Siehe [§8.5 Architektur](#85-architecture-outerinner-fork-based-bypass).

## Verifiziert auf folgenden Systemen

DIRTYFAIL wurde **empirisch Ende-zu-Ende validiert** auf mehreren
Distributionen und Kernel-Versionen. Die Matrix unten zeigt pro Modus die
Testergebnisse aus der Ausführung jedes `--exploit-*`-Modus gegen eine Neuinstallation
jeder Distribution.

| Distribution | Kernel | LSM | Copy Fail | xfrm-ESP v4 | xfrm-ESP v6 | RxRPC | GCM | Backdoor | SU-Shellcode |
|---|---|---|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
| Ubuntu 24.04 LTS | `6.8.0-111-generic` | AppArmor | 🛡²  | ✅ | ✅ | ✅ | ✅¹ | ✅¹ | (nicht getestet) |
| Debian 13.4 | `6.12.86+deb13` | none | 🛡 | 🛡 | 🛡 | 🛡 | 🛡 | 🛡 | 🛡⁵ |
| AlmaLinux 10.1 | `6.12.0-124.8.1.el10_1` | SELinux | ✅ | ✅ | ✅ | ⏭³ | ✅ | ✅ | ✅ |
| Fedora 44 (Server) | `6.19.10-300.fc44` | SELinux | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Ubuntu 26.04 LTS | `7.0.0-15-generic` | AppArmor (gehärtet) | 🛡 | 🛡⁴ | 🛡⁴ | 🛡⁴ | 🛡⁴ | 🛡⁴ | 🛡⁵ |

**Legende:** ✅ Exploit landete und erzeugte echte init-ns root  · 🛡 gemildert — Exploit kann Kernel-Fehler nicht erreichen (Kernel gepatcht ODER LSM blockiert unprivilegierten Pfad)  · ⏭ nicht zutreffend (Vorbedingung fehlt)

### Validierung der aktiven Sonden (`--scan --active`)

Das Flag `--active` fügt während der Erkennung eine Sentineldaten-STORE-Sonde pro CVE
hinzu. Wir haben die Sondenergebnisse gegen dieselben 4 Distributionen oben validiert
(Debian, Fedora, AlmaLinux, Ubuntu 26.04) — die Matrix unten zeigt
das Sondenurteil pro Modus und stimmt mit der Ground-Truth des vollständigen Exploits eins-zu-eins überein:

| Distribution | Copy-Fail-Sonde | ESP-v4-Sonde | ESP-v6-Sonde | RxRPC-Sonde | GCM-Sonde |
|---|:-:|:-:|:-:|:-:|:-:|
| Debian 13.4 | intakt 🛡 | intakt 🛡 | intakt 🛡 | intakt 🛡 | intakt 🛡 |
| Fedora 44   | Marker @0 ✅ | STORE @0 ✅ | STORE @8 ✅ | Byte-Änderung ✅ | sentinel[0] 0x41→0x27 ✅ |
| AlmaLinux 10.1 | Marker @0 ✅ | STORE @0 ✅ | STORE @8 ✅ | Vorbedingungen ⏭ | Sentinel geändert ✅ |
| Ubuntu 26.04 | intakt 🛡 | LSM-blockiert 🛡 | LSM-blockiert 🛡 | LSM-blockiert 🛡 | LSM-blockiert 🛡 |

Der STORE-Landeoffset der V6-Sonde (8 auf Fedora und Alma) entspricht dem empirischen
`V6_STORE_SHIFT`, das `calibrate_v6_shift()` zur Laufzeit ermittelt — was bestätigt,
dass die automatische Kalibrierung die zuvor hartcodierte Konstante korrekt über
Kernel-Builds hinweg ersetzt.

¹ GCM und Backdoor erfordern, dass `algif_aead` ladbar ist. Ubuntu 24.04
liefert `/etc/modprobe.d/disable-algif_aead.conf` mit, das es als
Copy-Fail-Mitigation blacklistet. Wenn die Blacklist entfernt wird (z. B. auf einem
Kernel, der vor der Mitigation liegt), funktionieren beide Modi Ende-zu-Ende.

² Der algif_aead-Pfad von Copy Fail wird durch die modprobe-Blacklist gemildert;
die zugrunde liegende CVE-Primitive im Kernel ist dieselbe, ob `authencesn`
erreichbar ist oder nicht. xfrm-ESP, RxRPC und die GCM-Variante landen alle
auf demselben Kernel, da sie nicht über algif_aead gehen.

³ Das Paket `kernel-modules-extra` von AlmaLinux 10 wird bei einer
Minimalinstallation nicht standardmäßig installiert, daher fehlt `rxrpc.ko`
auf der Festplatte. Die Installation von `kernel-modules-extra-$(uname -r)` aus
EPEL oder dem AlmaLinux-Extras-Repo bringt das Modul zurück; bei einer reinen
Minimalinstallation ist RxRPC nicht erreichbar.

⁴ **Ubuntu 26.04 LTS blockiert umfassend die unprivilegierte Ausnutzung.**
Der ausgelieferte Kernel `7.0.0-15.15` (veröffentlicht am 22.04.2026)
**stammt aus der Zeit vor dem Hauptlinien-Patch `f4c50a4034e6` (zusammengeführt am
07.05.2026) um ~2 Wochen** — der Fehler ist also noch im Kernel vorhanden. Ubuntus
Verteidigung ist **Verteidigung in der Tiefe durch AppArmor-Härtung**, nicht ein
Kernel-Patch:
Tool herunterladen