← Todas las entradas

TickTakRoot: anatomía de una escalada desde FTP, SSH y un binario SUID

Una cadena de compromiso sencilla y habitual en sistemas mal mantenidos, con servicios expuestos de más, autenticación débil y privilegios mal delegados.

Principiante · Linux
URL del reto: labs.thehackerslabs.com/machines/89


Por qué la diseñé

TickTakRoot es una cadena corta y reconocible, de las que se ven a diario en sistemas mal mantenidos. Un servicio que expone de más, una credencial trivial y un binario con permisos peligrosos bastan para pasar de estar fuera del sistema a una shell de root. La monté para dejar claro que no hace falta una vulnerabilidad compleja cuando el entorno ya viene con esos tres descuidos encadenados.

Quería que la resolución obligara a leer cada pieza en su sitio, desde la exposición inicial hasta la escalada final, y a ver qué error concreto representa cada paso fuera del laboratorio.


La máquina de un vistazo

Expone FTP, SSH y un HTTP que no lleva a ningún lado. La cadena arranca en un FTP anónimo que filtra nombres de usuario, sigue por una contraseña de SSH que cae a la primera y termina en un binario SUID mal delegado que abre una shell de root.


Cómo la monté, paso a paso

Un FTP anónimo que filtra usuarios

Dejé el FTP con acceso anónimo y, dentro, un login.txt con un par de nombres candidatos. El propio servicio remata la filtración con un banner de bienvenida que suelta otro nombre, Robin, el que de verdad vale. La enumeración no depende de una sola fuente, y esa es la idea, que el dato decisivo aparezca en un banner mal cuidado y no en el fichero que uno descarga primero.

Una contraseña de SSH que cae a la primera

Con el usuario robin a la vista, le puse una contraseña que está en cualquier diccionario, de modo que un Hydra con rockyou la encuentra enseguida. Lo que rompe la máquina es la suma de un usuario deducible, una clave pobre y un servicio remoto expuesto sin freno a los intentos automatizados. OpenSSH solo es el servicio por el que se entra.

Un binario SUID mal delegado

El remate es un binario, timeout_suid, que dejé ejecutable con privilegios vía sudo. timeout por sí solo no es un problema, pero con permisos inseguros se convierte en una vía directa para lanzar una shell conservando privilegios efectivos (/usr/bin/timeout_suid 7d /bin/sh -p), y el sistema entrega root. Es el patrón de delegar poder en una utilidad del sistema sin medir lo que permite.


Qué quería enseñar

TickTakRoot es de nivel principiante, pero enseña una cadena que aparece constantemente en sistemas mal mantenidos.

FaseQué enseñaError que representa
FTP anónimoUn servicio abierto de más filtra informaciónExposición innecesaria de recursos
login.txt y bannerLa identidad interna se escapa sin autenticarDatos operativos al alcance de cualquiera
Fuerza bruta en SSHLas credenciales pobres se rompen solasPasswords débiles en servicios críticos
timeout_suidUn binario privilegiado mal puesto abre el sistemaPermisos inseguros sobre utilidades

Lo que importa es ver la cadena entera, cómo primero se expone información, luego se rompe la autenticación y al final una mala delegación de privilegios remata el sistema. Llegar a la shell es solo el resultado.

ciberseguridadlaboratorioCTFescalada de privilegiosLinux