AppInit_DLLs
¿Qué es AppInit_DLLs?
AppInit_DLLsTécnica heredada de persistencia en Windows que abusa de un valor del registro para que una DLL determinada se cargue en todo proceso de usuario que enlace user32.dll.
El abuso de AppInit_DLLs (MITRE ATT&CK T1546.010) afecta a HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs (y su gemelo en WOW6432Node). Si LoadAppInit_DLLs está a 1, el cargador de user32.dll mapea cualquier DLL listada en AppInit_DLLs dentro de cada proceso que enlace user32.dll, es decir, la mayoría de las aplicaciones interactivas. Con una sola escritura en el registro el atacante logra ejecución amplia y persistencia. Desde Windows 8, Secure Boot desactiva AppInit_DLLs salvo que la DLL esté firmada y se relajen los requisitos. Aún se encuentra en sistemas heredados o mal configurados. Defensas: mantener Secure Boot, exigir firma, baseline con Autoruns y alertas Sysmon sobre cambios en estos valores.
● Ejemplos
- 01
Añadir la ruta de una DLL maliciosa a AppInit_DLLs en un servidor Windows 7 para registrar pulsaciones en todos los procesos.
- 02
Combinar AppInit_DLLs con Secure Boot deshabilitado para desplegar un rootkit en espacio de usuario.
● Preguntas frecuentes
¿Qué es AppInit_DLLs?
Técnica heredada de persistencia en Windows que abusa de un valor del registro para que una DLL determinada se cargue en todo proceso de usuario que enlace user32.dll. Pertenece a la categoría de Ataques y amenazas en ciberseguridad.
¿Qué significa AppInit_DLLs?
Técnica heredada de persistencia en Windows que abusa de un valor del registro para que una DLL determinada se cargue en todo proceso de usuario que enlace user32.dll.
¿Cómo funciona AppInit_DLLs?
El abuso de AppInit_DLLs (MITRE ATT&CK T1546.010) afecta a HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs (y su gemelo en WOW6432Node). Si LoadAppInit_DLLs está a 1, el cargador de user32.dll mapea cualquier DLL listada en AppInit_DLLs dentro de cada proceso que enlace user32.dll, es decir, la mayoría de las aplicaciones interactivas. Con una sola escritura en el registro el atacante logra ejecución amplia y persistencia. Desde Windows 8, Secure Boot desactiva AppInit_DLLs salvo que la DLL esté firmada y se relajen los requisitos. Aún se encuentra en sistemas heredados o mal configurados. Defensas: mantener Secure Boot, exigir firma, baseline con Autoruns y alertas Sysmon sobre cambios en estos valores.
¿Cómo defenderse de AppInit_DLLs?
Las defensas contra AppInit_DLLs combinan habitualmente controles técnicos y prácticas operativas, como se detalla en la definición.
¿Cuáles son otros nombres para AppInit_DLLs?
Nombres alternativos comunes: Inyección AppInit DLL, Persistencia AppInit user32.
● Términos relacionados
- attacks№ 331
Secuestro de DLL
Ataque que abusa del orden de búsqueda de DLL en Windows para que un programa legítimo cargue una biblioteca controlada por el atacante en lugar de la legítima.
- attacks№ 200
Secuestro COM
Técnica de persistencia que redirige la búsqueda de un CLSID del Component Object Model de Windows hacia código del atacante, ejecutándolo cuando un proceso instancia ese objeto.
- attacks№ 515
Inyección IFEO
Técnica de persistencia y escalada de privilegios que abusa de la clave Image File Execution Options del registro de Windows para ejecutar código cuando se inicia un ejecutable objetivo.
- attacks№ 914
Persistencia por clave Run del registro
Técnica clásica de persistencia en Windows que añade una entrada en una clave Run o RunOnce del registro para ejecutar un binario o script cada vez que el usuario inicia sesión.
- attacks№ 1246
Persistencia por suscripción a eventos WMI
Técnica de persistencia que registra un filtro y un consumidor permanentes de eventos WMI para que el código del atacante se ejecute cuando ocurra un evento del sistema.
- attacks№ 610
Secuestro mediante LD_PRELOAD
Técnica de persistencia y secuestro de librerías en Linux que usa la variable LD_PRELOAD o /etc/ld.so.preload para inyectar código del atacante en procesos enlazados dinámicamente.