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.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-51585 — # rt26cx21x64.sys Exploit (Realtek PCIe GbE/2.5GbE/5GbE-Familie) | Kitploit
Tools/GitHubGitHub/catforgor/cve-2026-51585
SchwachstellenanalyseExploitationReverse EngineeringHardware- & IoT-SicherheitBinary-Exploitation
GitHubcatforgor/cve-2026-51585

CVE-2026-51585

# rt26cx21x64.sys Exploit (Realtek PCIe GbE/2.5GbE/5GbE-Familie)

Repository anzeigen
310vor 5 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

realtek poc

rt26cx21x64.sys Exploit (Realtek PCIe GbE/2.5GbE/5GbE-Familie)

Übersicht

OID 0xFF816871 bildet die MMIO-Bar des NICs in den virtuellen Adressraum des aufrufenden Prozesses ab, (MmLockedPagesSpecifyCache), erreichbar aus dem User-Mode über \.\RealTekCard{GUID}

Dieser IOCTL (0x0012C818) ist durch einen Registrierungswert (DrvMode=4) abgesichert.

Sobald wir MMIO-Registerzugriff haben, programmieren wir die TX/RX-Deskriptor-Ringe des NICs im Loopback-Modus, um beliebige physische Adressen zu lesen/schreiben (AllocateUserPhysicalPages liefert uns PFNs).

Reverse Engineering

IOCTL-Dispatch

IOCTL 0x12C008 (1230872) ist der erste verwundbare Dispatch-Zweig. 0x12C00C und 0x12C010 führen zu unterschiedlichen Pfaden, a5 trägt den IOCTL-Code durch die Switch-Anweisung

IOCTL-Dispatch

Modus-Gate

Bevor der DMA-Pfad erreicht wird, prüft der Treiber ein globales DrvMode-Flag, Bit 2 muss gesetzt sein, sonst erreichen wir den verwundbaren MMIO-Mapping-Pfad nie.

Modus-Gate-Prüfung

dword_1400D0208 und 4 ist die Prüfung

Schutzumgehung

Zwei Guards sitzen vor dem verwundbaren Pfad, beide müssen false ergeben, um in den DMA-Pfad zu gelangen. Diese sind ein Byte-Flag auf der Geräteerweiterung und die Modusprüfung im vorherigen Bild

Guard-Umgehung

!_(_BYTE _)(a1 + 12465) ist leicht zu umgehen, wir müssen nur sicherstellen, dass das Gerät nicht initialisiert ist.

sub_14001B67C ist ebenfalls trivial einfach.

MDL-Zuweisung

Der Treiber weist ein MDL über eine vom Aufrufer bereitgestellte physische Adresse ohne Validierung zu, es gibt keine Grenz- oder Bereichsvalidierung, absolut keine.

MDL-Zuweisung

Physisches Mapping

Das MDL wird in den Kernel-VA abgebildet und die Basisadresse wird dem Aufrufer übergeben, 0x40000010 ist MAP_NO_EXECUTE & MmNonCached.

MmMapLockedPages

MmMapLockedPagesSpecifyCache erzeugt den abgebildeten VA, der an *a2 geschrieben und an den User-Mode zurückgegeben wird. Dies gibt uns eine beliebige physische Lese-/Schreib-Primitive.

Anforderungen

  • Ein kompatibler Realtek-Adapter, der mit nic.h übereinstimmt.

Verwendung

Als Administrator ausführen.

Nach dem ersten Lauf werden die Registrierungswerte gesetzt und du musst deinen PC neu starten.

Damit dies funktioniert, muss dein NIC im Link-UP-Zustand sein (damit wir Deskriptoren verarbeiten können).

Entweder:

  • Ein Ethernet-Kabel an einen anderen PC, Router oder etwas anderes anschließen, das Link UP erzeugt

ODER

  • Pins 1-2 & 3-6 am RJ45-Port kurzschließen, um Link UP herzustellen

Build

root@kitploit:~
$ cmake -B build
$ cmake --build build --config Release

Hinweise

  • Ich habe die meisten interessanten Dinge entfernt (cr3, Stomping, usw., usw.), aber dies ist der Basis-POC
Tool herunterladen