
Introduction à l'exploitation des binaires ELF.
Rainfall est un défi ISO légèrement plus complexe que Snow Crash. Vous devrez plonger profondément dans le rétro-ingénierie, apprendre à reconstruire un code et le comprendre pour détecter les failles. Atteindrez-vous le dernier niveau ?
Rainfall est un projet de la branche cybersécurité de 42, qui fait suite à Snow Crash, mais dont le but est d'exploiter des fichiers au format ELF en tant qu'exécutables C.
Différentes techniques doivent être utilisées pour obtenir les mots de passe de chaque niveau :
Une bonne connaissance du langage assembleur (x86 et x86-64) et de GDB sont nécessaires pour comprendre les exécutables C désassemblés.
Nous avons validé ce projet en mars 2025, avec un score de 125/100.
Pour démarrer ce projet, vous devez d'abord télécharger et installer l'ISO fourni par 42.
Ensuite, vous devez utiliser une machine virtuelle avec l'ISO. Si vous utilisez VirtualBox, vous devez définir le paramètre Attached to dans l'onglet Network sur Host-only Adapter.
Vous pouvez vous connecter au premier niveau via ssh. L'adresse IP est affichée sur l'écran d'accueil de la VM et le port est 4242. Les identifiants pour le premier niveau sont level0, pour le nom d'utilisateur et le mot de passe.
ssh [email protected] -p 4242
Une fois connecté, vous devrez trouver un moyen de lire le fichier .pass du compte utilisateur du niveau suivant. Il se trouve dans le répertoire personnel de chaque utilisateur.
level0@RainFall:~$ ./level0 $(exploit)
$ cat /home/user/level1/.pass
?????????????????????
$ exit
level0@RainFall:~$ su level1
Password:
level1@RainFall:~$ _