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
RDPCredentialStealer — Windows-Implant, das RDP-Anmeldeinformationen via API-Hooking (Detours) und DLL-Injection stiehlt, Benutzernamen und Passwörter in eine Datei für die Post-Exploitation im Red Team erfasst. | Kitploit
Tools/GitHubGitHub/s12cybersecurity/rdpcredentialstealer
Post-ExploitationRed Teaming
GitHubs12cybersecurity/rdpcredentialstealer

RDPCredentialStealer

Windows-Implant, das RDP-Anmeldeinformationen via API-Hooking (Detours) und DLL-Injection stiehlt, Benutzernamen und Passwörter in eine Datei für die Post-Exploitation im Red Team erfasst.

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

RDPCredentialStealer

RDPCredentialStealer ist ein Implantat, das von Benutzern in RDP bereitgestellte Anmeldedaten mittels API-Hooking mit Detours in C++ stiehlt

Proof-of-Concept-Tool für Anmeldedatendiebstahl

Versuchen wir es:

Zuerst übertrage ich die DLL aus dem GitHub-Repository in den Pfad C:\Users\Public\Music:

imagen

Jetzt öffne ich eine RDP-Connector-Windows-Anwendung:

imagen

Und jetzt führe ich die EXE aus dem GitHub-Repository aus:

imagen

Und wenn ich versuche, auf einen RDP-Server zuzugreifen:

imagen

Ich gebe den Benutzer: s12User und das Passwort: passwdtest ein

Und jetzt überprüfe ich die Datei:  C:\Users\Public\Music\RDPCreds.txt

imagen

Code

RDPCredStealerDLL:

Dieser Code ist eine Implementierung einer Hooking-Technik in C++ unter Verwendung der Detours-Bibliothek. Er zielt speziell auf die Funktion CredUnPackAuthenticationBufferW aus der Bibliothek credui.dll ab, die für das Entpacken von Authentifizierungspuffern zuständig ist, die bei Anmeldevorgängen verwendet werden. Lassen Sie uns den Code Schritt für Schritt aufschlüsseln:

  • Die erforderlichen Header-Dateien sind enthalten, wie windows.h, wincred.h, detours.h und andere.
  • Ein Funktionszeigertyp CredUnPackAuthenticationBufferW_t wird definiert, der die Signatur der ursprünglichen Funktion CredUnPackAuthenticationBufferW repräsentiert.
  • Der Funktionszeiger pCredUnPackAuthenticationBufferW wird deklariert, der verwendet wird, um die Adresse der ursprünglichen Funktion zu speichern.

Die Funktion MyCredUnPackAuthenticationBufferW wird implementiert und dient als Hook für die ursprüngliche Funktion. Sie wird aufgerufen, wenn die gehookedte Funktion aufgerufen wird. Diese Funktion ruft zunächst die ursprüngliche Funktion unter Verwendung des gespeicherten Funktionszeigers pCredUnPackAuthenticationBufferW auf. Dann konvertiert sie den abgerufenen Benutzernamen und das Passwort von Wide-Zeichenfolgen (LPWSTR) in UTF-8-kodierte Zeichenfolgen (std::string).

Schließlich öffnet sie eine Datei im Anhängemodus und schreibt den Benutzernamen und das Passwort hinein.

Die Funktion DllMain dient als Einstiegspunkt für die Hooking-DLL. Sie wird aufgerufen, wenn die DLL geladen oder entladen wird. Wenn ul_reason_for_call DLL_PROCESS_ATTACH ist, was anzeigt, dass die DLL geladen wird, lädt sie die Bibliothek credui.dll mit LoadLibraryA. Dann erhält sie die Adresse der ursprünglichen Funktion CredUnPackAuthenticationBufferW mit GetProcAddress. Bei Erfolg startet sie den Hooking-Prozess durch Aufruf von DetourTransactionBegin, DetourUpdateThread und DetourAttach.

Wenn ul_reason_for_call DLL_PROCESS_DETACH ist, was anzeigt, dass die DLL entladen wird, kehrt sie den Hooking-Prozess durch Aufruf von DetourTransactionBegin, DetourUpdateThread und DetourDetach um.

Der Zweck dieses Codes besteht darin, die Funktion CredUnPackAuthenticationBufferW zu hooken und die an sie übergebenen Anmeldedaten abzufangen, sodass der Hooking-Code den Benutzernamen und das Passwort extrahieren und in einer Datei protokollieren kann. Diese Technik kann böswillig verwendet werden, um vertrauliche Informationen wie RDP-Anmeldedaten zu erfassen, was ein erhebliches Sicherheitsrisiko darstellt.

Inject.h

Dieser Code stellt Funktionen zum Injizieren einer DLL (Dynamic Link Library) in einen Zielprozess im Windows-Betriebssystem bereit. Lassen Sie uns den Code aufschlüsseln und seine Funktionsweise verstehen:

  • Die erforderlichen Header-Dateien sind enthalten, wie windows.h, stdio.h und tlhelp32.h. Diese Header stellen die benötigten Funktionen und Datentypen für die Interaktion mit der Windows-API bereit.
  • Die Funktion getPIDbyProcName nimmt einen Prozessnamen als Eingabe und gibt die entsprechende Prozess-ID (PID) zurück. Sie verwendet die Funktion CreateToolhelp32Snapshot, um eine Momentaufnahme der aktuellen Prozesse zu erstellen, und durchläuft dann die Momentaufnahme mit den Funktionen Process32FirstW und Process32NextW, um den Prozess mit einem passenden Namen zu finden. Wenn gefunden, gibt sie die Prozess-ID zurück; andernfalls gibt sie 0 zurück.
  • Die Funktion DLLinjector nimmt eine Prozess-ID (pid) und einen DLL-Pfad als Eingabe. Sie injiziert die angegebene DLL in den Zielprozess. So funktioniert es: a. Sie öffnet den Zielprozess mit OpenProcess unter Verwendung des Flags PROCESS_ALL_ACCESS. b. Sie ruft das Handle des Kernel32-Moduls mit GetModuleHandleW ab. c. Sie erhält die Adresse der LoadLibraryW-Funktion innerhalb von Kernel32 mit GetProcAddress. d. Sie weist Speicher im Zielprozess mit VirtualAllocEx zu. e. Sie schreibt den DLL-Pfad in den zugewiesenen Speicher im Zielprozess mit WriteProcessMemory. f. Sie erstellt einen Remote-Thread im Zielprozess mit CreateRemoteThread und übergibt die Adresse von LoadLibraryW und den zugewiesenen Speicher als Parameter. g. Wenn die Thread-Erstellung erfolgreich ist, gibt sie true zurück, was anzeigt, dass die DLL-Injektion erfolgreich war. Die Hauptfunktion ist in diesem Codeausschnitt nicht enthalten. Sie können diese Funktionen in Ihrer eigenen Anwendung verwenden, um eine DLL in einen Zielprozess zu injizieren, indem Sie den Prozessnamen und den DLL-Pfad als Eingabe bereitstellen.

Bitte beachten Sie, dass DLL-Injektion eine Technik mit verschiedenen Anwendungen ist, darunter sowohl legitime Anwendungsfälle (wie Debugging und Erweiterung der Funktionalität) als auch böswillige Zwecke (wie das Injizieren von Malware oder das unbefugte Ändern des Verhaltens eines Prozesses). Seien Sie vorsichtig und stellen Sie sicher, dass Sie über die entsprechenden Genehmigungen und gesetzlichen Rechte verfügen, bevor Sie solche Techniken einsetzen.

Tool herunterladen