Niveau 23
Level Goal
A program is running automatically at regular intervals from cron, the time-based job scheduler. Look in /etc/cron.d/ for the configuration and see what command is being executed.
NOTE: Looking at shell scripts written by other people is a very useful skill. The script for this level is intentionally made easy to read. If you are having problems understanding what it does, try executing it to see the debug information it prints.
Commands you may need to solve this level
cron
,crontab
,crontab(5)
(useman 5 crontab
to access this)
Tout comme le niveau précédent, commençons par lister les fichiers de configuration cron et le contenu qui nous intéresse :
bandit22@bandit:~$ ls /etc/cron.d/
cronjob_bandit15_root cronjob_bandit17_root cronjob_bandit22 cronjob_bandit23 cronjob_bandit24 cronjob_bandit25_root
bandit22@bandit:~$ cat /etc/cron.d/cronjob_bandit23
* * * * * bandit23 /usr/bin/cronjob_bandit23.sh &> /dev/null
Le fichier /usr/bin/cronjob_bandit23.sh
a le contenu suivant :
#!/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
Il suffit de l'exécuter pour avoir le résultat suivant :
bandit22@bandit:~$ /usr/bin/cronjob_bandit23.sh
Copying passwordfile /etc/bandit_pass/bandit22 to /tmp/8169b67bd894ddbb4412f91573b38db3
On pourrait penser que l'on vient de trouver la solution, mais si l'on regarde le contenu du fichier temporaire on obtient le mot de passe du niveau actuel :
bandit22@bandit:~$ cat /tmp/8169b67bd894ddbb4412f91573b38db3
Yk7owGAcWjwMVRwrTesJEwB7WVOiILLI
La raison vient du fait que le fichier cronjob_bandit23.sh
prend en compte le nom de l'utilisateur qui l'exécute pour calculer le nom du fichier de sortie. Si l'on lance la commande suivante on obtient :
bandit22@bandit:~$ echo I am user bandit23 | md5sum | cut -d ' ' -f 1
8ca319486bfbbc3663ea0fbe81326349
Et si l'on regarde dans le fichier associé on trouve le mot de passe du niveau suivant :
bandit22@bandit:~$ cat /tmp/8ca319486bfbbc3663ea0fbe81326349
jc1udXuA1tiHqjIsL8yaapX5XIAI6i0n