
Una herramienta de post-explotación escrita en C# utiliza CIM o WMI para consultar sistemas remotos.
SharpStrike es una herramienta de post-explotación escrita en C# que utiliza CIM o WMI para consultar sistemas remotos. Puede usar credenciales proporcionadas o la sesión del usuario actual.
Nota: Algunos comandos usarán PowerShell en combinación con WMI, indicados con ** en el comando --show-commands.
SharpStrike es una reescritura y expansión en C# de CIMplant de @Matt_Grandy_ y WMImplant de @christruncer.
SharpStrike permite recopilar datos sobre un sistema remoto, ejecutar comandos, extraer datos y más. La herramienta permite conexiones utilizando Instrumental de Administración de Windows, WMI, o Modelo de Interfaz Común, CIM; o más exactamente, Infraestructura de Administración de Windows, MI. CIMplant requiere permisos de administrador local en el sistema de destino.
Probablemente sea más fácil usar la versión compilada disponible en Releases, solo ten en cuenta que está compilada en modo Debug. Si deseas compilar la solución tú mismo, sigue los pasos a continuación.
La compilación producirá dos versiones de SharpStrike: GUI (WinForms) y aplicación de consola. Cada versión implementa las mismas características.
Console Version:
SharpStrike.exe --help
SharpStrike.exe --show-commands
SharpStrike.exe --show-examples
SharpStrike.exe -c ls_domain_admins
SharpStrike.exe -c ls_domain_users_list
SharpStrike.exe -c cat -f "c:\users\user\desktop\file.txt" -s [remote IP address]
SharpStrike.exe -c cat -f "c:\users\user\desktop\file.txt" -s [remote IP address] -u [username] -d [domain] -p [password] -c
SharpStrike.exe -c command_exec -e "quser" -s [remote IP address] -u [username] -d [domain] -p [password]
GUI version:
show-commands
show-examples
ls_domain_admins
ls_domain_users_list
cat -f "c:\users\user\desktop\file.txt" -s [remote IP address]
cat -f "c:\users\user\desktop\file.txt" -s [remote IP address] -u [username] -d [domain] -p [password]
command_exec -e "quser" [remote IP address] -u [username] -d [domain] -p [password]
cat - Lee el contenido de un archivo
copy - Copia un archivo de una ubicación a otra
download** - Descarga un archivo desde la máquina objetivo
ls - Listado de archivos/directorios de un directorio específico
search - Busca un archivo en un usuario
upload** - Sube un archivo a la máquina objetivo
command_exec** - Ejecuta un comando de línea de comandos y recibe la salida. Ejecutar con la bandera nops para deshabilitar PowerShell
disable_wdigest - Establece el valor del registro UseLogonCredential a cero
enable_wdigest - Agrega el valor del registro UseLogonCredential
disable_winrm** - Deshabilita WinRM en el sistema objetivo
enable_winrm** - Habilita WinRM en el sistema objetivo
reg_mod - Modifica el registro en la máquina objetivo
reg_create - Crea el valor de registro en la máquina objetivo
reg_delete - Elimina el registro en la máquina objetivo
remote_posh** - Ejecuta un script de PowerShell en una máquina remota y recibe la salida
sched_job - No implementado debido a que Win32_ScheduledJobs accede a una API obsoleta
service_mod - Crea, elimina o modifica servicios del sistema
ls_domain_users*** - Lista usuarios del dominio
ls_domain_users_list*** - Lista sAMAccountName de usuarios del dominio
ls_domain_users_email*** - Lista direcciones de correo electrónico de usuarios del dominio
ls_domain_groups*** - Lista grupos de usuarios del dominio
ls_domain_admins*** - Lista usuarios administradores del dominio
ls_user_groups*** - Lista usuarios del dominio con sus grupos asociados
ls_computers*** - Lista equipos en el dominio actual
process_kill - Mata un proceso por nombre o identificador de proceso en la máquina objetivo
process_start - Inicia un proceso en la máquina objetivo
ps - Listado de procesos
active_users - Lista usuarios del dominio con procesos activos en el sistema objetivo
basic_info - Se utiliza para enumerar metadatos básicos sobre el sistema objetivo
drive_list - Lista unidades locales y de red
share_list - Lista recursos compartidos de red
ifconfig - Recibe información IP de NICs con conexiones de red activas
installed_programs - Recibe una lista de los programas instalados en la máquina objetivo
logoff - Cierra la sesión de los usuarios en la máquina objetivo
reboot (o restart) - Reinicia la máquina objetivo
power_off (o shutdown) - Apaga la máquina objetivo
vacant_system - Determina si un usuario está ausente del sistema
edr_query - Consulta el sistema local o remoto por proveedores de EDR
logon_events - Identifica usuarios que han iniciado sesión en un sistema
* Todo PowerShell se puede deshabilitar usando la bandera --nops, aunque algunos comandos no se ejecutarán (subir/descargar, habilitar/deshabilitar WinRM)
** Indica uso de PowerShell (ya sea mediante un Runspace de PowerShell o a través del método Win32_Process::Create)
*** Indica uso de LDAP - espacio de nombres "root\directory\ldap"
Versión de consola:

Versión GUI:

SharpStrike se compone de tres proyectos principales:
Aquí es donde se realizan las conexiones iniciales CIM/WMI y se pasan al resto de la aplicación
Todo el código de funciones para los comandos WMI
Todo el código de funciones para los comandos CIM (MI)
CIMplant Parte 1: Detección de una implementación en C# de WMImplant
WMImplant – Un RAT de post-explotación sin agente basado en WMI desarrollado en PowerShell
SharpStrike | Herramienta de post-explotación | CIM y WMI en su interior