
Introduction to the exploitation of ELF binaries.
Rainfall is an iso challenge slightly more complex than Snow Crash. You will have to dive deep into reverse engineering, learn to reconstruct a code, and understand it to detect faults. Will you reach the last level?
Rainfall is a project from the cybersecurity branch of 42, which follows Snow Crash, but whose aim is to exploit files in ELF format as C executables.
Different techniques have to be used in order to get the passwords for each level:
A good knowledge of the Assembly language (x86 and x86-64) and GDB are required in order to understand the disassembled C executables.
We validated this project in March 2025, for a score of 125/100.
In order to start this project, you have to first download and install the provided ISO by 42.
Then you need to use a virtual machine with the ISO. If using VirtualBox, you must set the Attached to setting in the Network tab to Host-only Adapter.
You can connect to the first level using ssh. The IP address is displayed on the home screen of the VM and the port is 4242. The credentials for the first level are level0, for both username and password.
ssh [email protected] -p 4242
Once logged, you will have to find a way to read the .pass file of the next level's user account. It is located in the home directory of each user.
level0@RainFall:~$ ./level0 $(exploit)
$ cat /home/user/level1/.pass
?????????????????????
$ exit
level0@RainFall:~$ su level1
Password:
level1@RainFall:~$ _