
Introducción a la explotación de binarios ELF.
Rainfall es un desafío ISO ligeramente más complejo que Snow Crash. Tendrás que sumergirte en la ingeniería inversa, aprender a reconstruir un código y entenderlo para detectar fallos. ¿Llegarás al último nivel?
Rainfall es un proyecto de la rama de ciberseguridad de 42, que sigue a Snow Crash, pero cuyo objetivo es explotar archivos en formato ELF como ejecutables en C.
Se deben utilizar diferentes técnicas para obtener las contraseñas de cada nivel:
Se requiere un buen conocimiento del lenguaje ensamblador (x86 y x86-64) y de GDB para entender los ejecutables en C desensamblados.
Validamos este proyecto en marzo de 2025, con una puntuación de 125/100.
Para iniciar este proyecto, primero debes descargar e instalar la ISO proporcionada por 42.
Luego necesitas usar una máquina virtual con la ISO. Si usas VirtualBox, debes configurar la opción Attached to en la pestaña Network como Host-only Adapter.
Puedes conectarte al primer nivel usando ssh. La dirección IP se muestra en la pantalla de inicio de la VM y el puerto es 4242. Las credenciales para el primer nivel son level0, tanto para el usuario como para la contraseña.
ssh [email protected] -p 4242
Una vez conectado, tendrás que encontrar una manera de leer el archivo .pass de la cuenta de usuario del siguiente nivel. Se encuentra en el directorio home de cada usuario.
level0@RainFall:~$ ./level0 $(exploit)
$ cat /home/user/level1/.pass
?????????????????????
$ exit
level0@RainFall:~$ su level1
Password:
level1@RainFall:~$ _