Skip to content
This repository was archived by the owner on Jul 31, 2025. It is now read-only.

Endless077/Exploit-Education-Fusion04

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Exploit Solution - Fusion (level04) 🚩

“From timing leaks to shell access: a complete walkthrough of Fusion’s hardest web challenge.”

This repository contains a fully‑automated, step‑by‑step solution for the Fusion ➜ level04 challenge provided by Exploit Education. Our python3 scripts reproduce every phase — from bypassing the HTTP Basic authentication to leaking the stack canary and, finally, constructing a Return‑Oriented‑Programming (ROP) chain that spawns a root shell despite modern mitigations (PIE, NX Stack/Heap, ASLR, Fortify Source).

🔑 Key Features

  • ⚔️ Timing‑Attack Password Cracker – Recovers the 16‑byte dynamic password byte‑by‑byte using a precise latency side‑channel.
  • 🛡️ Stack‑Canary Leak – Brute‑forces the 3 random bytes of the stack canary in ≤ 768 requests.
  • 🔍 Libc Auto‑Detection – Finds the exact libc version with libc‑database and extracts gadget offsets via radare2.
  • 🔗 One‑Shot ROP Builder – Crafts a reliable payload that executes system("/bin/bash") while bypassing all the Stack protections.

🛠️ Installation

1️⃣ Prepare the Fusion VM

# From your host machine, download the iso file in https://exploit.education/downloads/ # (checksum b89abcdda58edf68465f36b4f7a94fe34f0050f1) # Create a new VM (VirtualBox/VMware) and attach the ISO. # Set the network mode to *Host‑Only Adapter* so the guest is reachable.

Default guest credentials

user password
fusion godmode

The level04 service listens on http://<IP_FUSION>:20004 inside the VM. Other Credentials: root/godmode

2️⃣ Clone this Repository

git clone https://github.com/Endless077/Fusion_CTF.git cd Fusion_CTF

3️⃣ Set‑up the Local Environment

python3 -m venv venv source venv/bin/activate pip install pwntools # pwntools sudo apt install radare2 # Debian/Ubuntu package # (Optional, but recommended) git clone https://github.com/niklasb/libc-database.git cd libc-database ./get Ubuntu

4️⃣ Quick Start

# 1 - Find the VM’s IP inside the guest ip addr show | grep 'inet ' # 2 - Crack the HTTP password python3 brute_force.py # 3 - Smash the stack to get information leakage python3 stack_smashing.py # 4 - Leak the stack canary python3 capture_canary.py # 5 - Get the EIP address python3 stack_eip_overwrite.py # 6 - Identify libc & build the final payload bash libc-database-exploit.sh <libc_base> <__fortify_fail_offset> python3 rop_chain_attack.py # 7 - Profit! $ id Note: all scripts must be configured with the appropriate global variable values. Note: you can test scripts and connection with test_connection.py, just modify the payload.

📂 Repository Structure

Fusion_CTF/ ├── LICENSE ├── README.md ├── exploit/ │   ├── libc-database/* │   ├── libc-database-exploit.sh │   ├──libc-database-src.url │   └── libc-database.url └── source/ ├── brute_force.py ├── capture_canary.py ├── rop_chain_attack.py ├── stack_eip_overwrite.py ├── stack_smashing.py ├── test_connection.py ├── report/ │   └── mitigations/* │   └── crash_dump.log └── server/ └── level04.c └── notes.md └── notes.txt 

🙏 Acknowledgements

Tool / Resource Role in this project
Exploit Education – Fusion The vulnerable target environment.
libc‑database Automatic libc identification.
pwntools Networking, pattern generation, interactive shell.
radare2 Disassembly and symbol extraction.

💾 License

This project is licensed under the GNU General Public License v3.0.

GNU General Public License v3.0

Static Badge

🖐 Authors

Contributors:

Project Manager:

🔔 Support

For support, email antonio.garofalo125@gmail.com or contact the project contributors.

📝 Documentation

See the documentation project here.

About

Walkthrough of the Fusion CTF (Level04).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors