Dado que los investigadores ven tantos artefactos RDP en el curso de las respuestas a incidentes, han desarrollado de forma natural unas cuantas herramientas favoritas para buscar dicha actividad. En este artículo, examinaremos a grandes rasgos algunas de las opciones de que disponen los defensores. En la parte final de esta serie, nos sumergiremos en algunas de nuestras favoritas, repasando algunas de las consultas típicas que los investigadores de Sophos X-Ops utilizan para que sean eficaces.
En primer lugar, los defensores deben familiarizarse con los eventos 21-40 de inicio de sesión local, que cubren los ID típicos del registro de eventos operativos del gestor de sesiones local de Terminal Services que muestran conexiones, desconexiones, reconexiones y actividades similares. También deberían conocer la consulta 1149 Conexiones RDP, que busca en el registro de eventos operativos del Administrador de Conexiones Remotas de Terminal Services el ID de evento 1149 (como su nombre indica) para detectar esas conexiones RDP exitosas.
¿Redundante? Tal vez, pero por una buena razón. Puede que el atacante haya borrado uno de los registros de sucesos, pero no el otro, lo que convierte la discrepancia en un artefacto interesante. (A lo largo de 2023, el equipo de Respuesta a Incidentes de Sophos X-Ops observó que los registros se habían borrado en aproximadamente el 32% de los casos que trataron). O puede ser que se produjera un error al registrar ese suceso por el motivo que fuera, y que un registro de sucesos lo tenga y el otro no. Como ambos registros existen, consultarlos no es un esfuerzo inútil.
La consulta denominada Conexiones RDP desde IP Externas también es útil para detectar actividades inapropiadas. El nombre deja claro lo que hace la consulta: busca conexiones RDP desde direcciones IP externas, comprobando los dos registros de eventos que acabamos de mencionar. Esta consulta no mostrará conexiones que entren a través de una VPN, ya que a esas conexiones se les asignan direcciones del grupo de IP de la VPN.
Una consulta menos utilizada pero de gran utilidad para los defensores es 4624_4625 Eventos de Inicio de Sesión. Esta busca en el registro de eventos de seguridad, como cabría esperar por el nombre, eventos 4624 (que indican un inicio de sesión correcto) o eventos 4625 (que indican un inicio de sesión fallido). Estas consultas son más útiles cuando se buscan inicios de sesión basados en red en los registros, eso es un inicio de sesión de tipo 3. En cambio, un inicio de sesión RDP o Terminal Services (remoto interactivo) es un inicio de sesión de tipo 10.
Si buscamos un posible movimiento lateral RDP, esta consulta puede ayudarnos a identificar los inicios de sesión fallidos cuando está activada la Autenticación a Nivel de Red. Con RDP, si fallas en el inicio de sesión y la Autenticación a Nivel de Red o NLA está activada, verás un 4625, es decir, un inicio de sesión fallido con un tipo de inicio de sesión 3.
La siguiente consulta será útil cuando busques dispositivos que no tengan NLA activado (para facilitar la tarea de copiar y pegar, también pondremos una copia de esta y otras consultas útiles en nuestro Github):
La siguiente consulta será útil cuando busques dispositivos que no tengan NLA activado (para facilitar la tarea de copiar y pegar, también pondremos una copia de ésta y otras consultas útiles en nuestro Github): SELECT path, name, data, strftime('%Y-%m-%dT%H:%M:%SZ',datetime(mtime,'unixepoch')) AS last_modified_time FROM registry WHERE key LIKE 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' AND name = 'SecurityLayer' AND data = 0
El uso de esta consulta de este modo puede resultar un poco confuso, porque se trata de un inicio de sesión basado en red que suele asociarse a algo como (por ejemplo) SMB, en lugar de un evento que mostraría un movimiento lateral a través de RDP. Sin embargo, si NLA está activado, el registro muestra el fracaso del intento: se intentó una conexión RDP pero no se consiguió (4625). Un inicio de sesión RDP fallido con NLA activado se muestra como un inicio de sesión de tipo 3, ya que se autentica a través de la red antes de establecer la sesión RDP.
Ver eventos de inicio de sesión fallido como estos puede alertarte de intentos en tu red. También puede servirte para detectar configuraciones erróneas en tu entorno. Los investigadores suelen buscar configuraciones erróneas cuando responden a incidentes; en particular, la desactivación de NLA, junto con el ajuste DisableRestrictedAdmin para el modo de administración restringido, es una configuración errónea peligrosa (y común), ya que elimina varias capas de posibles protecciones de seguridad. Por lo tanto, los defensores pueden consultar útilmente el registro para buscar la clave y el valor específicos que indican que NLA está desactivado, quizás encontrando y corrigiendo el error antes de que los problemas entren por la puerta.
Protocolo de escritorio remoto: la serie
Parte 3: consultas para la investigación (estás aquí, vídeo)
Parte 4: factor zona horaria RDP (aún no publicado, vídeo)
Parte 5: ejecución de la consulta RDP externa (aún no publicado, vídeo)
Parte 6: ejecución de la consulta de inicio de sesión 4624_4625 (aún no publicado, vídeo)
Repositorio de consultas en GitHub: SophosRapidResponse/OSQuery
Repositorio de transcripciones: sophoslabs/video-transcripts
Lista de reproducción de YouTube: Protocolo de escritorio remoto: la serie