Vemos que los ransomware borran todas las shadow copies usando vssadmin
bastante a menudo. ¿Y si pudiéramos interceptar esa petición y matar el proceso de invocación? Intentemos crear una vacuna sencilla.
Cómo Funciona
Registramos un depurador para vssadmin.exe
(and wmic.exe
), que es nuestro raccine.exe
. Raccine es un binario, que primero recoge todos los PID de los procesos padres y luego intenta matar todos los procesos padres.
Ventajas:
- El método es más bien genérico
- No tenemos que reemplazar un archivo de sistema (
vssadmin.exe
orwmic.exe
), lo que podría llevar a problemas de integridad y podría romper nuestra raccination en cada día de parcheo - Los cambios son fáciles de deshacer
- Debería funcionar en todas las versiones de Windows a partir de Windows 2000
- No se requiere un ejecutable en marcha ni un servicio adicional (sin agente)
Desventajas / Puntos ciegos:
- El uso legítimo de
vssadmin.exe delete shadows
(o cualquier otra combinación de la lista negra) ya no es posible - Incluso mata los procesos que intentaron invocar
vssadmin.exe delete shadows
, que podría ser un proceso de copia de seguridad - Esto no atrapará los métodos en los que el proceso malicioso no sea uno de los procesos del árbol que ha invocado
vssadmin.exe
(por ejemplo. a través deschtasks
)
El Proceso
- La invocación de
vssadmin.exe
(ywmic.exe
) se intercepta y pasa araccine.exe
como depurador (vssadmin.exe delete shadows
se convierte enraccine.xe vssadmin.exe delete shadows
) - Luego procesamos los argumentos de la línea de comandos y buscamos combinaciones maliciosas.
- Si no se pudo encontrar ninguna combinación maliciosa, creamos un nuevo proceso con los parámetros originales de la línea de comandos.
- Si se pudo encontrar una combinación maliciosa, recogemos todos los PID de los procesos originales y empezamos a matarlos (estos deberían ser los procesos de malware como se muestra en las capturas de pantalla anteriores). Raccine muestra una ventana de línea de comandos con los PIDs matados durante 5 segundos y luego sale por sí mismo.
Combinaciones maliciosas:
delete
yshadows
(vssadmin, diskshadow)resize
yshadowstorage
(vssadmin)delete
yshadowstorage
(vssadmin)delete
yshadowcopy
(wmic)delete
ycatalog
y-quiet
(wbadmin)win32_shadowcopy
o elemento de una lista de comandos codificados (powershell)recoveryenabled
(bcedit)ignoreallfailures
(bcedit)
La lista de comandos codificados de Powershell: JAB
, SQBFAF
, SQBuAH
, SUVYI
, cwBhA
, aWV4I
, aQBlAHgA
y muchos más.
Ejemplo
Emotet sin Raccine – Enlace
Emotet con Raccine – Enlace (ignora la actividad del proceso que está relacionada con la instalación de Raccine)
La infección se corta de raíz.
¡¡Advertencia!!
¡UTILÍZALO BAJO SU PROPIO RIESGO!
No podrás ejecutar los comandos que usan los comandos de la lista negra en una máquina con Raccine hasta que apliques el parche raccine-reg-patch-uninstall.reg
. Esto podría romper varias soluciones de respaldo que ejecutan ese comando específico durante su trabajo. No sólo bloqueará esa solicitud sino que matará todos los procesos en ese árbol, incluyendo la solución de respaldo y su proceso de invocación.
Si tienes una sólida supervisión de seguridad que registra todas las ejecuciones de los procesos, podrías revisar tus registros para ver si vssadmin.exe delete shadows
, vssadmin.exe resize shadowstorage ...
o si las otras líneas de comandos bloqueadas se utilizan frecuente o esporádicamente para fines legítimos, en cuyo caso deberías abstenerse de utilizar Raccine.
Instalación
- Se requiere una arquitectura x64 para permitir las características: GUI y Escaneo YARA (sólo el Raccine básico con filtros estáticos está disponible como ejecutable x86)
- VC++ Runtime para el escaneo de YARA (El instalador contiene el paquete de instalación desde aquí – https://aka.ms/vs/16/release/VC_redist.x64.exe)
- Acceso a Internet para las actualizaciones de las reglas de YARA
- Windows 7 / Windows 2008 R2 y superior (sin confirmar)
Instalación automática
- Descarga
Raccine.zip
desde la sección Release (https://github.com/Neo23x0/Raccine/releases/) - Extráelo.
- Ejecuta
raccine-installer.bat
El instalador batch incluye una opción de “desinstalación”.
Desinstalación Manual
Como Administrador, realiza lo siguiente:
- Ejecuta
raccine-reg-patch-uninstall.reg
- Elimina las carpetas:
%ProgramFiles%\Raccine y %ProgramData%\Raccine
- Ejecuta
reg delete HKCU\Software\Raccine /F
- Ejecuta
taskkill /F /IM RaccineSettings.exe
- Ejecuta
reg delete "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /V "Raccine Tray" /F
- Ejecuta
schtasks /DELETE /TN "Raccine Rules Updater" /F
Actualizaciones
Actualización del programa
Recomendamos desinstalar y reinstalar para actualizar. Una desinstalación elimina todas las claves de registro con configuraciones.
Raccine tiene un actualizador de firmas integrado desde la versión 1.2. Este programa denominado RaccineRulesSync.exe
está configurado para ejecutarse una vez al día mediante una tarea programada. Puedes ejecutar una actualización de firma manualmente usando la opción en el menú del icono de la bandeja.
Archivo de registro
Se escribe un archivo de registro con todas las intercepciones y acciones tomadas en C:\ProgramData\Raccine\Raccine_log.txt.
Registro de Eventos de Windows
Se genera una entrada por cada evento de bloqueo en el registro de eventos de Application
.
Modo de Simulación
Desde la versión 0.10.0, Raccine se puede instalar en “modo de simulación”, que activa todos los disparadores, registra todas las acciones pero no mata nada. Este modo debe utilizarse en entornos en los que las soluciones de copia de seguridad u otro software legítimo durante un período de tiempo razonable para comprobar si Raccine interferiría con otro software. La idea es instalar Raccine en modo de simulación, dejar que se registre durante una semana o un mes y luego comprobar los registros para ver si habría bloqueado el software legítimo utilizado en la organización.
Captura de pantalla
Ejecuta raccine.exe
y observa cómo muere el árbol de procesos padre (captura de pantalla de v0.1)
GUI
Disponible con la versión 1. Puede desactivarse mediante una opción del instalador o manualmente a través de parches de registro.
https://github.com/Neo23x0/Raccine