Este blog es solo para fines educativos y de análisis técnico en CTFs. No promueve actividades maliciosas ni el uso indebido de herramientas descritas.
Entrada

NeoPrivesc - THCON2025

Reto basado en la obtención de privilegios para leer un fichero flag.txt.

NeoPrivesc - THCON2025

Autor del reto: nin70

Dificultad: Fácil

Enunciado

We saw that Gideon Morse is a keen artist and that he loves beautiful things… perhaps a bit too much. Looks like he’s been into ricing his NixOS/LibreBoot/Hyprland/Astrovim/Neofetch/Btop a lot lately and we think this may help us.

We have access to a user session on his laptop but all important files are only available to administrator.

The -very secure- connexion info we gathered were bud:bud

Archivos

Este reto, nos dan los siguientes archivos.

  • server.py : Contiene el código que se ejecuta en el servidor.
  • nc : Instancia con netcat para acceder al reto.

Archivos utilizados aquí.

Analizando el reto

Para conectarnos con dicha instancia, tenemos que hacerlo mediante ssh. Una vez dentro tendremos una bash con el usuario bud:bud

Solver

En este tipo de retos tenemos que encontrar la manera de escalar privilegios para poder leer el archivo deseado, en este caso flag.txt. Para ello realizaremos lo de siempre: mirar capabilities, permisos SUID entre otras.

En este caso, primero tenemos que ver los comandos que podemos ejecutar con permisos de root utilizando el comando sudo -l.

1
2
    ┌──(kesero㉿kali)-[~]
    └─$ sudo -l

Una vez ejecutamos este comando, podemos observar que podemos ejecutar neofetch como administrador. Para ello nos iremos a GTFobins y obtendremos la inyección.

1
2
    ┌──(kesero㉿kali)-[~]
    └─$ sudo -u blossom /usr/bin/neofetch neofetch --ascii /home/bud/flag.txt

Flag

THC{Ne0f37CH_i5_B34u71fUL}

Esta entrada está licenciada bajo CC BY 4.0 por el autor.