← Volver al listado de tecnologías

Leviathan Nivel 1 - Análisis con ltrace

Por: SiempreListo
overthewireleviathanltracesuidnivel-1

Leviathan Nivel 1 - Análisis con ltrace

Objetivo

Hay un binario check en el directorio home. Descubre cómo usarlo.

Exploración

ls -la
file check

El binario es SUID (se ejecuta con permisos del propietario).

./check

Pide una contraseña.

Teoría: ltrace

¿Qué es ltrace?

ltrace intercepta y muestra las llamadas a funciones de librerías que hace un programa.

Uso Básico

ltrace ./programa

Información que Revela

Solución

ltrace ./check

Cuando pida la contraseña, escribe cualquier cosa. Verás algo como:

strcmp("tu_input", "PASSWORD_REAL") = ...

Ahora ejecuta check con la contraseña correcta:

./check
# Ingresa la contraseña encontrada

Obtendrás un shell como leviathan2. Lee la contraseña:

cat /etc/leviathan_pass/leviathan2

Teoría: Binarios SUID

¿Qué es SUID?

Set User ID - El programa se ejecuta con los permisos del propietario, no del usuario que lo ejecuta.

ls -la check
-r-sr-x--- 1 leviathan2 leviathan1 ...

La s indica SUID.

Implicaciones de Seguridad

Encontrar Binarios SUID

find / -perm -4000 -type f 2>/dev/null

ltrace vs strace

HerramientaIntercepta
ltraceLlamadas a librerías (strcmp, printf)
straceLlamadas al sistema (open, read, write)

Comandos Aprendidos

ComandoUso
ltraceInterceptar llamadas a librerías
fileIdentificar tipo de archivo
find -permBuscar por permisos

Siguiente Nivel