¿Qué es la Elevación de Privilegios y por qué es significativa?
Sep 5, 2018
La escalada de privilegios es una táctica común presente en casi todos los ciberataques hoy en día. Los actores internos maliciosos, los grupos de ransomware y otros actores de amenazas a menudo la utilizan en combinación con el movimiento lateral para atravesar la red de una víctima y obtener acceso no autorizado a recursos de TI sensibles. Los derechos de acceso elevados son vitales para la actividad maliciosa, incluyendo el robo de datos sensibles, la interrupción de operaciones comerciales y la creación de puertas traseras para futuras etapas de un ataque. Debido al uso generalizado de Active Directory, los ataques de escalada de privilegios en Windows son más comunes que los asaltos de privilegios en Linux, aunque ambos se observan en la naturaleza.
Descargue la guía gratuita:
Por qué los privilegios elevados son importantes para los atacantes
Los privilegios elevados son las llaves del reino que los actores de amenazas necesitan para modificar configuraciones del sistema, permisos de datos y controles de seguridad. Los atacantes generalmente obtienen acceso a una red utilizando una cuenta de usuario estándar comprometida. La elevación de privilegios se logra robando las credenciales de un administrador del sistema o una cuenta de servicio de alto nivel; esto permite el acceso a servidores críticos, dispositivos de red, repositorios de datos y sistemas de respaldo.
Lamentablemente, la capacidad de escalar privilegios suele ser fácil incluso para los hackers poco sofisticados porque muchas organizaciones carecen de medidas de seguridad adecuadas. De hecho, el control de acceso se configura demasiado a menudo pensando en la comodidad en lugar de en la aplicación del the principle of least privilege.
Escalación de privilegios horizontal vs vertical
Los ciberataques a menudo implican la explotación de algún tipo de vulnerabilidad, como un sistema sin parches, una configuración inadecuada o un error de programación. Una vez que un sistema ha sido comprometido, el atacante realiza reconocimiento para identificar usuarios privilegiados a comprometer y maneras de aumentar los derechos de acceso de cuentas que ya controlan.
Existen dos tipos de escalada de privilegios que utilizan los actores de amenazas:
- Escalada de privilegios horizontal — Un atacante compromete una cuenta y luego obtiene acceso al mismo nivel de privilegios o permisos que otro usuario o aplicación en un sistema diferente. Por ejemplo, después de comprometer la cuenta de un usuario de banca por internet, un adversario podría acceder a la cuenta de otro usuario aprendiendo su ID y contraseña.
- Escalada de privilegios vertical (también conocida como elevación de privilegios o EoP) — Un usuario malicioso obtiene acceso a una cuenta de nivel inferior y explota una debilidad en el sistema para obtener acceso administrativo o de nivel raíz a un recurso o sistema. La escalada de privilegios vertical requiere técnicas de ataque más sofisticadas que la escalada de privilegios horizontal, como herramientas de hacking que ayudan al atacante a obtener acceso elevado a sistemas y datos.
¿Cómo ocurre la escalada de privilegios?
Los atacantes que intentan realizar acciones no autorizadas a menudo utilizan exploits de escalada de privilegios. Estos exploits involucran debilidades conocidas o descubiertas que afectan a un sistema operativo, componente de software o mala configuración de seguridad. El ataque generalmente implica este proceso de cinco pasos:
- Encuentra una vulnerabilidad.
- Cree el exploit de escalada de privilegios relacionado.
- Utiliza el exploit en un sistema.
- Compruebe si explota el sistema con éxito.
- Obtenga privilegios adicionales si es necesario.
¿Cuáles son las principales técnicas de escalada de privilegios?
Existen múltiples técnicas de escalada de privilegios que utilizan los atacantes. Tres de las más comunes son:
- Manipulación de tokens de acceso
- Eludiendo el control de cuenta de usuario
- Usando cuentas válidas
Técnica 1: Manipulación de Token de Acceso
La manipulación de tokens de acceso se aprovecha de la forma en que Windows gestiona los privilegios de administrador. Un token de acceso es creado por un sistema Windows en el momento del inicio de sesión de un usuario. Al modificar un token de acceso, un adversario puede engañar al sistema para permitirles realizar una tarea del sistema o ganar acceso a un proceso o servicio en ejecución que requiere privilegios elevados.
Los adversarios pueden aprovechar los tokens de acceso utilizando uno de tres métodos:
- Suplantar o robar un token — Un adversario puede crear un nuevo token de acceso que duplique un token existente utilizando la función DuplicateToken(Ex). Luego, el token se puede usar con la función ImpersonateLoggedOnUser para permitir que el hilo de llamada suplante el contexto de seguridad de un usuario con sesión iniciada, o con la función SetThreadToken para asignar el token suplantado a un hilo.
- Crear un proceso con un token — Esto ocurre cuando un adversario crea un nuevo token de acceso con la función DuplicateToken(Ex) y lo utiliza con la función CreateProcessWithTokenW para crear un nuevo proceso que se ejecuta bajo el contexto de seguridad del usuario suplantado. Esto puede ser útil para crear un nuevo proceso bajo el contexto de seguridad de un usuario diferente.
- Suplantación de token — Aquí un adversario tiene un nombre de usuario y contraseña, pero el usuario no ha iniciado sesión en el sistema. El adversario puede crear una sesión de inicio para el usuario con la ayuda de LogonUser. La función devolverá una copia del token de acceso de la nueva sesión, y el adversario puede usar SetThreadToken para asignar ese token a un hilo.
Cómo mitigar esta amenaza
Los tokens de acceso son una parte integral del sistema de seguridad de Windows y no pueden desactivarse. Sin embargo, un atacante debe tener ya acceso a nivel de administrador para aprovechar completamente esta técnica. Por lo tanto, necesitas asignar derechos de acceso de acuerdo con el principio de mínimo privilegio y asegurarte de que todos los derechos de acceso sean revisados regularmente. También necesitas mantener un monitoreo cuidadoso de las cuentas privilegiadas y responder prontamente a señales de actividad sospechosa realizada por estas cuentas. Idealmente, puedes reemplazar casi todas las cuentas administrativas permanentes con just-in-time access.
Técnica 2: Eludiendo el Control de Cuentas de Usuario
La función de control de cuentas de usuario (UAC) de Windows actúa como una barrera entre los usuarios normales y las cuentas con privilegios de administrador. Limita el software de aplicación a permisos de usuario estándar hasta que un administrador autoriza un aumento de privilegios. Requiere que un administrador ingrese sus credenciales para pasar el aviso. De esta manera, solo las aplicaciones confiables por el usuario pueden recibir privilegios administrativos, evitando que el malware comprometa el sistema operativo.
Este mecanismo no es perfecto, sin embargo. Si el nivel de protección UAC de una computadora está configurado en cualquier nivel que no sea el más alto, algunos programas de Windows tienen permiso para elevar privilegios o ejecutar objetos del Modelo de Objetos Componente (COM) que se elevan sin solicitar la aprobación del usuario primero.
Cómo mitigar esta amenaza
Es necesario revisar regularmente su entorno de TI en busca de debilidades comunes de bypass de UAC y abordar los riesgos de manera adecuada. Otra buena práctica es revisar regularmente qué cuentas están en sus grupos de administradores locales en todos los sistemas Windows y eliminar a los usuarios regulares de estos grupos. Puede hacer esto utilizando Group Policy o Intune.
Técnica 3: Uso de cuentas válidas
Los adversarios pueden utilizar técnicas de acceso a credenciales como el relleno de credenciales, la manipulación de cuentas o la ingeniería social para comprometer las credenciales de usuarios legítimos. Incluso pueden obtener acceso a sistemas y servicios remotos utilizando una VPN o una conexión de escritorio remoto. Una de las principales preocupaciones aquí es la superposición de credenciales y permisos a través de la red porque los adversarios pueden ser capaces de alternar entre cuentas y sistemas para alcanzar un nivel de acceso más alto, como Administrador de Dominio o Administrador de Empresa.
Cómo mitigar esta amenaza
Una de las formas más efectivas de mitigar esta amenaza es aplicar una política de contraseñas sólida para todas las cuentas, que incluya requisitos de longitud y complejidad. Además, cambie regularmente las contraseñas de todas las cuentas administrativas y utilice contraseñas únicas para la cuenta de administrador local en cada sistema, a fin de evitar que los atacantes se muevan lateralmente por la red al comprometer una sola cuenta de administrador local.
También es importante monitorear su entorno de TI para detectar comportamientos sospechosos de usuarios que podrían indicar una amenaza en curso. La detección temprana es imperativa.
Cómo protegerse contra la escalada de privilegios
Aunque no hay manera de asegurar completamente su entorno contra hackers y personas malintencionadas que intentan escalar privilegios, puede reducir el riesgo de escalada de privilegios endureciendo las superficies de ataque de los sistemas operativos y software de sus endpoints y haciendo cumplir el principle of least privilege para todos los recursos. También debe requerir autenticación multifactor para proporcionar una mejor seguridad siempre que sea justificado, basado en el riesgo asociado con la actividad que se está intentando. Realice evaluaciones de riesgo regulares para detectar y evaluar riesgos a sus archivos sensibles y tome medidas para asegurar los datos de acuerdo con su valor.
Muchas empresas utilizan algún tipo de solución de Privileged Access Management (PAM). La Netwrix Privileged Access Management Solution te ofrece visibilidad sobre los privilegios en todos tus sistemas y aplicaciones. Te alerta cuando se crean o modifican cuentas privilegiadas y descubre cuentas privilegiadas que quizás ni siquiera sabías que existían. En resumen, te pone al mando de los privilegios en todo tu entorno de TI.
La combinación de una solución de Privileged Access Management (PAM) con la adhesión a las mejores prácticas de seguridad puede ayudarte a bloquear la escalada de privilegios y el movimiento lateral para evitar la pérdida de datos, la interrupción del negocio y las sanciones de cumplimiento.
Compartir en
Aprende más
Acerca del autor
Dirk Schrader
Vicepresidente de Investigación de Seguridad
Dirk Schrader es un Resident CISO (EMEA) y VP de Security Research en Netwrix. Con 25 años de experiencia en seguridad informática y certificaciones como CISSP (ISC²) y CISM (ISACA), trabaja para promover la ciberresiliencia como un enfoque moderno para enfrentar las amenazas cibernéticas. Dirk ha trabajado en proyectos de ciberseguridad en todo el mundo, comenzando en roles técnicos y de soporte al inicio de su carrera y luego pasando a posiciones de ventas, marketing y gestión de productos tanto en grandes corporaciones multinacionales como en pequeñas startups. Ha publicado numerosos artículos sobre la necesidad de abordar la gestión de cambios y vulnerabilidades para lograr la ciberresiliencia.
Aprende más sobre este tema
Ejemplo de Análisis de Riesgos: Cómo Evaluar los Riesgos
El Triángulo de la CIA y su Aplicación en el Mundo Real
Crear usuarios de AD en masa y enviar sus credenciales por correo electrónico usando PowerShell
Cómo agregar y eliminar grupos de AD y objetos en grupos con PowerShell
Atributos de Active Directory: Último inicio de sesión