OverTheWire

Bandit 22

Bienvenido al nivel 22 de Bandit en OverTheWire

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

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

Lo primero es investigar la tarea:

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

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

cat /usr/bin/cronjob_bandit23.sh
#!/bin/bash
#myname=$(whoami)
#mytarget=$(echo I am user $myname | md5sum | cut -d ' ' -f 1)
#echo "Copying passwordfile /etc/bandit_pass/$myname to /tmp/$mytarget"
#cat /etc/bandit_pass/$myname > /tmp/$mytarget

Veremos que este script guarda en una variable el nombre del usuario que consulta, liego lanza un echo con una cadena, la convierte en hash formato MD5 y crea un archivo temporal con ese hash.

Por ultimo guarda la contraseña del usuario que esta ejecutando el script en ese archivo temporal.
Si este cronjob lo lanza Bandit23 vamos a buscar ese directorio. Primero sacamos el nombre del archivo temporal.

echo I am user bandit23 | md5sum | cut -d ' ' -f 1

Nos devuelve:

8ca319486bfbbc3663ea0fbe81326349

Que equivale al nombre del archivo temporal con la contraseña del usuario (bandit23)

cat /tmp/8ca319486bfbbc3663ea0fbe81326349

Nos dara la contraseña del usuario bandit23.

¡Vamos al siguiente nivel con esta contraseña!

Enlaces de Interes