Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
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
MSRKit — Ein Konzept zur Verwendung einer ROP-Kette in Kombination mit einem WRMSR-Primitiv, um Kernelfunktionen aufzurufen und unsignierte Treiber über BYOVD (AmdTools64.sys) zu laden | Kitploit
Tools/GitHubGitHub/rurixis/msrkit
Privilege EscalationExploitationReverse EngineeringShellcodePost-ExploitationRed TeamingPayload-EntwicklungBinary-Exploitation
GitHubrurixis/msrkit

MSRKit

Ein Konzept zur Verwendung einer ROP-Kette in Kombination mit einem WRMSR-Primitiv, um Kernelfunktionen aufzurufen und unsignierte Treiber über BYOVD (AmdTools64.sys) zu laden

Repository anzeigen
9135vor 2 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

MSRKit

Ein Tool zum Aufrufen von Kernel-Funktionen und zum Mappen von Treibern über eine ROP-Kette mittels eines wrmsr-Primitives in einem verwundbaren Treiber (AmdTools64.sys).

Funktionsweise

  1. Lädt AmdTools64.sys über NtLoadDriver (fällt auf PnP-Devnode + GUID-basierte Geräteschnittstelle zurück, falls der Symlink nicht verfügbar ist)
  2. Liest IA32_LSTAR über den MSR-Read-IOCTL des Treibers (0xFFF02804)
  3. Durchsucht ntoskrnl.exe nach ROP-Gadgets (pop rcx; ret, mov cr4, rcx; ret, wbinvd; ret, usw.)
  4. Überschreibt IA32_LSTAR mit dem Entry-Gadget, löscht AC in FMASK und führt syscall aus
  5. Die ROP-Kette löscht die SMEP/SMAP-Bits in CR4, führt die Zielfunktion auf dem Kernel-Stack aus, stellt CR4 und LSTAR wieder her und kehrt über sysretq in den User-Modus zurück

Das Treiber-Mapping folgt demselben Pfad: Es wird ein Kernel-Pool über ExAllocatePoolWithTag alloziert, das vorbereitete PE-Image kopiert (Relocations angewendet, Imports aufgelöst, Security-Cookie gepatcht) und der gemappte Entry-Point aufgerufen.

Verwendung

CLI

root@kitploit:~
msrkit <driver.sys> call    <ExportName> [args...]
msrkit <driver.sys> call_at <address>    [args...]
msrkit <driver.sys> map     <unsigned.sys> [entry args...]
msrkit <driver.sys> unmap   <address>
  • call -- löst einen benannten ntoskrnl-Export auf und ruft ihn auf. Argumente werden als Integer geparst (Hex mit 0x-Präfix). Gibt den Rückgabewert aus.
  • call_at -- ruft eine beliebige virtuelle Kernel-Adresse auf.
  • map -- mappt einen unsignierten Treiber in den Nonpaged Pool und ruft dessen Entry-Point auf (ExAllocatePoolWithTag). Gibt die gemappte Basisadresse aus.
  • unmap -- gibt einen zuvor gemappten Treiber an der angegebenen Basisadresse frei.

Bibliothek

root@kitploit:~
#include "msrkit.h"

#pragma comment(lib, "msrkit.lib")

int main()
{
	MSRK::INIT(L"AmdTools64.sys");

	void* mptr = MSRK::CALL("ExAllocatePool2", 0x40ULL, 0x1000, 'Ruri');
	std::cout << "Memory allocate: " << mptr << std::endl;

	auto mptr23 = MSRK::MAP("driver.sys", 123, 456);
	std::cout << "Driver mapped: " << std::hex << (uintptr_t)mptr23 << "\n";

	// raw call
	std::vector<uint64_t>args = { 0x40ULL, 1024, 'Tagz' };
	void* mptr24 = MSRK::M_FUNCTION::CALL("ExAllocatePool2", args.data(), args.size());
	std::cout << "raw memory alloc : " << mptr24 << std::endl;

	std::vector<uint64_t>args2 = { 123, 456 };
	auto mptr25 = MSRK::M_DRIVERMAP::MAP( "driver.sys", args2.data(), args2.size() );

	MSRK::UNMAP(mptr23);	
	MSRK::CLEANUP();
}

Optional kann ein vorhandenes Treiber-Handle übergeben werden, um das Laden zu überspringen:

root@kitploit:~
MSRK::INIT("AmdTools64.sys", existing_handle);

Build

Erfordert Visual Studio mit MSVC (v143+) und MASM (ml64.exe).

root@kitploit:~
cmake -B build -G "Visual Studio 17 2022" -A x64
cmake --build build --config Release

Ausgabe: build/Release/msrkit.exe (CLI) und msrkit.lib (statische Bibliothek).

CFG ist deaktiviert (/guard:cf-). Stack-Cookies (/GS) sind aktiviert.

Funktionen

  • Vollständige Unterstützung für alle Windows 10- und 11-Builds
  • Kompatibel mit KPTI
  • Keine HVCI-Unterstützung (HVCI muss deaktiviert sein)
  • Unterstützung für PnP- / Non-PnP-Treiber

Einschränkungen

  • Nur Single-Core-Ausführung -- der Thread wird während Kernel-Aufrufen an CPU 0 gebunden
  • Gleichzeitige LSTAR-Hijacks aus separaten Prozessen führen zu einem BSOD (nur ein Aufrufer gleichzeitig)
  • Zw/Nt-Syscall-Stubs können nicht aus dem LSTAR-Kontext aufgerufen werden (führt zu einem erneuten Eintritt in KiSystemService)
Tool herunterladen