Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CIMplant — Porting in C# di WMImplant che utilizza CIM o WMI per interrogare sistemi remoti | Kitploit
Strumenti/GitHubGitHub/redsiege/cimplant
Movimento LateraleRaccolta InformazioniPost-ExploitPenetration TestingCommand and ControlRed TeamingStrumento di Accesso Remoto
GitHubredsiege/cimplant

CIMplant

Porting in C# di WMImplant che utilizza CIM o WMI per interrogare sistemi remoti

Vedi Repository
204285 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Logo CIMplant

CIMplant

Porting C# di WMImplant che utilizza CIM o WMI per interrogare sistemi remoti. Può usare credenziali fornite o la sessione dell'utente corrente.

Nota: alcuni comandi utilizzeranno PowerShell in combinazione con WMI, indicati con ** nel comando --show-commands.

Introduzione

CIMplant è una riscrittura in C# e un’espansione del WMImplant di @christruncer. Permette di raccogliere dati su un sistema remoto, eseguire comandi, esfiltrare dati e altro. Lo strumento consente connessioni tramite Windows Management Instrumentation, WMI, o Common Interface Model, CIM; più precisamente Windows Management Infrastructure, MI. CIMplant richiede permessi di amministratore locale sul sistema di destinazione.

Configurazione:

Probabilmente è più semplice usare la versione precompilata disponibile in Releases; tieni presente che è compilata in modalità Debug. Se vuoi compilare la soluzione da solo, segui i passaggi seguenti.

  1. Carica CIMplant.sln in Visual Studio
  2. Vai su Compila in alto e poi su Compila soluzione se non sono necessarie modifiche

Utilizzo

root@kitploit:~
CIMplant.exe --help
CIMplant.exe --show-commands
CIMplant.exe --show-examples
CIMplant.exe -s [indirizzo IP remoto] -c cat -f c:\users\user\desktop\file.txt
CIMplant.exe -s [indirizzo IP remoto] -u [nome utente] -d [dominio] -p [password] -c cat -f c:\users\test\desktop\file.txt
CIMplant.exe -s [indirizzo IP remoto] -u [nome utente] -d [dominio] -p [password] -c command_exec --execute "dir c:\\"

Funzioni

Operazioni sui file:

root@kitploit:~
cat                          -  Legge il contenuto di un file
copy                         -  Copia un file da una posizione a un'altra
download**                   -  Scarica un file dalla macchina di destinazione
ls                           -  Elenco file/directory di una directory specifica
search                       -  Cerca un file su un utente
upload**                     -  Carica un file sulla macchina di destinazione

Facilitazione del movimento laterale

root@kitploit:~
command_exec**               -  Esegue un comando da riga di comando e riceve l'output. Esegui con il flag nops per disabilitare PowerShell
disable_wdigest              -  Imposta il valore del registro UseLogonCredential a zero
enable_wdigest               -  Aggiunge il valore del registro UseLogonCredential
disable_winrm**              -  Disabilita WinRM sul sistema di destinazione
enable_winrm**               -  Abilita WinRM sul sistema di destinazione
reg_mod                      -  Modifica il registro sulla macchina di destinazione
reg_create                   -  Crea il valore del registro sulla macchina di destinazione
reg_delete                   -  Elimina il registro sulla macchina di destinazione
remote_posh**                -  Esegue uno script PowerShell su una macchina remota e riceve l'output
sched_job                    -  Non implementato a causa dell'accesso a un'API obsoleta da parte di Win32_ScheduledJobs
service_mod                  -  Crea, elimina o modifica servizi di sistema

Operazioni sui processi

root@kitploit:~
process_kill                 -  Termina un processo tramite nome o ID processo sulla macchina di destinazione
process_start                -  Avvia un processo sulla macchina di destinazione
ps                           -  Elenco dei processi

Operazioni di sistema

root@kitploit:~
active_users                 -  Elenca gli utenti del dominio con processi attivi sul sistema di destinazione
basic_info                   -  Usato per enumerare metadati di base sul sistema di destinazione
drive_list                   -  Elenca unità locali e di rete
ifconfig                     -  Riceve informazioni IP dalle schede di rete con connessioni attive
installed_programs           -  Riceve un elenco dei programmi installati sulla macchina di destinazione
logoff                       -  Disconnette gli utenti dalla macchina di destinazione
reboot (o restart)           -  Riavvia la macchina di destinazione
power_off (o shutdown)       -  Spegne la macchina di destinazione
vacant_system                -  Determina se un utente è lontano dal sistema
edr_query                    -  Interroga il sistema locale o remoto per i vendor EDR

Operazioni sui log

root@kitploit:~
logon_events                 -  Identifica gli utenti che hanno effettuato l'accesso a un sistema

* Tutti i comandi PowerShell possono essere disabilitati usando il flag --nops, anche se alcuni comandi non verranno eseguiti (upload/download, abilita/disabilita WinRM)
** Indica l'uso di PowerShell (tramite PowerShell Runspace o il metodo Win32_Process::Create)

Alcuni comandi di esempio

immagine

Cobalt Strike Execute-Assembly

Volevo programmare CIMplant in modo da permetterne l'uso tramite execute-assembly, quindi tutto è impacchettato in un unico eseguibile e caricato in modo riflessivo. Dovresti essere in grado di eseguire tutti i comandi tramite beacon senza problemi. Buon divertimento!

immagine

File importanti

  1. Program.cs

Questo è il cervello dell'operazione, il driver del programma.

  1. Connector.cs

Qui vengono effettuate le connessioni iniziali CIM/WMI e passate al resto dell'applicazione

  1. ExecuteWMI.cs

Tutto il codice delle funzioni per i comandi WMI

  1. ExecuteCIM.cs

Tutto il codice delle funzioni per i comandi CIM (MI)

Rilevamento

Ovviamente, la prima cosa di cui essere consapevoli è la connessione iniziale WMI o CIM. In generale, WMI usa DCOM come protocollo di comunicazione mentre CIM usa WSMan (o WinRM). Questo può essere modificato per CIM, ed è così in CIMplant, ma per ora consideriamo i valori predefiniti. Per DCOM, la prima cosa da cercare sono le connessioni TCP iniziali sulla porta 135. I sistemi mittente e destinatario decideranno poi su una nuova porta molto alta da usare, che quindi varierà notevolmente. Per WSMan, la connessione TCP iniziale avviene sulla porta 5985.

Successivamente, cerca il registro eventi Microsoft-Windows-WMI-Activity/Trace nel Visualizzatore eventi. Cerca Event ID 11 e filtra sulla proprietà IsLocal se possibile. Puoi anche cercare Event ID 1295 nel registro Microsoft-Windows-WinRM/Analytic.

Infine, cerca eventuali modifiche alla proprietà DebugFilePath con la classe Win32_OSRecoveryConfiguration. Informazioni più dettagliate sul rilevamento sono disponibili nella Parte 1 della nostra serie di blog qui: CIMplant Part 1: Detection of a C# Implementation of WMImplant

Scarica lo strumento