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-2025-7771 — ThrottleStop.sys – beliebiger physischer Speicher-Lese-/Schreibzugriff | Kitploit
Tools/GitHubGitHub/enessakircolak/cve-2025-7771
Privilege EscalationSchwachstellenanalyseExploitationIDS/IPS-UmgehungPenetrationstestsRed Teaming
GitHubenessakircolak/cve-2025-7771

CVE-2025-7771

ThrottleStop.sys – beliebiger physischer Speicher-Lese-/Schreibzugriff

Repository anzeigen
237vor 1 MonatNoch 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-2025-7771 — ThrottleStop.sys Beliebiger physischer Speicher-Lese-/Schreibzugriff

Vollständiger Proof-of-Concept für den TechPowerUp-ThrottleStop.sys-Treiber (CVE-2025-7771). Ein signierter, weiterhin ladbarer Kernel-Treiber legt über zwei IOCTLs unvalidierte physische Speicher-Lese- und -Schreibzugriffe offen. Dieses Repository verwandelt diese Primitive in eine funktionierende lokale Privilege-Escalation von Administrator zu SYSTEM und dokumentiert eine Besonderheit bei der Benennung von Geräten, die die meisten pfad- und dateinamenbasierten Erkennungen aushebelt.

Ein PoC für dieselben IOCTLs existierte bereits (siehe Credits). Dies ist eine unabhängige, vollständige Exploit-Kette und keine bloße Demonstration der Primitive.

Betroffener Treiber

FeldWert
SHA25616F83F056177C4EC24C7E99D01CA9D9D6713BD0497EEEDB777A3FFEFA99C97F0
SHA182ED942A52CDCF120A8919730E00BA37619661A3
MD56BC8E3505D9F51368DDF323ACB6ABC49
Version3.0.0.0 ("Low-Level Driver", 2004-2020)
UnterzeichnerTechPowerUp LLC, DigiCert EV Code Signing
Zertifikats-Fingerabdruck524EDA9C819321C66E22C7BABEB23DAEAFFB2182
Zertifikatsgültigkeit2019-08-10 bis 2022-06-15

Das Zertifikat ist 2022 abgelaufen, aber die Signatur trägt einen vertrauenswürdigen Zeitstempel einer Gegensignatur, sodass Windows es weiterhin lädt. Eine Sperrung hilft nur, wenn ihr Datum vor dem Signierungszeitpunkt liegt, was bei alten Treibern wie diesem selten der Fall ist.

Die Versionsressource enthält weder CompanyName, OriginalFilename noch InternalName, daher kann die Datei anhand ihrer eigenen Metadaten keinem Hersteller zugeordnet werden.

Der Fehler

Zwei IOCTLs lesen und schreiben physischen Speicher ohne Grenz- oder Adressvalidierung:

IOCTLOperation
0x80006498Physisches Lesen
0x8000649CPhysisches Schreiben

Beide verwenden METHOD_BUFFERED, es gibt also keine Dereferenzierung von Benutzerzeigern; der Fehler ist die fehlende Validierung der vom Aufrufer gelieferten physischen Adresse, nicht ein ungeprüfter Zeiger.

Erwähnenswert: Der Schreib-Handler 0x8000649C ist als FILE_READ_ACCESS deklariert. Ein Handle, das nur mit Lesezugriff geöffnet wurde, kann weiterhin physische Schreibzugriffe auslösen. Die deklarierte Zugriffsmaske entspricht also nicht dem, was der Handler tatsächlich tut.

Auswirkungen

Das Öffnen des Geräts erfordert Administratorrechte, stellt also für sich genommen keine Überwindung einer Privilegiengrenze dar. Was es einem Angreifer, der bereits Admin ist, verschafft, ist ein beliebiger Kernel-Lese-/Schreibzugriff aus dem Benutzermodus. Damit werden die Schutzmechanismen ausgehebelt, die oberhalb von Admin greifen sollen: HVCI-Codeintegrität, PPL und der Selbstschutz von EDR/AV. Klassischer Bring-your-own-Vulnerable-Driver.

Als konkrete Demonstration nutzt der PoC die Lese-/Schreib-Primitive, um das SYSTEM-Token zu stehlen und eine SYSTEM-Shell zu starten.

CVSS 4.0: AV:L/AC:H/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H (8.7, Hoch).

Wie der Exploit funktioniert

Alles läuft aus dem Benutzermodus gegen die physischen Lese-/Schreib-IOCTLs des Treibers. Es gibt weder Page-Table-Walking noch CR3; beide Prozesse werden durch direktes Scannen des physischen Speichers gefunden:

  1. SYSTEM finden. Scannt den physischen Speicher nach einem EPROCESS, dessen ImageFileName System und dessen UniqueProcessId 4 ist. Der Scan ist auf die belegten RAM-Bereiche begrenzt, die aus dem Registrierungsschlüssel HARDWARE\RESOURCEMAP\...\Physical Memory der Firmware gelesen werden, nicht auf ein geratenes Fenster. So werden MMIO-Lücken nie berührt und nichts oberhalb des installierten RAMs übersehen.
  2. SYSTEM-Token lesen. Das Token-Feld (EPROC_TOKEN) aus dem gefundenen EPROCESS lesen.
  3. Unseren Prozess finden. Den physischen Speicher auf dieselbe Weise nach dem eigenen EPROCESS des PoCs durchsuchen, den Imagenamen als 8-Byte-Muster abgleichen und mit der PID bestätigen.
  4. Token austauschen. Den Wert des SYSTEM-Tokens in unseren eigenen Token-Slot schreiben. Das Token ist ein _EX_FAST_REF, daher werden die niedrigen Referenzzähl-Bits standardmäßig maskiert (--mask wählt das Verhalten).
  5. Beweisen. cmd.exe starten; whoami liefert .

Offsets (EPROC_TOKEN, EPROC_PID, EPROC_IMG_NAME, usw.) gelten für einen bestimmten Build und müssen gegen dt nt!_EPROCESS auf der Ziel-Windows-Version bestätigt werden.

Der Name der ausführbaren Datei ist wichtig. Schritt 3 findet unseren eigenen Prozess, indem er dessen ImageFileName im physischen Speicher abgleicht; dieses Feld ist auf 15 Zeichen begrenzt, wobei der Scan die ersten 8 abgleicht. Halten Sie den kompilierten Namen kurz und markant; wenn Sie die Binärdatei umbenennen, bleiben Sie innerhalb dieses Limits, sonst findet der Selbstscan den Prozess nicht.

Gerätename ist vom Angreifer kontrolliert

Der Treiber verwendet keinen festen Gerätenamen. Er leitet den Namen des Geräteobjekts vom Dienstnamen ab, unter dem er registriert ist; der Dateiname auf der Festplatte ist irrelevant. Wenn die Binärdatei unter dem Dienst TRIXX registriert wird, ergibt sich \\.\TRIXX, egal wie die Datei auf der Festplatte heißt.

Daher lässt sich jede Erkennung, die auf \Device\ThrottleStop oder ThrottleStop.sys basiert, trivial umgehen. Die Erkennung muss auf dem Dateihash oder dem Signaturzertifikat beruhen:

root@kitploit:~
SHA256:     16F83F056177C4EC24C7E99D01CA9D9D6713BD0497EEEDB777A3FFEFA99C97F0
Thumbprint: 524EDA9C819321C66E22C7BABEB23DAEAFFB2182
Subject:    CN=TechPowerUp LLC, O=TechPowerUp LLC, L=Spokane, S=Washington, C=US

Die Liste DEVICE_NAMES im Quellcode dient nur als Sonde für bekannte Produktinstallationen. Übergeben Sie einen Gerätenamen als Argument, um einen Dienst anzusteuern, den Sie selbst registriert haben.

Verwandte TechPowerUp-Treiber

CVETreiber
CVE-2019-7245GPU-Z.sys
CVE-2025-5324GPU-Z.sys
CVE-2025-7771ThrottleStop.sys (dieses Repository)

Der Treiber ist nicht enthalten

Die Binärdatei wird hier nicht mitgeliefert. Überprüfen Sie jede Kopie anhand der obigen SHA256. Das Exemplar ist in LOLDrivers katalogisiert.

Erstellen

root@kitploit:~
cl /nologo /EHsc /W4 /O2 src\ThrottleStop.cpp /Fe:myLittleLpe.exe /link advapi32.lib

Verwendung

Nur für den Laboreinsatz. In einer isolierten VM mit einem Snapshot ausführen, auf den zurückgesetzt werden kann.

root@kitploit:~
sc.exe create <name> type= kernel binPath= C:\path\to\ThrottleStop.sys
sc.exe start <name>

myLittleLpe.exe

sc.exe stop <name>
sc.exe delete <name>

Die Binärdatei akzeptiert keine Argumente. Sie gibt die physische Speicherkarte aus, sucht nach dem SYSTEM- und dem lokalen EPROCESS, tauscht das Token und startet cmd.exe mit den Rechten von NT AUTHORITY\SYSTEM.

Demo

myLittleLpe.exe-Ausführung mit physischer Speicherkarte, EPROCESS-Scan, Token-Austausch und einer SYSTEM-Shell

Andere PoCs und frühere Arbeiten

Andere öffentliche Arbeiten zu demselben Treiber, zum Vergleich:

  • Demoo1337/ThrottleStop — früherer PoC für dieselben IOCTLs
  • xM0kht4r/CVE-2025-7771 — physischer Lese-/Schreibzugriff plus VA-zu-PA über Superfetch
  • AmrHuss/throttlestop-exploit-rw — physischer Lese-/Schreibzugriff mit Superfetch-Adressübersetzung
  • v31l0x1/ThrottleStopPPL — Umgehung des PPL-Schutzes
  • Yuri08loveElaina/CVE-2025-7771 — eine weitere Implementierung

Danksagungen

  • LOLDrivers — Katalogisierung verwundbarer Treiber

Haftungsausschluss

Veröffentlicht für defensive Forschung und Erkennungsentwicklung. Die Schwachstelle ist bereits als CVE-2025-7771 öffentlich. Alles hier wurde auf Systemen getestet, die dem Autor gehören. Führen Sie dies nicht gegen Systeme aus, die Ihnen nicht gehören oder für die Sie nicht zum Testen autorisiert sind.

Tool herunterladen
NT AUTHORITY\SYSTEM