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.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
r0ak — Windows-Befehlszeilen-Dienstprogramm zum Lesen, Schreiben und Ausführen von Kernel-Mode-Code aus dem Administrator-Kontext mithilfe einer Font-Validierungs-Execution-Redirection-Technik, die erweitertes Kernel-Debugging und System-Fehlerbehebung ermöglicht. | Kitploit
Tools/GitHubGitHub/harryanon/r0ak
Privilege EscalationSpeicherforensikSchwachstellenanalyseExploitationDebuggerPost-ExploitationPenetrationstestsBinary-Exploitation
GitHubharryanon/r0ak

r0ak

Windows-Befehlszeilen-Dienstprogramm zum Lesen, Schreiben und Ausführen von Kernel-Mode-Code aus dem Administrator-Kontext mithilfe einer Font-Validierungs-Execution-Redirection-Technik, die erweitertes Kernel-Debugging und System-Fehlerbehebung ermöglicht.

1087317vor 8 JahrenVon 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
Repository anzeigen

r0akDownloads

r0ak ist ein Windows-Befehlszeilenprogramm, mit dem Sie bequem über die Eingabeaufforderung Kernel-Mode-Code lesen, schreiben und ausführen können (mit einigen Einschränkungen) – ohne dass etwas anderes als Administratorrechte erforderlich ist.

Kurzübersicht

r0ak v1.0.0 -- Ring 0 Army Knife
http://www.github.com/ionescu007/r0ak
Copyright (c) 2018 Alex Ionescu [@aionescu]
http://www.windows-internals.com

VERWENDUNG: r0ak.exe
       [--execute <Adresse | module.ext!funktion> <Argument>]
       [--write   <Adresse | module.ext!funktion> <Wert>]
       [--read    <Adresse | module.ext!funktion> <Größe>]

Screenshot

Einführung

Motivation

Der Windows-Kernel ist eine reichhaltige Umgebung, in der auf einem typischen System hunderte Treiber ausgeführt werden und in der tausende Variablen mit globalem Zustand vorhanden sind. Für fortgeschrittene Fehlerbehebung nutzen IT-Experten typischerweise Werkzeuge wie den Windows-Debugger (WinDbg), SysInternals-Tools oder schreiben eigene. Leider wird die Nutzung dieser Tools zunehmend schwieriger, und sie sind selbst durch ihren eigenen Zugriff auf Windows-APIs und bereitgestellte Funktionen eingeschränkt.

Zu den heutigen Herausforderungen gehören:

  • Windows 8 und höher unterstützen Secure Boot, was Kernel-Debugging (einschließlich lokalem Debugging) und das Laden von test-signiertem Treibercode verhindert. Dies schränkt Fehlerbehebungswerkzeuge auf solche ein, die einen signierten Kernel-Mode-Treiber besitzen.
  • Selbst auf Systemen ohne aktiviertem Secure Boot führt das Aktivieren von lokalem Debugging oder das Ändern von Startoptionen, die Debugging-Funktionen erleichtern, häufig zur Auslösung des BitLocker-Wiederherstellungsmodus.
  • Das Windows 10 Anniversary Update und höher enthält viel strengere Anforderungen an die Treibersignatur, die jetzt eine Microsoft EV Attestation Signierung vorschreiben. Dies schränkt die Freiheit von Softwareentwicklern ein, da generische "Lese-Schreibe-Alles"-Treiber nicht gerne gesehen werden.
  • Das Windows 10 Spring Update enthält nun kundenseitige Optionen zur Aktivierung von HyperVisor Code Integrity (HVCI), was die zulässigen Treiber weiter einschränkt und mehrere Drittanbieter-Treiber auf die schwarze Liste setzt, die aufgrund schlecht geschriebener Schnittstellen und Sicherheitsrisiken "Lese-Schreibe-Alles"-Fähigkeiten hatten.
  • Technologien wie Supervisor Mode Execution Prevention (SMEP), Kernel Control Flow Guard (KCFG) und HVCI mit Second Level Address Translation (SLAT) machen traditionelle Ring-0-Ausführungs-"Tricks" obsolet, sodass ein neuer Ansatz erforderlich ist.

In einer solchen Umgebung war klar, dass ein einfaches Werkzeug, das als Notfall-Pflaster/Hotfix verwendet werden kann und zur schnellen Fehlerbehebung von Kernel-/Systemebenenproblemen dient, die durch die Analyse des Kernel-Zustands offensichtlich werden, für die Community wertvoll sein könnte.

Funktionsweise

Grundlegende Architektur

Diagramm

r0ak funktioniert, indem es den Ausführungsfluss der vertrauenswürdigen Schriftart-Validierungsprüfungen des Fenstermanagers umleitet, wenn versucht wird, eine neue Schriftart zu laden. Dazu wird die Comparator-Routine der vertrauenswürdigen Schriftarttabelle durch eine alternative Funktion ersetzt, die ein im Eingabeknoten gespeichertes Executive Work Item (WORK_QUEUE_ITEM) plant. Anschließend wird der rechte Kindknoten der vertrauenswürdigen Schriftarttabelle (der als Wurzelknoten dient) mit dem Schreibpuffer eines Named Pipes (NP_DATA_ENTRY) überschrieben, in dem ein benutzerdefiniertes Work Item gespeichert ist. Die zugrundeliegende Worker-Funktion dieses Items und ihr Parameter werden schließlich von einem dedizierten ExpWorkerThread auf PASSIVE_LEVEL ausgeführt, sobald ein Schriftartladevorgang versucht wird und die Comparator-Routine ausgeführt wird, die den Named-Pipe-gestützten Elternknoten als Eingabe erhält. Ein Echtzeit-Event Tracing for Windows (ETW)-Ablaufverfolgungsereignis wird verwendet, um eine asynchrone Benachrichtigung zu erhalten, dass das Work Item die Ausführung abgeschlossen hat, was es sicher macht, die Strukturen abzubauen, die Kernel-Mode-Puffer freizugeben und den normalen Betrieb wiederherzustellen.

Unterstützte Befehle

Bei Verwendung der Option --execute werden diese Funktion und dieser Parameter vom Benutzer bereitgestellt.

Bei Verwendung von --write wird ein benutzerdefinierter Gadget verwendet, um beliebige 32-Bit-Werte an beliebigen Stellen im Kernel-Speicher zu ändern.

Bei Verwendung von --read wird der Schreib-Gadget verwendet, um den HSTI-Pufferzeiger und die -Größe des Systems zu ändern (Achtung: Dies ist destruktiv im Hinblick auf andere Anwendungen, die die HSTI-Daten anfordern. Da es sich um optionales Windows-Verhalten handelt und dieses Werkzeug für die Notfall-Fehlerbehebung/Experimente gedacht ist, wurde dieser Datenverlust als akzeptabel angesehen). Anschließend wird die HSTI-Abfrage-API verwendet, um die Daten zurück in den Benutzermodus-Adressraum des Tools zu kopieren, und es wird eine Hex-Dump angezeigt.

Da ausschließlich integrierte, von Microsoft signierte Windows-Funktionalität verwendet wird und alle aufgerufenen Funktionen Teil der KCFG-Bitmap sind, gibt es keine Verletzung von Sicherheitsprüfungen, und es sind keine Debugging-Flags oder die Verwendung schlecht geschriebener Drittanbieter-Treiber erforderlich.

FAQ

Ist dies ein Fehler/eine Sicherheitslücke in Windows?

Nein. Da dieses Tool – und die zugrundeliegende Technik – ein SYSTEM-privilegiertes Token erfordern, das nur von einem Benutzer erlangt werden kann, der unter dem Administratorkonto arbeitet, werden keine Sicherheitsgrenzen umgangen, um den Effekt zu erzielen. Das Verhalten und die Nützlichkeit des Tools sind nur aufgrund des erhöhten/privilegierten Sicherheitskontexts des Administratorkontos unter Windows möglich und werden als verhaltensbedingtes Design angesehen.

Wurde Microsoft über dieses Verhalten informiert?

Natürlich! Es ist wichtig, Sicherheitsprobleme immer bei Microsoft zu melden, auch wenn keine Verletzung privilegierter Grenzen aufgetreten zu sein scheint – ihre Teams von Forschern und Entwicklern könnten neuartige Vektoren und Wege finden, um bestimmte Codepfade zu erreichen, an die ein externer Forscher möglicherweise nicht gedacht hat.

Daher wurde im November 2014 ein Sicherheitsfall beim Microsoft Security Research Centre (MSRC) eingereicht, der wie folgt antwortete: "[…] fällt nicht in den Bereich eines Sicherheitsproblems, das wir über unser traditionelles Security Bulletin-Fahrzeug behandeln würden. Es […] setzt Administratorrechte voraus – einen Ort, an dem wir architektonisch derzeit keine verteidigbare Sicherheitsgrenze definieren. Daher werden wir dies nicht zur Behebung verfolgen."

Darüber hinaus wurde im April 2015 auf der Infiltrate-Konferenz ein Vortrag mit dem Titel Insection : AWEsomely Exploiting Shared Memory Objects gehalten, der dieses Problem detailliert darlegte, auch gegenüber anwesenden Microsoft-Entwicklern, die zustimmten, dass dies derzeit außerhalb des Rahmens der architektonischen Sicherheitsgrenzen von Windows liege. Dies liegt daran, dass es buchstäblich Dutzende – wenn nicht mehr – anderer Möglichkeiten gibt, mit denen ein Administrator Ring-0-Speicher lesen/schreiben/ausführen kann. Dieses Tool ermöglicht lediglich eine einfache Kommerzialisierung eines solchen Vektors zum Zwecke der Fehlerbehebung und Problemdiagnose von Systemproblemen.

Kann dies nicht als Teil eines End-to-End-Angriffs-/Exploit-Kits verpackt werden?

Tool herunterladen