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
CVE-2016-5195 — Nicht-waffenfähiger Analyse- und Validierungs-Harness für CVE-2016-5195 (Dirty COW) mit Root-Cause-Analyse, Upstream-Patch-Review und sicherem, nur für Labore bestimmtem PoC für bestätigte Kernel. | Kitploit
Tools/GitHubGitHub/gogooma125732/cve-2016-5195
Privilege EscalationSchwachstellenanalyseCode-AnalyseExploitationPapers & ForschungLernen & Bildung
GitHubgogooma125732/cve-2016-5195

CVE-2016-5195

Nicht-waffenfähiger Analyse- und Validierungs-Harness für CVE-2016-5195 (Dirty COW) mit Root-Cause-Analyse, Upstream-Patch-Review und sicherem, nur für Labore bestimmtem PoC für bestätigte Kernel.

Repository anzeigen
vor 6 TagenNoch 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

CVE-2016-5195: Dirty COW Linux-Kernel-Race-Condition

Defensive Forschung, nicht-weaponisierte Validierung und Patch-Analyse für CVE-2016-5195 (Dirty COW), eine Copy-on-Write-Race-Condition im Linux-Kernel, die es einem lokalen Benutzer ermöglichen kann, Daten zu verändern, die mit einem schreibgeschützten Mapping verknüpft sind, und erhöhte Privilegien zu erlangen.

FeldWert
KomponenteLinux-Kernel-Speicherverwaltung / get_user_pages()
SchwachstelleCWE-362: Concurrent Execution using Shared Resource with Improper Synchronization
SchweregradHoch, CVSS 3.1: 7.0
VektorCVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
AngriffsvoraussetzungLokaler Zugriff mit niedrigen Privilegien
Upstream-Korrektur19be0eaffa3ac7d8eb6784ad9bdbc7d67ed8e619
Erste korrigierte Upstream-VersionLinux 4.8.3; Distribution-Backports variieren

Überblick

Dirty COW ist eine Race-Condition in der Behandlung von erzwungenen Schreibvorgängen und Copy-on-Write-Mappings (COW) des Linux-Kernels. Ein lokaler Benutzer kann die Seiteninvalidierung gegen einen Schreibvorgang über /proc/self/mem ausspielen. Auf einem betroffenen Kernel kann die Race-Condition dazu führen, dass Daten, die mit einem nominell schreibgeschützten privaten Mapping verknüpft sind, zurück in die zugrunde liegende Datei geschrieben werden.

Die öffentliche Auswirkung ist eine lokale Privilegienausweitung, wenn ein Angreifer die Primitive auf eine sicherheitsrelevante Datei anwenden kann. Die Schwachstelle wurde im Oktober 2016 in freier Wildbahn ausgenutzt. Dieses Repository automatisiert diesen Pfad zur Privilegienausweitung nicht.

Repository-Aufbau

Sicheres Validierungs-Harness

Das Standard-Harness ist absichtlich eingeschränkt:

  • es akzeptiert keinen Zielpfad und keine vom Angreifer kontrollierte Nutzlast;
  • es erstellt eine temporäre Datei mit Modus 0600 und entfernt deren Verknüpfung sofort;
  • es bringt nur den noch geöffneten Wegwerf-Inode in einen Wettlauf;
  • es stellt keine Netzwerkverbindung her und führt keinen Befehl aus; und
  • es meldet einen festen, harmlosen Marker.

Erstellen

root@kitploit:~
cc -std=c11 -Wall -Wextra -Wpedantic -Werror -O2 \
  poc.c -o dirtycow-safe -pthread

Die rein auf das Labor beschränkte Exploit-Primitive kann separat erstellt werden:

root@kitploit:~
cc -std=c11 -Wall -Wextra -Wpedantic -Werror -O2 \
  exploit.c -o dirtycow-exploit -pthread

Ausführen auf einem isolierten Linux-Testsystem

root@kitploit:~
./dirtycow-safe

Optionale begrenzte Iterationsanzahl:

root@kitploit:~
./dirtycow-safe --iterations 5000000

Mögliche Ergebnisse:

  • marker-observed: anfälliges Verhalten wurde auf dem Wegwerf-Inode beobachtet.
  • marker-not-observed: nicht schlüssig. Eine nicht ausgelöste Race-Condition beweist nicht, dass der Kernel korrigiert ist.
  • Exitcode 77: die erforderliche Linux-Schnittstelle /proc/self/mem ist nicht verfügbar.

Verwenden Sie das PoC-Ergebnis nicht als primäre Prüfung des Patch-Status. Konsultieren Sie das Kernel-Paket-Advisory für die laufende Distribution und verifizieren Sie, dass der gepatchte Kernel nach einem Neustart aktiv ist.

Exploit-Primitive

exploit.c akzeptiert eine explizite Datei und ein Ersetzungspräfix und demonstriert die Schreibprimitive für beliebige Dateien auf einem betroffenen Kernel. Es erfordert die wörtliche Bestätigung --i-understand, wendet begrenzte Nutzlast- und Iterationslimits an und erstellt keine Nutzlast zur Privilegienausweitung.

Die ausgewählte Datei kann dauerhaft verändert werden. Verwenden Sie sie nur in einem isolierten Wegwerf-Labor, das Ihnen gehört oder für das Sie ausdrücklich zum Testen autorisiert sind. Die vollständige Analyse der Race-Condition und des Zustandsübergangs finden Sie in ROOT_CAUSE.md.

Nachweise

evidence/evidence.json hält die Quellsignaturen fest, die in den offiziellen Linux-Versionen vor und nach dem Fix beobachtet wurden, das warnungsfreie PoC-Build-Ergebnis und die Sicherheitseigenschaften der Validierung. evidence/validation.log liefert eine prägnante Zusammenfassung. Die erfasste Validierung hat die Race-Condition nicht ausgeführt.

Behebung

Installieren Sie das vom Hersteller bereitgestellte Kernel-Update und starten Sie in den gepatchten Kernel neu. Entscheiden Sie über die Gefährdung nicht allein anhand der Upstream-Versionszeichenfolge: Enterprise- und Distributions-Kernel portieren den Fix häufig zurück, ohne die Upstream-Versionsnummer zu übernehmen. Container verwenden den Host-Kernel, daher muss die Behebung den Host abdecken.

Siehe PATCH_ANALYSIS.md für die genaue Upstream-Änderung und VULNERABILITY_REPORT.md für Hinweise zur Validierung.

Referenzen

  • NVD: CVE-2016-5195
  • Linux-Upstream-Fix
  • Linux-4.8.3-Changelog
  • CISA-Katalog bekannter ausgenutzter Schwachstellen
  • Red-Hat-CVE-Eintrag

Verwenden Sie dieses Material nur auf Systemen, die Ihnen gehören oder für die Sie ausdrücklich zum Testen autorisiert sind.

Tool herunterladen
PfadZweck
poc.cNicht-weaponisierte Validierung, die ausschließlich einen unverlinkten temporären Inode verwendet
exploit.cSchreibprimitive für beliebige Dateien für ein autorisiertes Wegwerf-Labor
ROOT_CAUSE.mdDetaillierte Analyse des anfälligen Zustandsübergangs und der Race-Condition
VULNERABILITY_REPORT.mdVorbedingungen, Grundursache, Auswirkungen und Behebung
PATCH_ANALYSIS.mdAnalyse auf Zeilenebene der Upstream-Korrektur FOLL_COW
evidence/Strukturierte Validierungsausgabe und Hinweise zur Interpretation