Skip to content

lujiangz/rainfall

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

42 Rainfall

This project is part of the security branch at 42 School. It focuses on reverse engineering and basic binary exploitation techniques.

Overview

Rainfall is a series of challenges that introduces various security concepts and vulnerabilities in binary executables. Each level requires analyzing and exploiting different security flaws to obtain the password for the next level.

Skills Learned

  • Reverse Engineering
  • Assembly Language
  • Buffer Overflows
  • Format String Vulnerabilities
  • Basic Binary Exploitation
  • GDB Debugging
  • Memory Management

Project Structure

The project consists of multiple levels (level0 through level9 + bonus), each presenting a unique challenge:

  • Each level contains a binary executable
  • The goal is to exploit the binary to obtain the password for the next level
  • Various exploitation techniques are required to progress

Tools Used

  • GDB (GNU Debugger)
  • objdump
  • Ghidra/IDA Pro (optional)
  • Python for exploit development
  • Linux command line tools

Getting Started

  1. Connect to the VM provided for the project
  2. Each level can be accessed using the password obtained from the previous level
  3. Use analysis tools to understand the binary's behavior
  4. Develop and execute exploits to progress

Notes

  • Always make backups of your work
  • Document your solutions and approaches
  • Practice responsible security testing
  • Follow the project guidelines and restrictions

Resources

  • Assembly Language Documentation
  • GDB Tutorial
  • Buffer Overflow Guide
  • Format String Vulnerability Documentation

This project is part of the 42 School curriculum and is meant for educational purposes only.

About

42 Rainfall

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •