Llévame a tu controlador de dominio: protecciones y mitigaciones con herramientas de confianza cero
En la parte 1 de este serial de blogs, analizamos cómo se pueden emplear los métodos de descubrimiento en un compromiso inicial. El segundo mostró un ejemplo de robo de identidad empleando técnicas de pass-the-hash combinadas con herramientas de acceso remoto para el movimiento lateral. En esta parte final, analizamos cómo mitigar el movimiento lateral. Ya discutimos 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 a dispositivos de red como conmutadores o enrutadores. Un host puede ser una carga de trabajo como una máquina de controlador de dominio, 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 descrito en el blog anterior, la técnica de paso de hash habilitada por Mimikatz se usó dentro del sistema operativo en el 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 usó para habilitar el acceso remoto mediante la herramienta PAexec que aprovecha Windows SCM.

Analizando 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 empleando una lista de aplicaciones permitidas . Alternativamente, tendríamos que detectar el inicio del proceso en la memoria, por ejemplo, monitoreando DLL cargadas o 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 línea de base del tráfico también permitirá detectar anomalías como la exfiltración de datos.
La siguiente imagen muestra el análisis estático de los archivos binarios de Mimikatz y PAExec y algunas de las dependencias del sistema, como los archivos DLL que se importan.

El proceso en ejecución en la memoria nos muestra el árbol de procesos de cmd que se empleó tanto para el paso del hash de Mimikatz como para la posterior conexión PAExec al controlador de dominio.

El análisis forense en el sistema de destino, en este caso el controlador de dominio, también mostrará el binario empleado 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, emplea la convención de nomenclatura estándar para los nombres de proceso binarios y resultantes. Por supuesto, esto puede ser cambiado por un actor de amenazas.
Por lo tanto, es importante que los enfoques de mitigación tengan en cuenta estos niveles de ataque: protecciones que analizan las amenazas a nivel de aplicación y protecciones que analizan la seguridad a nivel de red con un enfoque en la comunicación de host a host. Esto significará que la seguridad permanece y se mueve con el host o la carga de trabajo que se está protegiendo (por ejemplo, la máquina del controlador de dominio 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 describe en este serial de blogs.

Un buen punto de partida de información son las Mejores Prácticas de Microsoft para Proteger 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 eficaz de privilegios y las listas de aplicaciones permitidas también pueden automatizar la restricción del uso de cuentas privilegiadas en todo el dominio y evitar el uso de aplicaciones no autorizadas.
Por ejemplo, a nivel de aplicación de la protección del sistema, Endpoint Detection and Response (EDR), combinado con soluciones de gestión de identidades y privilegios 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, empleando herramientas como Mimikatz o Rubeus (incluso si se ejecutan solo en memoria y no tocan el disco).
El siguiente ejemplo muestra un ejemplo de una solución EDR, CrowdStrike Falcon, que detecta un serial de comportamientos maliciosos a nivel de aplicación y sistema.

A 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 Illumio Core pueden proporcionar seguridad y microsegmentación de Zero Trust. Illumio Edge extiende esta protección a los puntos de conexión dentro y fuera del dominio. Esto es especialmente cierto en los casos de vulnerabilidades de día cero y en los casos en que la seguridad de los endpoints a nivel de aplicación y sistema pasa por alto las amenazas.
La mayoría de las redes modernas son heterogéneas, complejas y extendidas, especialmente en esta era de trabajo remoto. Como resultado de esto, no es particularmente fácil garantizar la seguridad sin antes tener una estrategia enfocada. Especialmente en el caso de las grandes redes, 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:
- Conoce lo que tienes
- Conoce lo que hacen
- Cerciórelos
Esto es especialmente cierto cuando las cargas de trabajo se almacenan en el centro de datos o en la nube. La forma 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 básicos empleados en todos los grupos y otros sistemas y aplicaciones menos cruciales. Naturalmente, el enfoque principal estará en los activos más críticos, las aplicaciones de la joya de la corona y los servicios básicos.

La seguridad efectiva no existe de forma aislada, por lo que cualquier enfoque debe tener en cuenta estas consideraciones clave:
- Visibilidad
- Integración
- Rendimiento a escala
- Efectividad
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 dependencias de aplicaciones y la visualización de diferentes grupos de aplicaciones y sus conexiones allanan el camino para la definición y el aprovisionamiento de políticas informadas directamente en sistemas host como controladores de dominio, servidores de bases de datos y otros sistemas de cargas de trabajo críticos en el dominio: físicos, virtuales, contenedores o nube. Esto significa que la microsegmentación se puede aplicar incluso en un entorno 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. En el ejemplo siguiente se muestran los grupos de aplicaciones y sus relaciones de tráfico en un mapa de dependencias de aplicaciones.

Esta información útil a nivel de sistema también se puede integrar en las inversiones de seguridad existentes, como SIEM, escáneres de vulnerabilidades o CMDB. En el siguiente ejemplo, la información de la solución de microsegmentación basada en host se introduce en una solución de análisis de seguridad o SIEM. 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 rendimiento y la eficacia de las soluciones de seguridad a escala también deben ser una consideración importante para que la seguridad se pueda escalar hacia arriba o hacia abajo, tanto en entornos fijos como ágiles, como contenedores o migraciones a la nube.
Una vez que todo esto está 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, se aplicar la auditoría del evento 4768: se aplicar un vale de autenticación Kerberos (TGT) y el evento 4769: se aplicar un vale de servicio Kerberos, y la correlación posterior puede apuntar al comienzo de los ataques de vales dorados o plateados. Microsoft también implementó nuevas protecciones como Credential Guard, que tiene como objetivo proteger contra el volcado de credenciales. En caso de que ocurra un incidente cibernético, es importante que ya exista una estrategia de respuesta a incidentes cibernéticos .
Tanto las protecciones a nivel de aplicación como a nivel de red deben estar respaldadas por una estrategia de "asumir infracción", de modo que, en general, la búsqueda activa de amenazas respaldada por análisis, monitoreo continuo y detección esté siempre vigente de manera automatizada y estructurada.