Skip to content

Latest commit

 

History

History
57 lines (40 loc) · 1.64 KB

File metadata and controls

57 lines (40 loc) · 1.64 KB

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.