Aprenda tácticas adversas, técnicas y conocimientos comunes (ATT @ CK). Tácticas empresariales. Parte 3

Encuadernación (persistencia)


Enlaces a todas las partes:
Parte 1. Obtención del acceso inicial (acceso inicial)
Parte 2. Ejecución
Parte 3. Fijación (persistencia)
Parte 4. Escalada de privilegios
Parte 5. Evasión de defensa
Parte 6. Obtención de credenciales (acceso de credenciales)
Parte 7. Descubrimiento
Parte 8. Movimiento lateral

La tarea principal de asegurar el acceso es garantizar una presencia constante en el sistema atacado, porque el acceso puede perderse debido a un reinicio del sistema atacado, la pérdida de credenciales o el bloqueo de herramientas de acceso remoto debido a la detección de un ataque.

El autor no es responsable de las posibles consecuencias de aplicar la información establecida en el artículo, y también se disculpa por posibles imprecisiones hechas en algunas formulaciones y términos. La información publicada es un recuento gratuito de los contenidos de MITER ATT & CK .

Los métodos para garantizar la constancia en el sistema se pueden dividir en 3 categorías:
  • Creación no autorizada de cuentas o robo de credenciales existentes;
  • Instalación oculta y lanzamiento de herramientas de acceso remoto;
  • Realizar cambios en la configuración del sistema atacado con la ayuda de la cual es posible ejecutar numerosos códigos maliciosos. El código malicioso se puede iniciar automáticamente cada vez que el sistema se inicia o cada usuario inicia sesión en el sistema, inicia servicios modificados o maliciosos, inicia ciertos programas por parte del usuario o inicia el proceso de actualización del sistema o software de terceros.

Además, se presentan las técnicas de bloqueo de acceso ofrecidas por ATT & CK.

Modificación de archivos ~ / .bash_profile y ~ / .bashrc


Sistema: Linux, macOS
Derechos: Usuario, Administrador
Descripción: los atacantes pueden incrustar código en los archivos ~ / .bash_profile y ~ / .bashrc ( diseñados para crear un entorno de usuario en el sistema operativo ), que se ejecutará cuando el usuario inicie sesión o inicie un nuevo shell. El archivo ~ / .bash_profile se ejecuta cuando el usuario inicia sesión, ~ / .bashrc se ejecuta cuando los shells se abren de forma interactiva. Cuando un usuario inicia sesión (local o remotamente, por ejemplo a través de SSH) con un nombre de usuario y contraseña, ~ / .bash_profile se ejecuta antes de que se devuelva la invitación del usuario. Después de eso, cada vez que se abre un nuevo shell, se ejecuta ~ / .bashrc.
En macOS, Terminal.app es ligeramente diferente en el sentido de que inicia el shell de inicio de sesión predeterminado cada vez que se abre la ventana del terminal, invocando ~ / .bash_profile cada vez.

Recomendaciones de protección: conceder derechos para modificar los archivos ~ / .bash_profile y ~ / .bashrc solo para administradores autorizados.

Modificación de archivos ejecutables de aplicaciones "características de accesibilidad de Windows" (Características de accesibilidad)


Sistema: Windows
Derechos: administrador
Descripción: las aplicaciones de accesibilidad (lupa de pantalla, teclado en pantalla, etc.) se pueden iniciar utilizando combinaciones de teclas antes de que un usuario inicie sesión en el sistema. Un atacante puede reemplazar los archivos de inicio de estos programas o cambiar la forma en que se inician y abrir una consola de comandos u obtener una puerta trasera sin iniciar sesión.
  • C: \ Windows \ System32 \ sethc.exe - lanzado 5 veces presionando la tecla Shift;
  • C: \ Windows \ System32 \ utilman.exe : lanzado presionando la combinación de Win + U.

En WinXP y versiones posteriores, sethc.exe y utilman.exe pueden reemplazarse, por ejemplo, con cmd.exe, luego, cuando presiona la combinación de teclas deseada, cmd.exe se inicia antes de ingresar a Windows con privilegios del sistema.
En Vista y versiones posteriores, debe cambiar la clave de registro que configura cmd.exe u otro programa como depurador, por ejemplo, para ultiman.exe. Después de editar el registro y presionar la combinación de teclas deseada en la pantalla de inicio de sesión o al conectarse al host a través de RDP, se ejecutará cmd.exe con derechos de sistema.
También hay programas de Windows que pueden usarse para implementar esta técnica de ataque:
  • C: \ Windows \ System32 \ osk.exe;
  • C: \ Windows \ System32 \ Magnify.exe;
  • C: \ Windows \ System32 \ Narrator.exe;
  • C: \ Windows \ System32 \ DisplaySwitch.exe;
  • C: \ Windows \ System32 \ AtBroker.exe.


Recomendaciones de seguridad: configure el inicio de la autenticación de red obligatoria para usuarios remotos antes de crear una sesión RDP y mostrar la pantalla de inicio de sesión ( habilitada de forma predeterminada en Windows Vista y posterior ). Use la puerta de enlace de escritorio remoto para administrar conexiones y configurar la seguridad RDP.

Modificación de la clave de DLL de AppCert


Sistema: Windows
Derechos: Administrador, Sistema
Descripción: las DLL especificadas en el valor de la clave AppCertDLL se cargan en cada proceso que llama a las funciones API utilizadas con frecuencia: CreateProcess, CreateProcessAsUser, CreateProcessWithLoginW, CreateProcessWithTokenW, WinExec . Se puede abusar del valor de la clave AppCertDLLs al hacer que una DLL maliciosa cargue y ejecute ciertos procesos. AppCertDLLs se almacena en la siguiente clave de registro:
HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ Session Manager .

Recomendaciones de protección: utilice todos los medios posibles para bloquear software potencialmente peligroso y descargar archivos DLL desconocidos, como AppLocker y DeviceGuard.

Modificación de la clave DLL de AppInit


Sistema: Windows
Derechos: Administrador, Sistema
Descripción: las DLL especificadas en el valor de la clave AppInit_DLL se cargan en cada proceso que carga user32.dll. En la práctica, esto es casi todos los programas.
AppInit_DLLs se almacena en las siguientes claves de registro:
  • HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows NT \ CurrentVersion \ Windows;
  • HKEY_LOCAL_MACHINE \ Software \ Wow6432Node \ Microsoft \ Windows NT \ CurrentVersion \ Windows.

Se puede abusar del valor de la clave AppInit_DLL para exceder los privilegios al cargar archivos DLL maliciosos e iniciar ciertos procesos. La funcionalidad AppInit_DLLs está deshabilitada en Windows 8 y versiones posteriores cuando se activa el arranque seguro.

Recomendaciones de protección: considere usar una versión del sistema operativo no anterior a Windows 8 y habilitar el arranque seguro. Utilice todo tipo de medios para bloquear software potencialmente peligroso y descargar archivos DLL desconocidos, como AppLocker y DeviceGuard.

Abuso del subsistema de compatibilidad de aplicaciones (Aplicación Shimming)


Sistema: Windows
Derechos: administrador
Descripción: La infraestructura / marco de compatibilidad de aplicaciones de Microsoft Windows se creó para garantizar la compatibilidad de los programas con las actualizaciones de Windows y los cambios en el código del sistema operativo. El sistema de compatibilidad utiliza las llamadas shim ("juntas"), bibliotecas que actúan como un búfer entre el programa y el sistema operativo. Usando la memoria caché de shim, el sistema determina la necesidad de juntas de shim (almacenadas como una base de datos .sdb). Varios archivos .sdb almacenan varios procedimientos para interceptar el código de la aplicación, procesarlo y luego redirigirlo al sistema operativo. La lista de todas las juntas de cuñas instaladas por el instalador (sdbinst.exe) se almacena de forma predeterminada en:
  • % WINDIR% \ AppPatch \ sysmain.sdb ;
  • HKLM \ Software \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ InstalledSDB .

Las bases de datos de shim personalizadas se almacenan en:
  • % WINDIR% \ AppPatch [64] \ Personalizado;
  • HKLM \ Software \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Custom .

Para garantizar la protección en el modo de usuario, se excluye la posibilidad de cambiar el núcleo del sistema operativo utilizando shim-gaskets, y se requieren derechos de administrador para instalarlos. Sin embargo, algunos shim pads pueden usarse para evitar el Control de cuentas de usuario (UAC), la inyección de DLL, deshabilitar la Prevención de ejecución de datos y el Manejo de excepciones de estructuras , así como interceptar direcciones de memoria. Un atacante que usa juntas de ajuste puede aumentar los privilegios, instalar puertas traseras, desactivar la protección del sistema operativo, como Windows Defender.

Recomendaciones de protección: no hay muchas maneras de evitar la aplicación de calces. No se recomienda deshabilitar la compatibilidad de aplicaciones para evitar problemas con la estabilidad del sistema operativo. Microsoft lanzó KB3045645 , que eliminará el indicador de "elevación automática" en el archivo sdbinst.exe para evitar el uso del sistema shim para evitar el UAC.

Modificación de componentes del paquete de autenticación de Windows


Sistema: Windows
Derechos: administrador
Descripción: las DLL de Windows Authentification Pack son cargadas por el proceso de la Autoridad de Seguridad Local (LSA) al inicio del sistema y brindan soporte para múltiples procesos de inicio de sesión y múltiples protocolos de seguridad del sistema operativo. Los atacantes pueden usar el mecanismo de ejecución automática LSA colocando un enlace a un archivo binario en la siguiente clave de registro:
HKLM \ SYSTEM \ CurrentControlSet \ Control \ Lsa \ Paquetes de autenticación: [binario de destino] .
El sistema lanzará [Target binary] cuando se descarguen los paquetes de autenticación .

Recomendaciones de protección: en Windows 8.1, Windows Server 2012 R2 y LSA posteriores, puede hacer que funcione como un proceso protegido (PPL) utilizando la clave de registro:
HKLM \ SYSTEM \ CurrentControlSet \ Control \ Lsa \ RunAsPPL = DWORD: 00000001 ,
que requiere que todas las DLL cargadas por LSA se firmen con un certificado digital de Microsoft.

Creación de trabajos BITS (trabajos BITS)


Sistema: Windows
Derechos: usuario, administrador, sistema
Descripción: El Servicio de transferencia inteligente en segundo plano de Windows (BITS) es un mecanismo para transferir archivos asincrónicamente a través del Modelo de objetos componentes (COM) utilizando un ancho de banda bajo. BITS generalmente es utilizado por actualizadores, mensajeros instantáneos y otras aplicaciones que prefieren trabajar en segundo plano sin interrumpir el funcionamiento de otras aplicaciones de red. Las tareas de transferencia de archivos se representan como tareas BITS que contienen una cola de una o más operaciones de archivo. La interfaz para crear y administrar tareas BITS está disponible en las herramientas PowerShell y BITSAdmin. Los atacantes pueden usar BITS para descargar, iniciar y luego limpiar después de ejecutar código malicioso. Las tareas de BITS se almacenan de forma autónoma en la base de datos de BITS, mientras que el sistema no crea nuevos archivos o entradas de registro, a menudo el firewall permite BITS. Con las tareas de BITS, puede afianzarse en el sistema creando tareas largas (de forma predeterminada, 90 días) o llamando a un programa arbitrario después de completar una tarea o error de BITS (incluso después de reiniciar el sistema operativo).

Recomendaciones de protección: BITS es una funcionalidad estándar del sistema operativo, cuyo uso es difícil de distinguir de la actividad maliciosa, por lo tanto, el vector de protección debe estar dirigido a evitar el lanzamiento de herramientas maliciosas al comienzo de la cadena de ataque. Deshabilitar BITS por completo puede detener las actualizaciones de software legítimas, sin embargo, puede considerar restringir el acceso a la interfaz BITS a usuarios y grupos de acceso específicos, y también puede limitar la vida útil de las tareas de BITS, que se configura cambiando las siguientes teclas:
  • HKEY_LOCAL_MACHINE \ Software \ Políticas \ Microsoft \ Windows \ BITS \ JobInactivityTimeout;
  • HKEY_LOCAL_MACHINE \ Software \ Políticas \ Microsoft \ Windows \ BITS \ MaxDownloadTime .

Kits de arranque


Sistema: Linux, Windows
Derechos: administrador, sistema
Descripción: Bootkit es un tipo de malware que puede cambiar los sectores de arranque de un disco duro, incluidos Master Boot Record (MBR) y Volume Boot Record (VBR). Los atacantes pueden usar Bootkit para acoplar en sistemas por debajo del sistema operativo. MBR: la sección del ferrocarril, que se carga inmediatamente después de completar la Bios de inicialización de hardware. Un atacante con acceso para reescribir el MBR puede reemplazar el código del gestor de arranque por uno malicioso. VBR es la partición del disco duro que recibe el control del proceso de arranque desde el MBR. Por analogía con la opción de reescribir MBR, un atacante puede ejecutar código malicioso en la etapa de arranque del sistema.

Recomendaciones de protección: Uso de las herramientas de control de integridad MBR y VBR. Usando Trusted Platform Module (TPM) y Secure Boot.

Extensiones de navegador


Sistema: Windows, Linux, macOS
Derechos: usuario
Descripción: por regla general, los complementos tienen todos los accesos y derechos que puede obtener un navegador. Los complementos maliciosos se pueden instalar descargando aplicaciones maliciosas disfrazadas de programas legítimos utilizando técnicas de ingeniería social, phishing o un atacante que ya ha comprometido el sistema. Los complementos maliciosos pueden abrir sitios web en segundo plano, robar información que un usuario ingresa en un navegador, incluidas las credenciales, para ser utilizados como instaladores de herramientas de administración remota (RAT) y arreglos para el sistema.

Recomendaciones de protección: instale complementos solo de fuentes confiables. Controle los complementos instalados con la directiva de grupo. Evite la instalación de complementos por parte de usuarios comunes. Inventario y monitoreo de complementos instalados.

Modificación de los parámetros de las asociaciones de archivos (Cambiar la asociación de archivos predeterminada)


Sistema: Windows
Derechos: usuario, administrador, sistema
Descripción: los atacantes pueden modificar las asociaciones de archivos para ejecutar comandos arbitrarios. La elección de las asociaciones de archivos con las aplicaciones se almacena en el registro de Windows y los usuarios, administradores y programas que tienen acceso al registro pueden editarla. Las aplicaciones pueden modificar asociaciones para invocar programas arbitrarios. Los parámetros de las asociaciones del sistema se almacenan en el registro: HKEY_CLASSES_ROOT \. [Extensión] , por ejemplo, HKEY_CLASSES_ROOT \ .txt . Los diversos comandos se enumeran como subsecciones: HKEY_CLASSES_ROOT \ [handler] \ shell \ [action] \ [command] , por ejemplo:
  • HKEY_CLASSES_ROOT \ txtfile \ shell \ open \ [comando];
  • HKEY_CLASSES_ROOT \ txtfile \ shell \ print \ [comando];
  • HKEY_CLASSES_ROOT \ txtfile \ shell \ printto \ [comando];

donde [comando] es el comando que se ejecutará al abrir el archivo con la extensión especificada.

Mejores prácticas de seguridad: siga las recomendaciones de Microsoft para las asociaciones de archivos. Utilice todos los medios posibles para bloquear software potencialmente peligroso, como AppLocker y DeviceGuard.

Firmware de componentes


Sistema: Windows
Derechos: sistema
Descripción: algunos ciberdelincuentes pueden usar herramientas sofisticadas para comprometer los componentes de la computadora e instalar firmware malicioso en ellos que ejecutará código malicioso fuera del sistema operativo o incluso el firmware del sistema principal (Bios). La técnica consiste en flashear componentes de computadora que no tienen un sistema de verificación de integridad incorporado, por ejemplo, discos duros. Un dispositivo con firmware malicioso puede proporcionar acceso constante al sistema atacado a pesar de las fallas y la sobrescritura del disco duro. La técnica está diseñada para superar la protección del software y el control de integridad.

Interceptación de enlaces y secuestro del modelo de objetos componentes de enlaces


Sistema: Windows
Derechos: usuario
Descripción: Microsoft Component Object Model (COM) es una tecnología para crear software basado en componentes interactivos de un objeto, cada uno de los cuales se puede usar en muchos programas simultáneamente. Los atacantes pueden usar COM para inyectar código malicioso que se puede ejecutar en lugar de uno legítimo capturando enlaces y enlaces COM. Para interceptar un objeto COM, debe reemplazar el enlace a un componente legítimo del sistema en el registro de Windows. Una nueva llamada a este componente ejecutará código malicioso.

Recomendaciones de protección: no se recomiendan medidas preventivas para prevenir este ataque, ya que los objetos COM son parte del sistema operativo y están instalados en el software del sistema. Bloquear cambios en los objetos COM puede afectar la estabilidad del sistema operativo y el software. Se recomienda el vector de protección para bloquear software malicioso y potencialmente peligroso.

Crear cuentas


Sistema: Windows, Linux, macOS
Derechos: administrador
Descripción: los atacantes con acceso suficiente pueden crear cuentas locales o de dominio para una mayor consolidación en el sistema. Los comandos de usuario de red también se pueden usar para crear cuentas.

Recomendaciones de seguridad: el uso de autenticación multifactor. Configure ajustes de seguridad en servidores importantes, configure controles de acceso, firewalls. Prohibir el uso de una cuenta de administrador de dominio para realizar operaciones diarias durante las cuales un atacante puede obtener información de la cuenta. Los atacantes que crearon cuentas en el sistema solo pueden obtener acceso limitado a la red si los niveles de acceso están bloqueados correctamente. Es posible que solo se requieran cuentas para asegurar el acceso a un sistema separado.

Intercepción de búsqueda de DLL (Secuestro de orden de búsqueda de DLL)


Sistema: Windows
Derechos: usuario, administrador, sistema
Descripción: la técnica consiste en explotar vulnerabilidades en el algoritmo para encontrar mediante las aplicaciones los archivos DLL que necesitan para funcionar ( MSA2269637 ). A menudo, el directorio de búsqueda de DLL es el directorio de trabajo del programa, por lo que los atacantes pueden reemplazar la DLL de origen por una maliciosa con el mismo nombre de archivo.
Los ataques remotos en búsquedas de DLL se pueden llevar a cabo cuando el programa instala su directorio actual en un directorio remoto, por ejemplo, un recurso compartido de red. Además, los atacantes pueden cambiar directamente el método de búsqueda y carga de archivos DLL reemplazando los archivos .manifest o .local, que describen los parámetros de búsqueda de DLL. Si el programa atacado funciona con un alto nivel de privilegios, la DLL maliciosa cargada por él también se ejecutará con altos derechos. En este caso, la técnica se puede utilizar para aumentar los privilegios del usuario al administrador o al sistema.

Recomendaciones de protección: evite la carga remota de DLL (habilitada de manera predeterminada en Windows Server 2012+ y disponible con actualizaciones para XP + y Server 2003+). Habilita el modo de búsqueda segura para archivos DLL, que restringe los directorios de búsqueda a directorios como % SYSTEMROOT% antes de realizar una búsqueda de DLL en el directorio de la aplicación actual.
Habilitar el modo de búsqueda segura de DLL:
Configuración del equipo> [Políticas]> Plantillas administrativas> MSS (Legacy): MSS: (SafeDllSearchMode) Habilite el modo de búsqueda de DLL seguro.
Clave de registro correspondiente:
HKLM \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ SafeDLLSearchMode.
Considere auditar un sistema protegido para corregir deficiencias de DLL utilizando herramientas como PowerUP en PowerSploit. No olvides bloquear el software malicioso y potencialmente peligroso, así como seguir las recomendaciones de Microsoft .

Intercepción de búsqueda de Dylib (secuestro de Dylib)


Sistema: macOS
Derechos: usuario
Descripción: la técnica se basa en vulnerabilidades en los algoritmos de búsqueda de biblioteca dinámica dylib en macOS y OS X.La conclusión es determinar el dylib que carga la aplicación atacada y luego colocar la versión maliciosa de dylib con el mismo nombre en el directorio de trabajo de la aplicación. Esto hará que la aplicación cargue dylib, que se encuentra en el directorio de trabajo del programa. En este caso, el Dylib malicioso se ejecutará con los derechos de acceso de la aplicación atacada. Consejos de seguridad

: evite que los usuarios escriban archivos en directorios de búsqueda dylib. Audite las vulnerabilidades utilizando el Dylib Hijacking Scanner de Objective-See.

Servicios remotos externos


Sistema:
Derechos de Windows :
Descripción del usuario : Los atacantes pueden usar los servicios remotos externos de la organización, como VPN, Citrix y WinRM, para protegerse dentro de la red atacada. El acceso a los servicios puede llevarse a cabo utilizando cuentas válidas obtenidas mediante técnicas para redirigir a los usuarios a sitios falsos (pharming), o en la etapa de comprometer la red.

Recomendaciones de protección:Restringir el acceso a servicios remotos utilizando conmutadores administrados centralmente, utilizando una VPN. Prohibición del acceso remoto directo a la red interna mediante el uso de servidores proxy, puertas de enlace y firewalls. Deshabilitar servicios que se pueden usar de forma remota, como WinRM. El uso de la autenticación de dos factores. Monitorear la actividad del uso de servicios remotos fuera del horario laboral.

Desventajas de los permisos a nivel del sistema de archivos (Debilidad de permisos del sistema de archivos)


Sistema:
Derechos de Windows : Usuario, Administrador
Descripción: La esencia de la técnica es reemplazar los archivos ejecutables que se inician automáticamente por varios procesos (por ejemplo, cuando se inicia el sistema operativo o en un momento determinado, si los derechos de los archivos ejecutables están configurados incorrectamente). Después de la suplantación de identidad, el archivo malicioso se lanzará con los derechos del proceso, por lo que si el proceso tiene un nivel de acceso más alto, el atacante podrá escalar los privilegios. En esta técnica, los atacantes pueden intentar manipular los archivos binarios del servicio de Windows.
Otra variante del ataque está asociada con las deficiencias de los algoritmos en el trabajo de los instaladores autoextraíbles. Durante el proceso de instalación, los instaladores a menudo descomprimen varios archivos útiles, incluidos .dll y .exe, en el directorio% TEMP%, sin embargo, es posible que no establezcan los permisos adecuados para restringir el acceso a los archivos desempaquetados, lo que permite a los atacantes realizar suplantación de archivos y, como resultado, aumenta los privilegios o evita el control de la cuenta, como algunos instaladores se ejecutan con privilegios extendidos.

Recomendaciones de protección:Restricción de derechos de cuenta para que solo los administradores puedan administrar los servicios e interactuar con los archivos binarios utilizados por los servicios. Deshabilite las opciones de escalado de privilegios UAC para usuarios estándar. La configuración de UAC se almacena en la siguiente clave de registro:
  • [HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ System] .

Para rechazar automáticamente las solicitudes de escalada de privilegios, debe agregar una clave:
  • "ConsentPromptBehaviorUser" = dword: 00000000.

Para controlar el trabajo de los instaladores, debe agregar una clave:
  • "EnableInstallerDetection" = dword: 00000001 , que requerirá una contraseña para instalar programas.


Archivos y directorios ocultos


Sistema: Windows, Linux, macOS
Derechos: Descripción del usuario
:Los atacantes pueden usar la capacidad de ocultar archivos y carpetas para no atraer la atención de los usuarios. En Windows, los usuarios pueden ocultar archivos usando el comando attrib. Es suficiente especificar el atributo + h <nombre de archivo> para ocultar el archivo o "+ s" para marcar el archivo como sistema. Al agregar el parámetro "/ S", la utilidad attrib aplicará los cambios de forma recursiva. En Linux / Mac, los usuarios pueden ocultar archivos y carpetas simplemente especificando un "." Al comienzo del nombre del archivo. Después de eso, los archivos y las carpetas se ocultarán de la aplicación Finder y, como la utilidad "ls". En macOS, los archivos se pueden marcar con UF_HIDDEN, lo que deshabilitará su visibilidad en Finder.app, pero no evitará que se vean archivos ocultos en Terminal.app. Muchas aplicaciones crean archivos y carpetas ocultos para no saturar el espacio de trabajo del usuario. Por ejemploLas utilidades SSH crean una carpeta .ssh oculta que almacena una lista de hosts conocidos y claves de usuario.

Recomendaciones de protección: Evitar el uso de esta técnica es difícil debido a que ocultar archivos es una característica estándar del sistema operativo.

Interceptar llamadas a funciones de la API de Windows (enlace)


Sistema:
Derechos de Windows : Administrador,
Descripción del sistema : las funciones de la API de Windows generalmente se almacenan en archivos DLL. La técnica de conexión es redirigir las llamadas a las funciones API mediante:
  • Procedimientos de enlace: procedimientos integrados en el sistema operativo que ejecutan código cuando se llaman varios eventos, por ejemplo, pulsaciones de teclas o mover el mouse;
  • Modificaciones a la tabla de direcciones (IAT), que almacena punteros a funciones API. Esto le permitirá "engañar" a la aplicación atacada, forzándola a iniciar una función maliciosa;
  • Cambio directo de función (empalme), durante el cual se cambian los primeros 5 bytes de la función, en lugar de que se inserta la transición a una función maliciosa u otra determinada por el atacante.

Al igual que las inyecciones, los atacantes pueden usar el enganche para ejecutar código malicioso, enmascarar su ejecución, acceder a la memoria del proceso atacado y aumentar los privilegios. Los atacantes pueden capturar llamadas API que incluyen parámetros que contienen datos de autenticación. El enganche generalmente es utilizado por rootkits para ocultar actividades maliciosas en el sistema.

Recomendaciones de protección:La interceptación de eventos en el sistema operativo es parte del funcionamiento normal del sistema, por lo que cualquier restricción de esta funcionalidad puede afectar negativamente la estabilidad de las aplicaciones legítimas, como el software antivirus. Los esfuerzos para evitar el uso de técnicas de intercepción deben centrarse en las etapas más tempranas de la cadena de ataque. Puede detectar actividad de enganche maliciosa al monitorear las llamadas a las funciones SetWindowsHookEx y SetWinEventHook, utilizando detectores de rootkit y analizando el comportamiento anómalo de los procesos.

Hipervisor


Sistema:
Derechos de Windows : Administrador,
Descripción del sistema : el hipervisor puede verse comprometido por un atacante y tener rootkits ocultos de los sistemas invitados.
Recomendaciones de seguridad: evite el acceso malicioso a cuentas privilegiadas necesarias para instalar y configurar un hipervisor.

Inyección IFEO (inyección de opciones de ejecución de archivos de imagen)


Sistema:
Derechos de Windows : Administrador,
Descripción del sistema : El mecanismo de Opciones de ejecución de archivos de imagen (IFEO) le permite ejecutar un depurador de programa en lugar de un programa, previamente especificado por el desarrollador en el registro:
  • HKLM \ Software \ Microsoft \ Windows NT \ CurrentVersion \ Opciones de ejecución de archivos de imagen / [ejecutable]
  • HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\[executable] ,, [executable] — .

Al igual que las inyecciones, se puede abusar del valor [ejecutable] ejecutando código arbitrario para aumentar los privilegios u obtener un punto de apoyo en el sistema. Los programas maliciosos pueden usar IFEO para eludir la protección mediante el registro de depuradores que redirigen y rechazan diversas aplicaciones de sistema y seguridad.

Recomendaciones de protección: La técnica descrita se basa en el abuso de las herramientas de desarrollo de SO normales, por lo que cualquier restricción puede causar inestabilidad de software legítimo, por ejemplo, aplicaciones de seguridad. Los esfuerzos para evitar el uso de las técnicas de inyección de IFEO deben centrarse en las primeras etapas de la cadena de ataque. Puede detectar dicho ataque monitoreando procesos con Debug_process yDebug_only_this_process .

Extensiones y módulos de núcleo cargables (Módulos y extensiones de núcleo)


Sistema: Linux, macOS
Derechos:
Descripción raíz : Los módulos de kernel descargables (LKM) son programas especiales que se pueden cargar y descargar desde el kernel sin la necesidad de un reinicio completo del sistema. Por ejemplo, LKM incluye controladores de dispositivo. Los atacantes pueden cargar LKM maliciosos utilizando varios rootkits. Por lo general, estos rootkits se rompen, los archivos, los procesos, la actividad de la red, los registros de auditoría falsos, proporcionan puertas traseras. Al igual que LKM en macOS, existen los llamados KEXT que se cargan y descargan con los comandos kextload y kextunload.

Recomendaciones de protección:Utilice las herramientas de detección de rootkit de Linux: rkhunter, chrootkit. Limite el acceso a la cuenta raíz, que es necesaria para cargar módulos en el núcleo. Utilice el control de acceso forzado de SELinux.

Modificación del encabezado LC_LOAD_DYLIB Adición en archivos Mach-O (LC_LOAD_DYLIB Adición)


Sistema:
derechos de macOS :
Descripción del usuario : los archivos Mach-O contienen una serie de encabezados que se utilizan para realizar ciertas operaciones al descargar un archivo binario. El encabezado LC_LOAD_DYLIB en los binarios de Mach-O le dice al sistema operativo qué bibliotecas dylib cargar. Los cambios en los encabezados invalidarán la firma digital, sin embargo, un atacante puede eliminar el comando LC_CODE_SIGNATURE del archivo binario y el sistema no verificará que la firma sea correcta cuando se descargue.

Recomendaciones de protección: todos los archivos binarios deben estar firmados con las ID de desarrollador de Apple correctas, y las listas blancas de aplicaciones se compilan de acuerdo con hashes conocidos.

Controladores de la Autoridad de seguridad local (controlador LSASS)


Sistema:
Derechos de Windows : Administrador,
Descripción del sistema : Autoridad de Seguridad Local (LSA): un subsistema de Windows que proporciona autenticación de usuario. El LSA incluye varias DLL dinámicas interconectadas que se ejecutan en el proceso LSASS.exe. Los atacantes pueden atacar LSASS.exe reemplazando o agregando controladores LSA ilegítimos y luego ejecutando código arbitrario. La técnica se implementa en el malware Pasam y Wingbird, que "arroja" las DLL modificadas utilizadas para cargar LSASS. En este caso, el código malicioso se ejecuta antes de que la DLL ilegítima cause un bloqueo y el posterior bloqueo del servicio LSASS.

Recomendaciones de protección: En Windows 8.1 y Server 2012 R2, habilite la protección LSA activando la clave especificada:
  • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa \ RunAsPPL = dword: 00000001.

Esta protección garantiza que los complementos y controladores cargados con LSA estén firmados digitalmente por Microsoft. En Windows 10 y Server 16, habilite Credential Guard de Windows Defender para ejecutar lsass.exe en un entorno virtual aislado. Para reducir el riesgo de que las bibliotecas maliciosas se carguen en lsass.exe, habilite el modo seguro de búsqueda de DLL:
  • HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ Session Manager \ SafeDllSearchMode.


Agentes de lanzamiento


Sistema:
derechos de macOS : Usuario, administrador
Descripción: La técnica consiste en abusar de la funcionalidad de creación y lanzamiento por parte de los usuarios Agentes de lanzamiento: servicios de ejecución automática a nivel de usuario. Cuando cada usuario inicia sesión en el sistema, launchd carga los parámetros de los Agentes de lanzamiento desde los archivos * .plist. Los archivos Plist tienen una estructura XML y contienen instrucciones que le indican a launchd qué ejecutables y cuándo iniciar. Los archivos Plist se pueden encontrar en los siguientes directorios:
  • / System / Library / LaunchAgents;
  • / Library / LauncAgents;
  • $ Inicio / Biblioteca / Agentes de lanzamiento.

Los atacantes también pueden enmascarar los nombres de agentes de lanzamiento maliciosos utilizando los nombres de programas legítimos. Por ejemplo, el troyano Komplex crea un agente de lanzamiento: $ HOME / Library / LaunchAgents / com.apple.updates.plist.

Recomendaciones de protección: con la directiva de grupo, configure la restricción para los usuarios que crean agentes de lanzamiento. La creación de agentes de lanzamiento implica cargar o crear archivos plist en el disco, por lo tanto, concentre sus esfuerzos de defensa en las primeras etapas del ataque.

Lanzar demonios (lanzar demonio)


Sistema:
derechos de macOS :
Descripción del administrador : La técnica consiste en cambiar los parámetros de los servicios de nivel de inicio del sistema: el Daemon de inicio, especificado en los archivos plist, por el atacante. Cuando se inicia el sistema, el proceso Lanzado carga los parámetros de servicios (daemons) de los archivos plist ubicados en los siguientes directorios:
  • / System / Library / LaunchDeamons;
  • / Library / LaunchDeamons.

Launch Daemon se puede crear con privilegios de administrador, pero se ejecuta bajo la cuenta raíz, por lo que un atacante puede escalar privilegios. Los permisos de los archivos plist deben ser root: mientras que, sin embargo, el script o programa especificado en él puede tener permisos menos estrictos. Por lo tanto, un atacante puede modificar los archivos ejecutables especificados en plist, y así modificar los servicios actuales del sistema para asegurar el sistema o escalar privilegios. Consejos de

seguridad: limite los privilegios del usuario para que solo los administradores autorizados puedan crear Launch Daemon. Considere monitorear cómo se crean los archivos plist en su sistema utilizando aplicaciones como KnockKnock.

Launchctl Utility

Sistema: macOS
Derechos: Usuario, Administrador
Descripción: Launchctl: una utilidad para administrar el servicio Launchd. Con Launchctl, puede administrar los servicios del sistema y del usuario (LaunchDeamons y LaunchAgents), así como ejecutar comandos y programas. Launchctl admite subcomandos de línea de comandos que son interactivos o redirigidos desde la entrada estándar:
launchctl submit -l [labelname] - / Path / to / thing / to / execute '' arg "'' arg" '' arg ".
Iniciar y reiniciar servicios y Demonios, los atacantes pueden ejecutar código e incluso omitir la lista blanca si launchctl es un proceso autorizado; sin embargo, cargar, descargar y recargar servicios y demonios puede requerir privilegios elevados.

Recomendaciones de protección:Limitar los derechos de los usuarios para crear Agentes de lanzamiento y lanzar Deamons de lanzamiento utilizando la Política de grupo. Con la aplicación KnockKnock, puede descubrir programas que usan launchctl para administrar Agentes de lanzamiento y Deamons de lanzamiento.

Programa de trabajo local


Sistema: Linux, macOS
Derechos: usuario, administrador, raíz
Descripción: Los atacantes pueden crear tareas en los sistemas atacados para que los programas no autorizados se inicien cuando el sistema se inicia o según un cronograma. Los sistemas Linux y Apple admiten varios métodos para programar el lanzamiento de tareas periódicas en segundo plano: cron, at, launchd. A diferencia del Programador de tareas de Windows, la programación de tareas en sistemas Linux no se puede hacer de forma remota, excepto para usar sesiones remotas como SSH.

Recomendaciones de protección: limitar los derechos de los usuarios para crear tareas programadas, bloquear las utilidades del sistema y otro software que se puede usar para programar tareas.

Artículos de inicio de sesión


Sistema:
derechos de macOS :
Descripción del usuario : los atacantes para protegerse en el sistema pueden configurar su código para que se inicie automáticamente utilizando elementos de inicio de sesión (configuración del usuario para el inicio de la aplicación en cada inicio de sesión). Los elementos de inicio de sesión creados con el Marco de administración de servicios no se muestran en la configuración del sistema y solo se pueden eliminar a través de la aplicación en la que se crearon. Los usuarios solo pueden administrar los elementos de inicio de sesión que se muestran en la configuración del sistema. La configuración de dichos elementos de inicio de sesión se almacena en el archivo plist en el directorio del usuario:
~ / Library / Preferences / com.apple.loginitems.plist.
Las aplicaciones que forman parte del elemento de inicio de sesión pueden mostrar ventanas que son visibles para el usuario al inicio, pero puede ocultarlas con la opción "Ocultar".

Recomendaciones de protección: limite los derechos de usuario para crear un elemento de inicio de sesión. Vale la pena señalar que mantener presionada la tecla Mayús durante el inicio de sesión evita que las aplicaciones se inicien automáticamente. Controle la configuración del elemento de inicio de sesión ( Configuración del sistema → Usuarios y grupos → Elementos de inicio de sesión ).

Scripts de inicio de sesión


Sistema: Windows, macOS
Descripción: para consolidarse en el sistema, un atacante puede usar la capacidad de crear nuevos o modificar scripts de inicio de sesión existentes, scripts que se ejecutan cada vez que un usuario o grupo de usuarios en particular inicia sesión en el sistema. Si un atacante obtuvo acceso a una secuencia de comandos de inicio de sesión en un controlador de dominio de Windows, puede modificarlo para ejecutar código en todos los sistemas del dominio para "desplazar" la red. Dependiendo de la configuración de los derechos de acceso a los archivos de comandos de inicio de sesión (por lo general, dichos archivos de comandos se almacenan en \\ [DC] \ NETLOGON \ ), el atacante puede necesitar credenciales locales o administrativas.

En Mac, secuencias de comandos de inicio de sesión (enlace de inicio de sesión / cierre de sesión), a diferencia del elemento de inicio de sesión, que se inicia en el contexto del usuario, se puede ejecutar como root.

Recomendaciones de seguridad: Restricción de privilegios de administrador para crear scripts de inicio de sesión. Identificación y bloqueo de software potencialmente peligroso que se puede utilizar para modificar escenarios de inicio de sesión.

Modificar servicios existentes


Sistema:
Derechos de Windows : Administrador,
Descripción del sistema : para iniciar repetidamente código malicioso en un sistema, un atacante puede modificar la configuración de los servicios existentes utilizando las utilidades o herramientas del sistema para interactuar con la API de Windows. Los atacantes pueden dañar o matar intencionalmente un servicio para la posterior invocación de un programa modificado o comando de restauración del servicio. El uso de servicios existentes es una de las técnicas de enmascaramiento que dificulta la detección de actividad maliciosa. La información sobre la configuración de los servicios de Windows, incluida la ruta a los programas y comandos para iniciar y restaurar el servicio, se almacena en el registro:
  • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services .

Puede cambiar la configuración de los servicios utilizando las utilidades de consola sc.exe y Reg.

Recomendaciones de protección: limitar los privilegios de los usuarios y grupos para cambiar las configuraciones del servicio, otorgando derechos solo a los administradores autorizados. Bloqueo de software potencialmente peligroso. Para estudiar los cambios en los servicios del sistema con el fin de identificar los intentos de proteger a un atacante en el sistema, puede usar la utilidad Sysinternals Autoruns.

DLL de Netsh Helper (DLL de Netsh Helper)


Sistema: Windows
Derechos: Administrador, Sistema
Descripción: los atacantes pueden ejecutar código utilizando la utilidad de consola Netsh incorporada, que permite cargar archivos DLL de extensión para ampliar la funcionalidad:
netsh> agregar ayuda [ruta DLL]
La información sobre las bibliotecas registradas utilizadas por netsh se almacena en el registro:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ NetSh
Algunos clientes VPN corporativos y utilidades de red pueden usar netsh.exe, iniciándolo en nombre del sistema; en esta situación, el atacante puede registrar o modificar la DLL auxiliar que se ejecutará cuando el cliente VPN use netsh. Las herramientas para implementar este tipo de ataque se incluyen con CobaltStrike (marco de prueba de penetración).

Consejos de seguridad: Bloquee software potencialmente peligroso utilizando herramientas como AppLocker.

Nuevos servicios


Sistema: Windows
Derechos: Administrador, Sistema
Descripción: Nombre de acceso al sistema, los atacantes pueden crear nuevos servicios y configurarlos para que se inicien automáticamente. El nombre del servicio se puede enmascarar utilizando nombres específicos del sistema operativo. Los servicios se pueden crear con privilegios de administrador, pero se ejecutan en nombre del sistema. Los servicios se pueden crear desde la línea de comandos, usando herramientas de acceso remoto con interoperabilidad con la API de Windows, o usando herramientas de administración estándar de Windows y PowerShell.

Recomendaciones de seguridad: limite los derechos de usuario para crear nuevos servicios para que solo los administradores autorizados puedan hacerlo. Aplicar AppLocker y la Política de restricción de software .

Inicio automático en aplicaciones de Office (inicio de aplicaciones de Office)


Sistema: Windows
Derechos: Usuario, Administrador
Descripción: algunos mecanismos de trabajo de MS Office se pueden usar para ejecutar código cuando se ejecutan aplicaciones de oficina y, como resultado, para proporcionar a los atacantes su constancia en el sistema:
• Incrustar macros maliciosas de VBA en las plantillas básicas de Office. Word usa la plantilla Normal.dotm:
C: \ Users \ [Nombre de usuario] \ AppData \ Roaming \ Microsoft \ Templates \ Normal.dotm .
No hay una plantilla predeterminada en Excel, sin embargo, puede agregarla manualmente y se cargará automáticamente:
C: \ Usuarios \ [Nombre de usuario] \ AppData \ Roaming \ Microsoft \ Excel \ XLSTART \ Personal.xls .
La implementación del ataque solo es posible si la opción " Ejecutar todas las macros " está habilitada en el Centro de confianza de Office:
HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ [Version] \ [Application] \ Security \ VBAWarnings: 1;
• Al colocar un enlace DLL en la sección de prueba de Office del registro de Windows, la DLL especificada se ejecuta cada vez que se inicia la aplicación de Office:
HKEY_CURRENT_USER \ Software \ Microsoft \ Office Test \ Special \ Perf \ [Predeterminado]: [Especifique la ruta a la DLL];
• Agregar complementos a la aplicación de Office con código malicioso que se ejecutará cuando se inicie la aplicación atacada.

Mejores prácticas de seguridad : siga las mejores prácticas de Microsoft al configurar las opciones de seguridad de macro . Para evitar el funcionamiento del mecanismo de prueba de Office, cree la sección especificada en el registro y establezca permisos de solo lectura para evitar el acceso a ella sin derechos de administrador. Si es posible, deshabilite los complementos de Office, si los necesita, luego siga las recomendaciones de Microsoft al organizar su trabajo.

Intercepción de ruta


Sistema: Windows
Derechos: usuario, administrador, sistema
Descripción: la técnica de interceptar una ruta es colocar el archivo ejecutable en un directorio desde el cual la aplicación lo iniciará en lugar del archivo de destino. Un atacante puede usar los siguientes métodos:
  • Rutas inexistentes. Las rutas a los archivos ejecutables del servicio se almacenan en las claves de registro y pueden tener uno o más espacios, por ejemplo, C: \ Archivos de programa \ service.exe , si el atacante crea el archivo C: \ Program.exe en el sistema, Windows lo iniciará en lugar de procesar la ruta archivo objetivo de servicio.
  • Configuración incorrecta de variables de entorno. Si en la variable PATH la ruta C: \ example precede a c: \ Windows \ System32 y existe el archivo C: \ example \ net.exe , cuando se llame al comando net, se ejecutará C: \ example \ net.exe , y no c: \ Windows \ System32 \ net.exe .
  • Intercepción del orden de búsqueda (Secuestro de orden de búsqueda). Cuando no se especifica la ruta completa al archivo ejecutable, Windows, por regla general, busca el archivo con el nombre especificado en el directorio actual, luego busca en los directorios del sistema. Por ejemplo, el archivo "example.exe", cuando se ejecuta, inicia cmd.exe con argumentos para ejecutar el comando net use. El atacante puede colocar el archivo net.exe en el directorio de ubicación de example.exe y se iniciará en lugar de la utilidad c: \ Windows \ System32 \ net.exe . Además, si el atacante coloca el archivo net.com en el directorio con el archivo net.exe, Windows ejecutará net.com de acuerdo con el orden de ejecución definido en la variable de sistema PATHEXT.

La interceptación de orden de búsqueda de archivos también se utiliza para ejecutar archivos DLL utilizando la técnica de búsqueda de secuestro de archivos DLL .

Recomendaciones de seguridad: las comillas indican las rutas especificadas en los archivos de configuración, los scripts, la variable PATH, la configuración del servicio y los accesos directos. Recuerde el orden de búsqueda de archivos ejecutables y use solo rutas completas. Limpie las claves de registro antiguas que quedan del software remoto para que no queden claves en el registro que apunten a archivos inexistentes. Establezca una prohibición de escritura por parte de los usuarios del sistema en el directorio raíz C: \ y los directorios del sistema de Windows, limite los permisos de escritura a los directorios con archivos ejecutables.

Modificación de archivos Plist (Modificación Plist)


Sistema: macOS
Derechos: Usuario, Administrador
Descripción: los atacantes pueden modificar archivos plist especificando en ellos su propio código para su ejecución en el contexto de otro usuario. Los archivos de propiedades de plist ubicados en / Library / Preferences se ejecutan con privilegios elevados, y los archivos de plist de ~ / Library / Preferences se ejecutan con privilegios de usuario.

Consejos de seguridad : evite que los archivos plist se modifiquen haciéndolos de solo lectura.

Golpe de puerto


Sistema: Linux, macOS
Derechos: usuario
Descripción: los atacantes pueden usar los métodos de detección de puertos para ocultar los puertos abiertos que usan para conectarse al sistema.

Consejos de seguridad: el uso de firewalls con estado puede evitar que se implementen algunas opciones de Knock Port.

Modificación de los monitores de puertos en el Administrador de impresión (monitores de puertos)


Sistema: Windows
Derechos: Administrador, Sistema
Descripción: un atacante puede organizar la ejecución de una DLL arbitraria en nombre del sistema cada vez que Windows se inicia utilizando el abuso de la configuración del Administrador de impresión (Spoolsv.exe). Para interactuar con los dispositivos de impresión, Spoolsv.exe utiliza los llamados monitores de puertos, estos son archivos DLL que utilizan comandos de bajo nivel para enviarlos a los dispositivos de impresión a través de una interfaz LAN, USB, LPT o COM. Las DLL anteriores se almacenan en C: \ windows \ system32 y se registran en el registro:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Print \ Monitors .
Port Monitor se puede instalar utilizando la API AddMonitor o directamente editando la clave de registro anterior.

Recomendaciones de protección: organice el bloqueo de software potencialmente peligroso y use herramientas de control de inicio de aplicaciones.

Rc.common


Sistema: macOS
Derechos: root
Descripción: Un atacante puede agregar código al archivo /etc/rc.common que se ejecutará cada vez que el sistema se inicie como root. Rc.common es un script que se ejecuta durante el arranque de OC y es el precursor de Launch Agents y Launh Deamons. Esta es una tecnología obsoleta para programas de inicio automático, pero aún es compatible con macOS y OS X.

Recomendaciones de seguridad: restrinja los privilegios del usuario para editar el archivo rc.common.

Aplicaciones reabiertas


Sistema: macOS
Derechos: usuario
Descripción: en los sistemas que comienzan con OS X 10.7 (Lion) , un atacante puede organizar la ejecución de un archivo malicioso cada vez que se reinicia el sistema operativo. La técnica se basa en el abuso de la función de reiniciar aplicaciones después de reiniciar el sistema. Usando las herramientas integradas en la GUI, el usuario puede decirle al sistema qué aplicaciones deben reiniciarse en caso de reinicio del sistema operativo. Estas configuraciones se almacenan en archivos plist:
  • ~ / Library / Preferences / com.apple.loginwindow.plist;
  • ~ / Library / Preferences / ByHost / com.apple.loginwindows. *. Plist.

Un atacante puede modificar los archivos anteriores para ejecutar código malicioso cada vez que se reinicia el sistema.

Recomendaciones de protección: la función de reinicio de la aplicación se puede deshabilitar con el comando de consola: valores predeterminados write -g ApplePersistence -bool no .
Además, mantener presionada la tecla Mayús durante el arranque evita que las aplicaciones se inicien automáticamente.

Acceso redundante


Sistema: Windows, Linux, macOS
Derechos: usuario, administrador, sistema
Descripción: los atacantes pueden usar simultáneamente varias herramientas de acceso remoto con diferentes protocolos de control para diversificar los riesgos de detección. Por lo tanto, si se detecta y bloquea una de las herramientas de acceso remoto, pero la parte defensora no ha identificado todas las herramientas del atacante, el acceso remoto a la red atacada se conservará. Los atacantes también pueden intentar obtener acceso a cuentas válidas de servicios corporativos remotos, como las VPN, para obtener acceso alternativo al sistema en caso de bloquear las herramientas básicas de acceso remoto. El uso de un shell web también es una de las formas de acceder de forma remota a una red a través de un servidor web.

Recomendaciones de protección: Monitoree la presencia y el bloqueo del inicio de herramientas de acceso remoto conocidas en su red (AmmyAdmin, Radmin, RemotePC, VNC, etc.), use herramientas para controlar el inicio de aplicaciones y bloquear software potencialmente peligroso. La introducción de sistemas IDS e IPS que detectan malware específico mediante firmas reducirá la probabilidad de un ataque exitoso, pero con el tiempo, los atacantes modificarán sus herramientas para cambiar la firma y, como resultado, evitarán los sistemas IDS e IPS.

Inicio automático con la tecla Ejecutar claves y la carpeta Inicio (Registro Ejecutar claves / Carpeta de inicio)


Sistema: Windows
Derechos: Usuario, Administrador
Descripción: Un atacante puede agregar "claves de ejecución" o un enlace a la carpeta Inicio en el registro de Windows para iniciar un archivo malicioso cuando un usuario inicia sesión en el sistema. El programa se ejecutará con los derechos del usuario actual. Los atacantes pueden enmascarar las claves de inicio en el registro para que parezcan parte de programas legítimos.
Las claves de ejecución se almacenan en las siguientes claves de registro:
  • HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Run;
  • HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ RunOnce;
  • HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Run;
  • HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ RunOnce.


Recomendaciones de protección: identificación y bloqueo de software potencialmente peligroso, monitoreo de cambios en la carpeta de inicio y las ramas de registro enumeradas anteriormente.

Secuestro de proveedores de confianza y SIP (proveedor de confianza y SIP) , subvirtiendo la confianza en Windows


Sistema: Windows
Derechos: Administrador, Sistema
Descripción: los atacantes pueden modificar los componentes de la arquitectura para firmar y verificar la firma digital del código de Windows para evitar los medios de controlar el lanzamiento de programas que permiten ejecutar solo el código firmado. Para crear, firmar y verificar la firma de archivos de varios formatos en Windows, se utiliza el denominado Paquete de interfaz de sujeto (SIP) , especificaciones de software que son únicas para cada tipo de archivo, a través de las cuales la interacción entre las funciones API inicia la creación, el cálculo y la verificación de firmas y directamente archivos. El proveedor de confianza confirma la validez de la firma: estos son componentes de software del sistema operativo que realizan diversos procedimientos relacionados con el cálculo y la verificación de firmas digitales.
Métodos de ataque populares:
  • Modificación de las claves DLL y FuncName en la sección CryptSIPDllGetSignedDataMsg :
    HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Cryptography \ OID \ EncodingType 0 \ CryptSIPDllGetSignedDataMsg \ [SIP_GUID] .
    Se realiza para reemplazar la biblioteca DLL que proporciona la función CryptSIPDllGetSignedDataMSG , que devuelve el certificado digital codificado del archivo firmado. Una función falsa siempre puede devolver un valor de firma válido previamente conocido (por ejemplo, una firma de Microsoft para archivos de sistema ejecutables) cuando se utiliza un SIP modificado. Un atacante puede intentar aplicar una firma válida para todos los archivos, sin embargo, lo más probable es que esto conduzca a la invalidación de la firma, ya que el hash devuelto por la función no coincidirá con el hash calculado desde el archivo.
  • Modificación de las claves DLL y FuncName en la sección:
    HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Cryptography \ OID \ EncodingType 0 \ CryptSIPDllVerifyIndirectData / [SIP_GUID] .
    Se realiza para reemplazar la biblioteca DLL que proporciona la función CryptSIPDllVerifyIndirectData , que verifica el hash calculado a partir del archivo con el hash especificado en la firma digital y devuelve el resultado de la verificación (True / False). Por lo tanto, un atacante puede garantizar la verificación exitosa de cualquier archivo utilizando SIP modificado. Los valores clave anteriores pueden redirigir a una función adecuada desde una biblioteca existente, eliminando así la necesidad de crear un nuevo archivo DLL en el disco.
  • Modificación de las claves DLL y FuncName en la sección:
    HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Cryptography \ Providers \ Trust \ FinalPolicy / [Trust Provider GUID] .
    El propósito de esto es reemplazar la biblioteca DLL que proporciona la función FinalPolicy para un proveedor de confianza específico, que decodifica, analiza la firma y toma una decisión sobre la confianza. Similar a CryptSIPDllVerifyIndirectData, el valor de las claves anteriores puede redirigir a una DLL existente.

Es importante tener en cuenta que el ataque descrito en el mecanismo de confianza de Windows se puede implementar utilizando la técnica de secuestro de órdenes de búsqueda de DLL.

Recomendaciones de protección: asegúrese de que los usuarios del sistema protegido no puedan modificar las claves de registro relacionadas con los componentes SIP y Trust Provider. Considere eliminar SIP innecesarios y obsoletos. Use todo tipo de medios para bloquear la descarga de archivos DLL maliciosos, por ejemplo, aquellos integrados en Windows AppLocker y DeviceGuard.

Tarea programada


Sistema: Windows
Derechos: usuario, administrador, sistema
Descripción: Las utilidades como at, schtasks y Windows Task Scheduler se pueden usar para programar programas y scripts para que se ejecuten en una fecha y hora específicas. Se puede programar una tarea en un sistema remoto, siempre que se use RPC para la autenticación y la impresora y el uso compartido de archivos esté habilitado. La programación de tareas en un sistema remoto requiere privilegios de administrador. Un atacante podría usar la ejecución remota de código para obtener privilegios del sistema o iniciar un proceso con una cuenta específica.

Recomendaciones de protección: limite los privilegios del usuario. El uso de herramientas, como el módulo PowerUP en PowerSploit, que se pueden utilizar para encontrar debilidades en la resolución de tareas programadas. Deshabilitar la capacidad de iniciar tareas en nombre del sistema, deshabilitar la opción " Permitir a los operadores del servidor programar tareas " en la política de seguridad y habilitar la configuración " Asignación de derechos de usuario: aumentar la prioridad de programación ".

Protector de pantalla (protector de pantalla)


Sistema: Windows
Derechos: usuario
Descripción: los atacantes pueden usar la configuración del protector de pantalla para lanzar malware después de un cierto período de inactividad del usuario.
La aplicación Windows Screensaver (scrnsave.exe) se encuentra en C: \ Windows \ System32 , junto con otros protectores de pantalla incluidos en el ensamblaje del sistema operativo base. Un atacante puede manipular los parámetros de la pantalla de presentación en la clave de registro HKEY_CURRENT_USER \ Control Panel \ Desktop :
  • SCRNSAVE.EXE: especifique la ruta al archivo ejecutable malicioso;
  • ScreenSaveActivr: establezca el valor en "1" para activar el protector de pantalla;
  • ScreenSaverISSecure: establezca el valor en "0" para que el sistema no requiera una contraseña para desbloquear el escritorio de Windows después de desactivar el protector de pantalla;
  • ScreenSaverTimeout: establece el período de inactividad antes de iniciar el protector de pantalla.


Recomendaciones de protección: bloquee la capacidad de ejecutar archivos * .scr desde ubicaciones no estándar. Administre la configuración de su protector de pantalla utilizando la Política de grupo, que prohíbe los cambios locales en la configuración de su protector de pantalla.

Proveedor de soporte de seguridad (SPP)


Sistema: Windows
Derechos: administrador
Descripción: los atacantes pueden configurar el código malicioso para que se ejecute cada vez que se inicia el sistema o se llama a la función AddSecurityPackage API agregando un proveedor de soporte de seguridad (SSP) falso a la configuración de la Autoridad de seguridad local (LSA). SSP: módulos de programa (DLL) que contienen uno o más esquemas de autenticación y criptografía que se cargan en el proceso LSASS al inicio del sistema. Las DLL de SPP tienen acceso a contraseñas cifradas y de texto sin formato almacenadas en Windows. La configuración de SPP se almacena en dos claves de registro:
  • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa \ Paquetes de seguridad ;
  • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa \ OSConfig \ Security Packages .

Recomendaciones de protección: en Windows 8.1, Windows Server R2 y versiones posteriores del sistema operativo, debe activar el modo protegido LSA (Process Protect Light - PPL), en el que todos los archivos DLL SPP deben estar firmados digitalmente por Microsoft:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa \ RunAsPPL = dword: 00000001

Debilidades en el registro de servicio Permisos Debilidad


Sistema: Windows
Derechos: Administrador, Sistema
Descripción: si los permisos de usuarios y grupos permiten cambiar los valores de las claves en el registro de Windows donde se almacenan los parámetros del servicio, los atacantes pueden modificar directamente las claves que almacenan las rutas a los archivos ejecutables para iniciar los servicios o utilizar varias herramientas de administración de servicios: sc.exe, PowerShell o Reg. Los atacantes también pueden cambiar los parámetros relacionados con la falla del servicio, por ejemplo, FailureCommand, que indica un comando que se ejecutará en caso de una falla del servicio o daño intencional. Los parámetros de servicio se almacenan en HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services .

Recomendaciones de protección: asegúrese de que los usuarios del sistema protegido no puedan cambiar las claves del registro que almacenan los parámetros de los componentes del sistema. Utilice todos los medios posibles para bloquear software potencialmente peligroso, por ejemplo, Windows AppLocker.

Modificación de acceso directo


Sistema:
Derechos de Windows : Usuario, Administrador
Descripción: Los atacantes pueden crear nuevos accesos directos y enlaces simbólicos disfrazados de programas legítimos o modificar las rutas en los accesos directos existentes para que sus herramientas se ejecuten en lugar de la aplicación original.

Recomendaciones de seguridad: limite los derechos de los usuarios y grupos, como Administradores, para crear enlaces simbólicos utilizando el GPO:
Configuración del equipo> [Políticas]> Configuración de Windows> Configuración de seguridad> Políticas locales> Asignación de derechos de usuario: Crear enlaces simbólicos.
Use herramientas para bloquear software potencialmente peligroso y la Política de restricción de software.

Artículos de inicio


Sistema:
derechos de macOS :
Descripción del administrador : Un atacante puede usar el mecanismo obsoleto, pero aún trabajando en macOS Sierra, mecanismo de inicio automático para aplicaciones que usan StartupItems para configurar el lanzamiento de su código con privilegios de root en el momento del arranque. StartupItems es un directorio en / Library / Startupitems , un script de comando y un archivo de propiedades StartupParameters.plist. El script y el archivo de propiedades deben estar en la parte superior de la jerarquía: / Library / Startupitems / [MyStartupItem] .

Recomendaciones de protección: dado que el mecanismo StartupItems es obsoleto, la prohibición de escribir en el directorio / Library / Startupitems / le permitirá evitar la creación de elementos de inicio.

Firmware del sistema


Sistema:
Derechos de Windows : Administrador,
Descripción del sistema : los atacantes especialmente sofisticados pueden modificar o actualizar Bios, UIFI o UFI, a fin de proporcionar la capacidad de instalar actualizaciones de firmware maliciosas y repararlas en el sistema.

Recomendaciones de protección: dirija el vector de protección para evitar que el atacante acceda a cuentas privilegiadas que son necesarias para implementar la técnica descrita. Considere la necesidad y aplicabilidad del Trusted Platform Module (TPM) en el sistema protegido . Considere la necesidad de usar herramientas externas para monitorear y analizar la seguridad del firmware del sistema, por ejemplo, el Marco CHIPSEC .

Proveedores de tiempo


Sistema:
Derechos de Windows : Administrador,
Descripción del sistema : Los atacantes pueden registrar como proveedor de tiempo (Proveedor de tiempo) una DLL maliciosa que se ejecutará cuando el sistema se inicie o cambie la configuración de Windows Time Server (W32Time). Los parámetros de los proveedores de tiempo se almacenan en el registro:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ W32Time \ TimeProviders .
Para registrar un proveedor de tiempo, necesitará derechos de administrador, pero se ejecutará en el contexto de la cuenta de servicio local.

Recomendaciones de protección:Considere usar un GPO para configurar cambios de bloqueo en la configuración de W32Time. Use todo tipo de medios para bloquear la descarga de archivos DLL maliciosos, por ejemplo, aquellos integrados en Windows AppLocker y DeviceGuard.

Equipo trampa


Sistema: Linux, macOS
Derechos: usuario, administrador
Descripción: El comando trap protege el script de interrupciones ( ctrl + c, ctrl + d, ctrl + z , etc.). Si el script recibe una señal de interrupción especificada en los argumentos del comando trap, procesa la señal de interrupción por sí sola, mientras que el shell no procesará dicha señal. Los atacantes pueden usar trap para registrar el código que se ejecutará cuando el shell reciba ciertas señales de interrupción.

Recomendaciones de protección:El uso de esta técnica es difícil de prevenir, porque el atacante utiliza los mecanismos estándar del sistema operativo. El vector de protección debe estar dirigido a prevenir acciones maliciosas en las primeras etapas del ataque, por ejemplo, en la etapa de entrega o creación de un archivo malicioso en el sistema.

Cuentas Validas


Descripción: los atacantes pueden robar las credenciales de una cuenta de usuario o servicio específica mediante credenciales de acceso, capturar credenciales en el proceso de inteligencia mediante ingeniería social. Las credenciales comprometidas se pueden usar para omitir los sistemas de control de acceso y obtener acceso a sistemas remotos y servicios externos, como VPN, OWA, Escritorio remoto, o para obtener privilegios elevados en sistemas y áreas específicos de la red. Si el escenario es exitoso, los atacantes pueden rechazar el malware para que sea difícil de detectar. Además, los atacantes pueden crear cuentas con nombres y contraseñas predefinidos para mantener el acceso de respaldo en caso de intentos fallidos de utilizar otros medios.

Recomendaciones de protección: aplique una política de contraseña, siga las recomendaciones para diseñar y administrar una red corporativa para limitar el uso de cuentas privilegiadas en todos los niveles administrativos. Controles regulares de las cuentas de dominio y locales y sus derechos para identificar aquellos que podrían permitir a un atacante obtener un amplio acceso. Monitoreo de la actividad de la cuenta utilizando sistemas SIEM.

Shell web


Sistema: Windows, Linux, macOS
Descripción: un atacante puede utilizar Web Shell como puerta de acceso para acceder a su red o acceso redundante al sistema atacado, como un mecanismo de respaldo para proteger en caso de detección y bloqueo de los principales canales de acceso al entorno atacado.

Recomendaciones de protección:Asegúrese de que sus servidores web externos se actualicen regularmente y de que no haya vulnerabilidades conocidas que permitan a los atacantes cargar un archivo o script al servidor con posterior ejecución. Verifique que los permisos de las cuentas y grupos con derechos de administración del servidor no coincidan con las cuentas en la red interna que se pueden usar para iniciar sesión en el servidor web, iniciar el shell web o anclar al servidor web. Web Shell es difícil de detectar porque no inician conexiones y su lado del servidor puede ser pequeño e inofensivo, por ejemplo, la versión PHP del shell de China Chopper Web parece una línea:
[? php eval ($ _POST ['contraseña']);]

Suscripción de eventos de instrumentación de administración de Windows


Sistema:
Derechos de Windows : Administrador,
Descripción del sistema : WMI Event Subscription es una funcionalidad que le permite al administrador configurar la recepción de notificaciones de eventos, incluidas las que ocurrieron en sistemas remotos, seguido de la ejecución automática de cualquier acción (ejecutar un script, aplicación etc.) Los atacantes, para poder establecerse en el sistema, pueden abusar de la funcionalidad descrita anteriormente al configurar una suscripción para eventos como el reloj del sistema o el tiempo de funcionamiento de la computadora, seguido de la ejecución del código cuando ocurra este evento.

Recomendaciones de protección:Asegúrese de que solo las cuentas de administrador tengan derechos para conectarse de forma remota a WMI, y que en el sistema protegido no haya coincidencia de las cuentas de administrador del sistema con otras cuentas privilegiadas. Deshabilitar WMI puede causar inestabilidad del sistema, por lo tanto, requiere una evaluación preliminar de las posibles consecuencias negativas.

Winlogon Helper DLL


Sistema:
Derechos de Windows : Administrador,
Descripción del sistema : al modificar en el registro los parámetros de las DLL auxiliares utilizadas por Winlogon.exe, un atacante puede proporcionar múltiples ejecuciones de DLL maliciosas para su reparación en el sistema. Los parámetros de Winlogon se almacenan en secciones:
  • HKEY_CURRENT_USER \ Software \ Microsoft \ Windows NT \ CurrentVersion \ Winlogon
  • HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Winlogon

Se conocen varias subsecciones vulnerables:
  • Winlogon \ Notify : especifica archivos DLL que manejan eventos de Windows
  • Winlogon \ Userinit : apunta al archivo userinit.exe, el programa de inicialización del usuario que se ejecuta cuando el usuario inicia sesión en el sistema;
  • Winlogon \ Shell : apunta al archivo explorer.exe, el shell del sistema que se ejecuta cuando un usuario inicia sesión en el sistema.

Recomendaciones de protección: asegúrese de que solo los administradores autorizados puedan cambiar la configuración de Winlogon. Utilice todo tipo de medios para bloquear la descarga de archivos DLL maliciosos y programas potencialmente peligrosos, por ejemplo, aquellos integrados en Windows AppLocker y DeviceGuard.

Source: https://habr.com/ru/post/es425177/


All Articles