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
CIMplant — C#-Port von WMImplant, der entweder CIM oder WMI verwendet, um entfernte Systeme abzufragen. | Kitploit
Tools/GitHubGitHub/redsiege/cimplant
Laterale BewegungInformationsbeschaffungPost-ExploitationPenetrationstestsCommand and ControlRed TeamingRemote-Access-Tool
GitHubredsiege/cimplant

CIMplant

C#-Port von WMImplant, der entweder CIM oder WMI verwendet, um entfernte Systeme abzufragen.

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

CIMplant

C#-Port von WMImplant, das entweder CIM oder WMI verwendet, um entfernte Systeme abzufragen. Es können bereitgestellte Anmeldeinformationen oder die aktuelle Benutzersitzung verwendet werden.

Hinweis: Einige Befehle verwenden PowerShell in Kombination mit WMI, gekennzeichnet mit ** im Befehl --show-commands.

Einleitung

CIMplant ist eine C#-Neufassung und Erweiterung von @christruncer's WMImplant. Es ermöglicht das Sammeln von Daten über ein entferntes System, das Ausführen von Befehlen, das Exfiltrieren von Daten und mehr. Das Tool erlaubt Verbindungen mithilfe von Windows Management Instrumentation, WMI, oder Common Interface Model, CIM; genauer gesagt Windows Management Infrastructure, MI. CIMplant erfordert lokale Administratorberechtigungen auf dem Zielsystem.

Einrichtung:

Am einfachsten ist es wahrscheinlich, die erstellte Version unter Releases zu verwenden. Beachten Sie jedoch, dass sie im Debug-Modus kompiliert ist. Wenn Sie die Lösung selbst erstellen möchten, folgen Sie den nachstehenden Schritten.

  1. Laden Sie CIMplant.sln in Visual Studio
  2. Gehen Sie zu "Build" oben und dann "Build Solution", wenn keine Änderungen gewünscht sind

Verwendung

root@kitploit:~
CIMplant.exe --help
CIMplant.exe --show-commands
CIMplant.exe --show-examples
CIMplant.exe -s [remote IP address] -c cat -f c:\users\user\desktop\file.txt
CIMplant.exe -s [remote IP address] -u [username] -d [domain] -p [password] -c cat -f c:\users\test\desktop\file.txt
CIMplant.exe -s [remote IP address] -u [username] -d [domain] -p [password] -c command_exec --execute "dir c:\\"

Funktionen

Dateioperationen:

root@kitploit:~
cat                          -  Liest den Inhalt einer Datei
copy                         -  Kopiert eine Datei von einem Ort zum anderen
download**                   -  Lädt eine Datei vom Zielcomputer herunter
ls                           -  Datei-/Verzeichnisauflistung eines bestimmten Verzeichnisses
search                       -  Sucht nach einer Datei auf einem Benutzer
upload**                     -  Lädt eine Datei auf den Zielcomputer hoch

Laterale Bewegungsunterstützung

root@kitploit:~
command_exec**               -  Führt einen Befehlszeilenbefehl aus und erhält die Ausgabe. Mit dem nops-Flag ausführen, um PowerShell zu deaktivieren
disable_wdigest              -  Setzt den Registrierungswert für UseLogonCredential auf Null
enable_wdigest               -  Fügt den Registrierungswert UseLogonCredential hinzu
disable_winrm**              -  Deaktiviert WinRM auf dem Zielsystem
enable_winrm**               -  Aktiviert WinRM auf dem Zielsystem
reg_mod                      -  Ändert die Registrierung auf dem Zielcomputer
reg_create                   -  Erstellt den Registrierungswert auf dem Zielcomputer
reg_delete                   -  Löscht die Registrierung auf dem Zielcomputer
remote_posh**                -  Führt ein PowerShell-Skript auf einem entfernten Computer aus und erhält die Ausgabe
sched_job                    -  Nicht implementiert wegen des Zugriffs auf eine veraltete API durch Win32_ScheduledJobs
service_mod                  -  Erstellt, löscht oder ändert Systemdienste

Prozessoperationen

root@kitploit:~
process_kill                 -  Beendet einen Prozess auf dem Zielcomputer anhand des Namens oder der Prozess-ID
process_start                -  Startet einen Prozess auf dem Zielcomputer
ps                           -  Prozessauflistung

Systemoperationen

root@kitploit:~
active_users                 -  Listet Domänenbenutzer mit aktiven Prozessen auf dem Zielsystem auf
basic_info                   -  Dient zur Auflistung grundlegender Metadaten über das Zielsystem
drive_list                   -  Listet lokale und Netzwerklaufwerke auf
ifconfig                     -  Ruft IP-Informationen von NICs mit aktiven Netzwerkverbindungen ab
installed_programs           -  Ruft eine Liste der installierten Programme auf dem Zielcomputer ab
logoff                       -  Meldet Benutzer vom Zielcomputer ab
reboot (or restart)          -  Startet den Zielcomputer neu
power_off (or shutdown)      -  Schaltet den Zielcomputer aus
vacant_system                -  Stellt fest, ob ein Benutzer nicht am System ist
edr_query                    -  Fragt das lokale oder entfernte System nach EDR-Anbietern ab

Protokolloperationen

root@kitploit:~
logon_events                 -  Identifiziert Benutzer, die sich an einem System angemeldet haben

* Alle PowerShell-Befehle können mit dem Flag --nops deaktiviert werden, obwohl einige Befehle dann nicht ausgeführt werden (Hoch-/Herunterladen, Aktivieren/Deaktivieren von WinRM)
** Kennzeichnet PowerShell-Nutzung (entweder über einen PowerShell-Runspace oder über die Win32_Process::Create-Methode)

Einige Beispielverwendungsbefehle

image

Cobalt Strike Execute-Assembly

Ich wollte CIMplant so codieren, dass es die Nutzung über Execute-Assembly ermöglicht, daher ist alles in einer ausführbaren Datei gepackt und wird reflektiv geladen. Sie sollten alle Befehle problemlos über Beacon ausführen können. Viel Spaß!

image

Wichtige Dateien

  1. Program.cs

Dies ist das Gehirn der Operation, der Treiber des Programms.

  1. Connector.cs

Hier werden die anfänglichen CIM-/WMI-Verbindungen hergestellt und an den Rest der Anwendung weitergegeben

  1. ExecuteWMI.cs

Der gesamte Funktionscode für die WMI-Befehle

  1. ExecuteCIM.cs

Der gesamte Funktionscode für die CIM (MI)-Befehle

Erkennung

Natürlich ist das Erste, worauf wir achten sollten, die anfängliche WMI- oder CIM-Verbindung. Im Allgemeinen verwendet WMI DCOM als Kommunikationsprotokoll, während CIM WSMan (oder WinRM) verwendet. Dies kann für CIM geändert werden, und in CIMplant ist es auch, aber gehen wir vorerst nur auf die Standardwerte ein. Bei DCOM können wir zunächst nach initialen TCP-Verbindungen über Port 135 suchen. Das verbindende und das empfangende System einigen sich dann auf einen neuen, sehr hohen Port, der stark variieren wird. Bei WSMan erfolgt die initiale TCP-Verbindung über Port 5985.

Als nächstes sollten Sie im Ereignisprotokoll "Microsoft-Windows-WMI-Activity/Trace" in der Ereignisanzeige suchen. Suchen Sie nach Ereignis-ID 11 und filtern Sie nach Möglichkeit nach der Eigenschaft "IsLocal". Sie können auch nach Ereignis-ID 1295 im Analyselog "Microsoft-Windows-WinRM/Analytic" suchen.

Schließlich sollten Sie nach Änderungen an der Eigenschaft DebugFilePath mit der Klasse Win32_OSRecoveryConfiguration suchen. Ausführlichere Informationen zur Erkennung finden Sie in Teil 1 unserer Blogserie hier: CIMplant Part 1: Detection of a C# Implementation of WMImplant

Tool herunterladen