Herramienta Swarmer Evadiendo EDR Con una Modificación Sigilosa en el Registro de Windows para Persistencia
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
Swarmer es una herramienta de persistencia de Windows de baja privilegio que crea un registro de perfil de usuario obligatorio (NTUSER.MAN) y lo edita a través de la API del Registro Sin Conexión. Debido a que no depende de las API de Windows Reg* convencionales, puede plantar persistencia de clave de Run mientras reduce la visibilidad a la telemetría de EDR que está ajustada al comportamiento estándar de escritura en el registro. El método abusa del manejo de perfiles obligatorios para llevar entradas de inicio a través de inicios de sesión sin derechos administrativos. Swarmer está disponible como un ejecutable independiente o como un módulo de PowerShell y se puede usar de maneras que minimizan los artefactos en disco.
Investigación
El informe describe el flujo de Swarmer de extremo a extremo: exporta la colmena actual de HKCU, altera los datos exportados para incluir la persistencia de inicio y reconstruye la colmena usando rutinas de Offreg.dll como ORCreateHive y ORSetValue. La colmena reconstruida se coloca entonces como NTUSER.MAN dentro de la ruta del perfil del usuario para que se aplique durante el inicio de sesión. La ejecución se controla a través de opciones de línea de comandos que definen el valor de inicio objetivo y la ubicación de la carga que se va a ejecutar. Los autores validaron la técnica en Windows 10 y Windows 11.
Mitigación
Monitorear la creación de NTUSER.MAN en contextos de usuario donde no se esperan perfiles obligatorios, y alertar sobre Offreg.dll siendo cargado por procesos inusuales. Proteger y verificar la integridad de los directorios usados para perfiles obligatorios, y establecer una línea base de operaciones legítimas de registro fuera de línea para que las desviaciones destaquen. Agregar detecciones para cambios sospechosos en colmenas que toman efecto al inicio de sesión más que en tiempo de ejecución. Donde sea posible, restringir la capacidad del usuario para crear o manipular artefactos de perfil obligatorio.
Respuesta
Si se identifica, aislar el punto final, adquirir la colmena NTUSER.MAN para análisis y enumerar las entradas de clave de Run inyectadas. Eliminar valores de inicio no autorizados y restaurar una colmena de usuario conocida como buena para eliminar la persistencia. Realizar una revisión forense más amplia para confirmar que no se establecieron cargas secundarias o rutas de persistencia alternativas, y buscar en toda la flota el mismo patrón de escritura de colmena. Reforzar los controles de mínimo privilegio para evitar que los usuarios de bajos privilegios creen perfiles obligatorios.
Flujo de Ataque
Todavía estamos actualizando esta parte. Regístrese para recibir notificaciones
NotificarmeDetecciones
Posible intento de ejecución de Swarmer Utility (a través de PowerShell)
Ver
Posible intento de ejecución de Swarmer Utility (a través de cmdline)
Ver
Detección de Persistencia de Registro de Herramienta Swarmer vía NTUSER.MAN y API del Registro Sin Conexión [Evento del Registro de Windows]
Ver
Ejecución de Simulación
Requisito previo: El Chequeo Previo de Telemetría y Línea Base debe haber pasado.
Justificación: Esta sección detalla la ejecución precisa de la técnica del adversario (TTP) diseñada para activar la regla de detección. Los comandos y la narración DEBEN reflejar directamente las TTP identificadas y apuntan a generar la telemetría exacta esperada por la lógica de detección. Ejemplos abstractos o no relacionados llevarán a un diagnóstico erróneo.
-
Narrativa de Ataque & Comandos:
El atacante ha obtenido un punto de apoyo en un host comprometido y desea establecer persistencia que sobreviva al inicio de sesión del usuario sin tocar las colmenas estándar del Registro (para evadir los hooks de EDR). Usando la herramienta Swarmer, el atacante: tool, the attacker:- Determina el directorio de perfil del usuario objetivo (
C:Usersvictim). - Fabrica un archivo de colmena malicioso (
NTUSER.MAN) que contiene una clave de Run que lanza una carga de puerta trasera al iniciar sesión. - Escribe el archivo directamente en el perfil de la víctima usando I/O de archivo de bajo nivel (eludiendo las llamadas de alto nivel de WinAPI).
- Llama a la API del Registro Sin Conexión para cargar la colmena recién creada en memoria, registra la clave de Run y finalmente llama a
para cargar la colmena recién creada en memoria, registra la clave de Run y finalmente llama apara persistir los cambios.para persistir los cambios.Ambas acciones generan:
– creación de archivo que termina con
- – creación de archivo que termina con – un proceso (
NTUSER.MAN. - – un proceso ( ) cuya línea de comandos contiene
) cuya línea de comandos contiene(u otra bandera OR*).para cargar la colmena recién creada en memoria, registra la clave de Run y finalmente llama a(or another OR* flag).
- Determina el directorio de perfil del usuario objetivo (
-
Script de Prueba de Regresión:
#-------------------------------------------------------------- # Simulación de Persistencia de Registro estilo Swarmer (PowerShell) #-------------------------------------------------------------- # 1. Definir la ruta del perfil de la víctima $victimProfile = "$env:SystemDriveUsersvictim" $ntUserManPath = Join-Path $victimProfile "NTUSER.MAN" # 2. Crear un archivo de colmena mínimo (placeholder binario) # En un ataque real, esto sería una colmena de registro fabricada. $hiveBytes = [byte[]] (0..255) # datos ficticios [IO.File]::WriteAllBytes($ntUserManPath, $hiveBytes) # 3. Invocar la API del Registro Sin Conexión a través de un ejecutable auxiliar. # Se asume que swarmer_helper.exe es un binario compilado que envuelve # las funciones nativas del Registro Sin Conexión. $helper = "C:Toolsswarmer_helper.exe" $args = @( "ORCreateHive", "`"$ntUserManPath`"" "ORSetValue", "HKLMSoftwareMicrosoftWindowsCurrentVersionRunmyBackdoor", "`"C:Malwarebackdoor.exe`"" "ORSaveHive", "`"$ntUserManPath`"" ) & $helper $args #-------------------------------------------------------------- -
Comandos de Limpieza:
# Eliminar la colmena maliciosa y descargarla si es necesario Remove-Item -Path "$env:SystemDriveUsersvictimNTUSER.MAN" -Force # Si el auxiliar dejó alguna colmena en memoria, descargarla forzosamente (ejemplo) & "$env:ProgramFilesWindows Kits10binx64reg.exe" unload "HKUTempHive"