
Emulación de controlador USB HID con PID/VID (0x3bca/0x27bb) de Plenom A/S Busylight Alpha, que es compatible con Mimikatz. Cuando se ejecuta mimikatz, se genera un hilo por defecto que intenta localizar uno de los busylights compatibles. Se enumeran todos los dispositivos HID, si el PID/VID coincide, se envían paquetes para hacer parpadear el busylight en diferentes colores.
Emulación de controlador USB HID con PID/VID (0x3bca/0x27bb) de Plenom A/S Busylight Alpha, compatible con Mimikatz. Cuando se ejecuta mimikatz, de forma predeterminada se crea un subproceso que intenta localizar uno de los busylights compatibles. Se enumeran todos los dispositivos HID; si el PID/VID coincide, se envían paquetes para hacer parpadear el busylight en diferentes colores.
Hay tres tipos de paquetes que mimikatz envía a este dispositivo:
busylight::offDado que este dispositivo emula un dispositivo HID que imita completamente al dispositivo USB real, mimikatz no puede distinguir entre ambos.
El controlador es un controlador umdf2, lo que significa:
Emula el comportamiento del busylight de forma transparente. El controlador verifica si se ha recibido alguno de los tres paquetes (start, keepalive, stop); si es así, carga una DLL y llama a las tres funciones exportadas correspondientemente. La DLL no necesita estar firmada, aunque podría ayudar para una distribución confiable. La funcionalidad de la DLL se puede cambiar fácilmente.
Tiene tres funciones exportadas:
Estas son llamadas por el controlador respectivamente. Actualmente se implementan tres modos de reporte diferentes:
El siguiente formato se muestra en el Eventlog (o en las otras dos interfaces de registro) bajo Registros de Windows\Aplicación
Tool started. PID: 13456
Bastante básico, pero la información más importante está ahí. Puede ser iniciado/detenido o keepalive, lo que significa que la herramienta estaba ejecutándose en ese momento. PID es el ID del proceso.
Dado que los controladores UMDF se ejecutan en el espacio de usuario con un usuario de privilegios bajos, no se puede obtener información detallada sobre otros procesos; esto debería hacerlo otro servicio con privilegios más altos.
Se debe realizar lo siguiente como usuario elevado:
install.batSe debe realizar lo siguiente como usuario elevado:
uninstall.batSe probó en tres instalaciones diferentes de Windows 10 con servidor rsyslog.
Se probaron las siguientes variantes de Mimikatz:
Versión original de Mimikatz desde el 8 de octubre de 2015 (Detectado)
Original compilado como DLL (Detectado)
Original compilado como PowerShell (Invoke-Mimikatz) (Detectado)
PowerSploit - Invoke-Mimikatz (Detectado)
CrackMapExec - Invoke-Mimikatz (Detectado)
Shellenium - Invoke-Mimikatz (Detectado)
Cobalt Strike (NO Detectado)
Módulo kiwi de Metasploit (NO Detectado)
Pypykatz (NO Detectado)