Llévame a tu controlador de dominio: protecciones y mitigaciones con las herramientas de confianza cero
En parte 1 de esta serie de blogs, vimos cómo descubrimiento los métodos se pueden utilizar en un compromiso inicial. El segundo mostró un ejemplo de robo de identidad utilizando técnicas pass-the-hash combinadas con herramientas de acceso remoto para movimiento lateral. En esta parte final, nos fijamos en cómo mitigar contra el movimiento lateral. Ya hemos discutido el ejemplo práctico de los dos enfoques complementarios que permiten el movimiento lateral: a nivel de aplicación y a nivel de red.

Debe quedar claro que por nivel de red en realidad nos referimos a la comunicación de host a host a través de la red, no necesariamente dispositivos de red como switches o routers. Un host puede ser una carga de trabajo como una máquina controladora de dominio, ya sea una máquina de servidor de base de datos física, virtual o incluso en contenedores. El nivel de aplicación también se refiere a lo que sucede dentro del propio host. Por ejemplo, binarios en disco, procesos en memoria, acciones de registro, etc.
Durante el movimiento lateral discutido en el blog anterior, la técnica pass-the-hash habilitada por MimiKatz se utilizó dentro del sistema operativo a nivel de aplicación mediante la recuperación de credenciales hash de la memoria de proceso LSASS de Windows.

El token de acceso elevado derivado de ese ataque se utilizó entonces para habilitar el acceso remoto mediante la herramienta PAexec que aprovecha Windows SCM.

Al analizar esta secuencia de ataque específica contra los dos niveles descritos anteriormente, el nivel de aplicación del sistema tendría que evitar el uso de Mimikatz primero o, en su defecto, PaExec, basado en la denegación predeterminada usando un lista de permitidos de aplicaciones. Alternativamente, tendríamos que detectar el lanzamiento del proceso en la memoria, por ejemplo, monitoreando las DLL cargadas o las llamadas API. El nivel de red tendría que aplicar la microsegmentación a nivel de host para evitar el movimiento entre sistemas, incluso si pueden estar en la misma subred o VLAN. La base de tráfico también permitirá detectar cualquier anomalía como la exfiltración de datos.
La siguiente imagen muestra el análisis estático de los binarios Mimikatz y PAexec y algunas de las dependencias del sistema, como las DLL que se importan.

El proceso en ejecución en memoria nos muestra el árbol de procesos de cmd que se utilizó tanto para Mimikatz pass-the-hash como para la conexión PaExec posterior al controlador de dominio.

Los forenses sobre el sistema de destino, en este caso el controlador de dominio, también mostrarán el binario utilizado en el controlador de dominio para facilitar la administración remota y, en este caso, el movimiento lateral.

Y la imagen de abajo también muestra el servicio asociado.

De forma predeterminada, utiliza la convención de nomenclatura estándar para los nombres de proceso binarios y resultantes. Esto, por supuesto, puede ser cambiado por un actor de amenazas.
Por lo tanto, es importante que los enfoques de mitigación tomen en consideración estos niveles de ataque: protecciones que analizan las amenazas a nivel de aplicación y protecciones que miran la seguridad a nivel de red con un enfoque en la comunicación de host a host. Esto significará entonces que la seguridad permanece y se mueve con el host o la carga de trabajo que se está protegiendo (por ejemplo, controlador de dominio máquina como carga de trabajo y las máquinas de punto final que acceden al controlador de dominio).
Aplicando este concepto de dos niveles al dominio y a los servidores y clientes asociados, la siguiente infografía muestra algunas de las consideraciones de seguridad importantes para proteger contra amenazas a los controladores de dominio y otros sistemas de dominio, como se analiza en esta serie de blogs.

Un buen punto de partida de la información es Mejores prácticas de Microsoft para asegurar Active Directory, que detalla enfoques de sentido común, como no iniciar sesión en computadoras no seguras con cuentas privilegiadas o navegar por Internet normalmente con una cuenta altamente privilegiada o incluso directamente desde controladores de dominio. La administración efectiva de privilegios y las listas de solicitudes de aplicaciones también pueden automatizar la restricción del uso de cuentas privilegiadas en todo el dominio y evitar el uso de aplicaciones no sancionadas.
Por ejemplo, a nivel de aplicación de la protección del sistema, Endpoint Detection and Response (EDR), combinado con las soluciones de Identity & Privilege Management basadas en Zero Trust, puede ayudar a lidiar con amenazas a nivel de aplicación en el sistema de dominio, como el robo de credenciales y la manipulación de memoria LSASS, utilizando herramientas como Mimikatz o Rubeus (incluso si se ejecutan solo en memoria y no tocan disco).
El siguiente ejemplo muestra un ejemplo de este tipo de una solución EDR, CrowdStrike Falcon, que detecta una serie de comportamientos maliciosos a nivel de aplicación y sistema.

En el nivel de red del sistema, como con el controlador de dominio y otros sistemas de dominio, las soluciones de microsegmentación basadas en host como Núcleo de Illumio puede proporcionar seguridad de confianza cero y microsegmentación. Illumio Edge extiende esta protección a los endpoints dentro y fuera del dominio. Esto es especialmente cierto para los casos de vulnerabilidades de día cero y en los casos en que la seguridad de endpoints a nivel de aplicación y sistema no permite que las amenazas se den por alto.
La mayoría de las redes modernas son heterogéneas, complejas y extendidas, especialmente en esta era del trabajo remoto. Como resultado de esto, no es particularmente fácil garantizar la seguridad sin tener primero una estrategia enfocada. Especialmente en el caso de las redes grandes, puede parecer casi imposible lograr una seguridad efectiva debido a la gran cantidad de sistemas dispares y complejos con políticas de seguridad variadas. Por lo tanto, es importante volver a lo básico para:
- Sepa lo que tiene
- Sepa lo que hacen
- Asegúrelos
Esto es especialmente cierto donde las cargas de trabajo se almacenan en el data center o en la nube. La manera más fácil y efectiva de saber lo que tiene es agrupar primero los sistemas por atributos específicos como su ubicación, entorno y aplicación. Esto facilitará la identificación de sistemas críticos y grupos de aplicaciones, servicios principales utilizados en todos los grupos y otros sistemas y aplicaciones menos cruciales. Naturalmente, el enfoque principal se centrará entonces en los activos más críticos, las aplicaciones de la corona y los servicios principales.

La seguridad efectiva no existe de forma aislada, por lo que cualquier enfoque debe tener en cuenta estas consideraciones clave:
- Visibilidad
- Integración
- Performance a escala
- Eficacia
El primer punto importante es la visibilidad. Como se muestra en el siguiente ejemplo de la solución Core de Illumio para la protección de cargas de trabajo Zero Trust, el mapeo de dependencia de aplicaciones y la visualización de diferentes grupos de aplicaciones y sus conexiones allana el camino para la definición de políticas informadas y el aprovisionamiento directamente en sistemas host como controladores de dominio, servidores de bases de datos y otros sistemas de carga de trabajo críticos en el dominio: físicos, virtuales, contenedores o en la nube. Esto significa que la microsegmentación se puede aplicar incluso en un entorno de campo desprotegido plano con sistemas que abarcan diferentes ubicaciones geográficas y existen en diferentes plataformas. Esto ayuda a saber qué hacen sus sistemas en la red. El siguiente ejemplo muestra los grupos de aplicaciones y sus relaciones de tráfico en un mapa de dependencia de aplicaciones.

Esta información útil a nivel de sistema también se puede integrar en las inversiones de seguridad existentes, como los SIEM, los escáneres de vulnerabilidades o los CMDB. En el siguiente ejemplo, la información de la solución de microsegmentación basada en host se introduce en una solución SIEM o análisis de seguridad. Este ejemplo muestra la integración con Splunk SIEM:

Y en este segundo ejemplo, con QRadar:

Esto significa que las nuevas soluciones se pueden combinar con las inversiones de seguridad existentes para proteger los sistemas de dominio en general. El performance y la efectividad de las soluciones de seguridad a escala también deben ser una consideración importante para que la seguridad pueda escalarse hacia arriba o hacia abajo, tanto en entornos fijos como ágiles, como contenedores o migraciones a la nube.
Una vez que todos están en su lugar, es fácil definir políticas de seguridad consistentes en todos los sistemas para monitorear, detectar y prevenir comportamientos anómalos. La siguiente imagen muestra los diferentes tipos de políticas de microsegmentación que se pueden aplicar en función de los patrones de tráfico en tiempo real de host a host, que es el nivel de red.

En versiones más recientes de Windows, como Windows 10 y Server 2016, la auditoría para el evento 4768 - se solicitó un ticket de autenticación Kerberos (TGT) y el evento 4769 - Se solicitó el ticket de servicio Kerberos, y la correlación posterior puede apuntar al inicio de ataques de boletos dorados o plateados. Microsoft también ha implementado nuevas protecciones como Credential Guard, que tiene como objetivo proteger contra el dumping de credenciales. En caso de que se produzca un incidente cibernético, es importante que un estrategia de respuesta a incidentes cibernéticos ya está en su lugar.
Tanto las protecciones a nivel de aplicación como a nivel de red deben estar sustentadas por un 'asumir una violación'estrategia, de modo que, en general, la caza activa de amenazas respaldada por análisis, monitoreo continuo y detección esté siempre vigente de manera automatizada y estructurada.