Productos y Servicios PRODUCTOS Y SERVICIOS

Retrospectiva nº 4: evitar que los atacantes obtengan (y usen) sus contraseñas

Este artículo forma parte de una serie que pretende mostrar a los profesionales de la ciberseguridad las lecciones aprendidas por las víctimas de ciberataques. Cada lección incluirá recomendaciones sencillas, muchas de las cuales no requieren que las organizaciones adquieran ninguna herramienta.

De acuerdo con el Sophos Active Adversary Playbook 2021, el uso de cuentas válidas (a través de un nombre de usuario y contraseña) aparece en las cinco técnicas principales para el acceso inicial en ataques (MITRE ATT & CK Technique T1078). Si bien las credenciales válidas aparecen en gran medida en la etapa de acceso inicial, obviamente se pueden usar a lo largo de la cadena de ataque, incluida la persistencia, la escalada de privilegios y la evasión de la defensa.

Un tema desafiante

El uso malicioso de cuentas válidas es particularmente desafiante para los profesionales de la ciberseguridad. Es extremadamente difícil identificar el uso no autorizado de cuentas válidas entre todos los usos legítimos, y las credenciales se pueden obtener de muchas formas diferentes. Una cuenta válida puede tener distintos niveles de autorización dentro de una organización, desde usuario básico hasta privilegios de administrador de dominio.

Una complicación adicional es que se pueden configurar cuentas de prueba, cuentas de servicio para acceso no humano, API, cuentas para que terceros accedan a sus sistemas (por ejemplo, un servicio de asistencia externa) o tener equipos con credenciales codificadas.

Sabemos que los empleados usan las credenciales de su organización en servicios online no relacionados, y la mayoría usa una dirección de correo electrónico en lugar del nombre de usuario, lo que extiende la exposición a las amenazas. La reutilización de contraseñas es algo habitual, por lo que una vez que se obtiene una, proporciona la llave para muchas otras puertas. La pandemia de COVID-19 hizo que las organizaciones se adaptaran rápidamente para permitir el acceso remoto para todos, exponiendo aún más la superficie de ataque al uso no autorizado de redes privadas virtuales (VPN) y herramientas de acceso remoto.

¿Cómo obtienen nuestras credenciales los atacantes?

La lista de formas es extensa, pero exploremos algunas. Si bien el objetivo final de los adversarios es obtener el nivel más alto de privilegios necesarios para lograr sus objetivos (por ejemplo, deshabilitar la seguridad, filtrar datos, eliminar copias de seguridad e implementar ransomware), no esperan obtener cuentas de administrador de dominio a través de un correo de phishing, por lo que comienzan con objetivos más fáciles y van hacia arriba.

Los métodos externos incluyen phishing (T1598), fuerza bruta (T1110), ingeniería social (podría ser tan simple como alguien que finge ser de un proveedor de TI de confianza y solicita la creación de una cuenta – T1593.1) e Inyección SQL (T1190) a veces se agregan a Compilations of Many Breaches (COMB) que están disponibles por una pequeña tarifa o incluso gratis.

Los oportunistas intentan hacer coincidir las credenciales obtenidas con métodos de acceso externo (RDP, VPN, FTP, Terminal Services, CPanel, herramientas de acceso remoto como TeamViewer, servicios en la nube como O365 o consolas de seguridad) en una técnica conocida como relleno de credenciales para ver si funciona alguna. Dado que no se puede esperar que los usuarios recuerden más de unas pocas contraseñas, es común que las credenciales se reutilicen y los nombres de usuario a menudo se pueden derivar en función de los formatos de direcciones de correo electrónico. Es por esta razón que la autenticación multifactor (MFA/2FA) es importante en todos los accesos externos a internos (consulta la Retrospectiva nº 1). Una vez que un conjunto de credenciales se empareja con éxito con un método de acceso remoto, el atacante puede convertirse en un usuario válido, escondido en tu organización.

Con un conjunto válido de credenciales y acceso, el atacante puede parecerse a cualquier otro empleado.

Antes de pasar a los métodos de escalada de privilegios, es importante tener en cuenta que existen otros métodos de acceso que no requieren credenciales. Se han utilizado exploits (T1212) o contraseñas predeterminadas (T1078.1) en concentradores VPN, Exchange, firewalls/routers, servidores web e inyección SQL para ganar terreno. Las descargas automáticas también se pueden utilizar para establecer una puerta trasera (T1189). Una vez dentro, las cuentas de usuario básicas todavía tienen acceso suficiente para llevar a cabo diversas técnicas de reconocimiento y trazar una forma de pivotar hacia un acceso más privilegiado o crear cuentas para mantener el acceso.

Como atacante, quiero intentar evitar el uso de cualquier herramienta que pueda alertar de mi presencia, por lo que simplemente podría:

  • Descubrir información sobre el sistema y el entorno circundante mediante comandos simples como “whoami” e “ipconfig” (T1016)
  • Buscar en el dispositivo en el que estoy (y en las unidades asignadas) archivos con “contraseñas” en el nombre o el contenido (1)
  • Buscar LDAP para ver qué otras cuentas podrían ser interesantes (2)
  • Buscar en el registro de Windows (2) las credenciales almacenadas
  • Buscar cookies web para credenciales almacenadas (T1539)
  • Soltar una herramienta de comando y control basada en PowerShell, para que pueda volver incluso si se cambia la contraseña o se repara el exploit (1)
  • Descubrir qué programas están instalados: las herramientas de acceso remoto y las herramientas de administración como PSExec y PSKill pueden ser muy útiles si ya existen (2)

A continuación, y solo si es necesario, el atacante puede pasar a instalar y/o utilizar “Programas potencialmente no deseados”. Los PSExec y PSKill mencionados anteriormente son herramientas de administración oficiales de Microsoft, pero tienen muchos otros usos. IOBit, GMER, Process Hacker, AutoIT, Nircmd, escáneres de puertos y rastreadores de paquetes se han utilizado en ataques en los que hemos trabajado. Estas herramientas aparecerán en la próxima retrospectiva. El objetivo de estas herramientas es paralizar cualquier solución de seguridad de endpoint, por lo que el atacante puede pasar al siguiente paso en el que utilizan herramientas que probablemente levantarían sospechas.

Las herramientas más habituales para encontrar cuentas con mayores privilegios incluyen Mimikatz, IcedID, PowerSploit y Cobalt Strike. Trickbot también era un viejo favorito. Contienen capacidades sofisticadas para capturar, interpretar, exportar y manipular las mismas piezas de información que las redes utilizan para autenticar a los usuarios (por ejemplo, Kerberos). Si bien los datos están cifrados hasta cierto punto, esto ha demostrado ser solo un inconveniente para los atacantes expertos. El token de cifrado que representa la cuenta válida a menudo se puede pasar y aceptar a través de la red, lo que se conoce como técnicas de pass-the-hash (T1550.2) y pass-the-ticket (T1550.3). Se utilizan enormes tablas de contraseñas y cómo se verían sus versiones cifradas para hacer coincidir rápidamente una contraseña cifrada con la versión de texto sin cifrar (T1110.2). Las herramientas de registro de teclas se pueden utilizar para capturar las pulsaciones del teclado en un dispositivo la próxima vez que alguien inicie sesión. Se han encontrado ciertas vulnerabilidades que permiten el acceso a las credenciales, incluso sin ningún derecho de administración, como HiveNightmare/SeriousSam y PrintNightmare. Y si todo eso no fuera lo suficientemente malo, hay kits de herramientas fácilmente disponibles como LaZagne que lo hacen todo por ti, incluso recuperan contraseñas almacenadas en navegadores, software de mensajería instantánea, bases de datos, juegos, correo electrónico y WiFi.

Usando credenciales válidas

Las credenciales válidas, especialmente con derechos de administración, tienen algunos usos importantes. Se pueden usar en una organización para cambiar la política de grupo (T1484.1), deshabilitar las herramientas de seguridad (T1562.1), eliminar cuentas y crear otras nuevas. Los datos pueden exfiltrarse y luego venderse, utilizarse para extorsión o para espionaje industrial. Se pueden utilizar para ataques de suplantación de identidad y de compromiso de correo electrónico empresarial con un alto nivel de autenticidad. Pero la mayoría de las veces, son solo una excelente manera de distribuir y ejecutar cualquier ransomware como servicio. Y si eso falla, hemos visto a los adversarios simplemente usar la cuenta válida para activar BitLocker (o cambiar la clave).

Protegiendo tu organización

El problema es grave, las consecuencias son reales, pero las soluciones son bien conocidas y se abordan a través de personas, procesos y tecnología. La formación de los empleados en ciberseguridad suele centrarse en las personas:

  • Cómo detectar un correo electrónico de phishing
  • No reutilizar contraseñas: las herramientas de gestión de contraseñas pueden ayudar
  • No usar contraseñas de trabajo para cuentas personales
  • Requisitos de una contraseña robusta
  • Evitar sitios web dudosos

En términos de procesos y tecnología

  • La autenticación multifactor debe usarse lo más ampliamente posible
  • La superficie de ataque externa debe ser lo más pequeña posible y mantenerse actualizada.
  • Mantener la cantidad de cuentas de más alto nivel al mínimo. Digamos que ocho administradores de dominio son demasiados
  • Restringir el uso de los derechos de la administración local.
  • Higiene de la cuenta de servicio: eliminar las cuentas de prueba y de servicio no utilizadas
  • Controlar y supervisar el uso de herramientas de administración y programas potencialmente no deseados
  • Supervisar los inicios de sesión inesperados (por ejemplo, geografía y hora)