Skip to content

🐱‍👤 Intermediate security project - introduction to binary analysis and reverse engineering

Notifications You must be signed in to change notification settings

maxisimo/42-RainFall

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

98 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

42 logo


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?
Security challenges focused on binaries: buffer overflows, printf insertions, shellcode injections and binary analysis.


General instructions

To make this project, you will have to use a VMV(64 bits). Once you have started your machine with the ISO provided with this subject, if your configuration is right, you will get a simple prompt with an IP :
alt tag
Then, you will be able to log-in using the following couple of login:password :
level00:level00
You really shoud use the SSH connection available on port 4242 :
$> ssh level0@[VM_IP] -p 4242
Once logged-in, you will have to find a way to read the ".pass" file with the "levelX" user account of the next level (X = numéro next level).
This ".pass" file is located at the home root of each (level0 exclu) user.

Ressources

Exploits

Helpers

Learn more

Architecture

This project can be separated into three parts :

  • bonus[0-3] : This part concerns the bonuses that allowed me to go beyond a rate of 100/100.
  • doc : Documentation that I deemed necessary to write for the good understanding of certain exploits.
  • level[0-9] : This is the mandatory part.

Levels and bonuses

All the folders belonging to these two parts are made up as following :
alt tag

  • flag
  • Ressources (Everything I needed to prove my results during the evaluation besides the walkthrough file)
    • asm_analysis.md : Full and detailed analysis of current level binary assembly code.
    • script.sh : Code and comments to test the source file.
    • websites.txt : (Optional) Lists of useful websites, helping to solve the level.
  • source : Source code in pseudo C/CPP of the binary.
  • walkthrough.md : Step-by-step procedure.

Minimal setup requirements of the VM

For this project, I used VirtualBox in order to create the VM. You will also need to download the ISO, avaible in the 42 school intranet.

  • Name : RainFall
  • Type : Linux
  • Version : Ubuntu (64-bit)
  • RAM : 1024 MB
  • CPU : 1
  • Network access mode : bridge
  • Port : 4242

Rate : 125/100

About

🐱‍👤 Intermediate security project - introduction to binary analysis and reverse engineering

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published