Reversing Modern Binaries: Practical Rust & Go Analysis

Master the Art of Rust & Go Reverse Engineering: Demystify Rust’s Inner Workings and Strengthen Your Cybersecurity Skills!

Unlock the secrets of Rust & Go with this hands-on training. Learn the essentials of reverse engineering, dive into Rust’s compilation and runtime mechanics, and master tools like Ghidra and GDB. Through practical exercises, gain the skills to analyze Rust binaries, tackle obfuscation, and strengthen your cybersecurity expertise. Perfect for those ready to explore the cutting edge of reverse engineering!

⏳ 32 hours | 🔄 Last updated : 26/01/2025

 

What you will learn

Understanding the Rust Ecosystem

Dive into the foundations of Rust, exploring its history, unique features, and why it’s a top choice for attackers. Learn how reverse engineering can help uncover vulnerabilities and secure Rust-based systems.

Decoding Rust Compilation and Runtime

Gain a comprehensive understanding of Rust’s compilation process, calling conventions, and memory management. Break down Rust binaries with practical exercises to enhance your skills in debugging and runtime analysis.

Mastering Tools and Techniques

Harness the power of Ghidra, GDB, and Radare2 to analyze and reverse engineer Rust applications. Build confidence through hands-on exercises tackling real-world challenges like obfuscation and malware analysis.

What’s included ?

👨‍💻 25+ hands-on exercises & labs
♾️ Lifetime access
📖 280+ digital and printable slides
📝 Assignments to apply your new skills
💯 Certificate of completion

Perfect for…

This course is for anyone who’s looking for a hands-on and pragmatic approach to audit and secure Rust code such as:

✔ Security engineers
✔ Vulnerability researchers
✔ Pentesters & Red team professionals

Pricing

Individual/
Self-Paced

$4 400
  • E-Learning
BEST VALUE

Teams
On Demand

Starting at
$4 200
per participant
  • E-Learning

Private Training

Starting at
$20 000
  • Instructor led
  • In Person or Live Online

Your instructors

patrick ventuzelo webassembly security rust fuzzing

Patrick
Ventuzelo

Patrick, CEO & Founder of FuzzingLabs, has 7 years of experience training on Rust and Go, applied to fuzzing and reverse engineering.

Nabih
Benazzouz

Nabih is a security researcher that specializes in vulnerability research, fuzzing, reverse engineeringr, and secure system development.

Matthieu Christophe

Matthieu is a security engineer with experience in the energy, banking, and automotive sectors. He specializes in hardware and network security.

Tanguy
Duhamel

Tanguy, lead developer, specializes in distributed fuzzing techniques and code auditing, leveraging Rust for high-performance tools.

Trainings at Upcoming Events and Conferences

Content

Day 1: Rust Reverse Engineering – Fundamentals and Tooling

Module 1: Introduction to Rust and Reverse Engineering

  • History, philosophy, and features of Rust
  • Why attackers use Rust for malware development
  • Fundamentals of reverse engineering
  • Setting up the reverse engineering environment (Ghidra, GDB, LLDB, Radare2)

Module 2: Rust Compilation and Runtime

  • Compilation process: From source code to machine code (LLVM/MIR)
  • Rust runtime (Linux and Windows)
  • Rust’s calling conventions, memory management, symbol mangling/demangling

Module 3: Analyzing Rust Structures and Control Flow

  • Understanding data structures (Option, Result enums, slices, structs)
  • Analyzing control flow: Functions, methods, loops, conditionals
  • Exercise: Reverse engineering a simple Rust program

Day 2: Advanced Rust Reversing and Malware Analysis

Module 4: Tools and Techniques for Rust Reverse Engineering

  • Configuring Ghidra for Rust binaries
  • Debugging with GDB/GEF and LLDB
  • Practical exercises with Rust debugging and analysis

Module 5: Advanced Reverse Engineering and Obfuscation Techniques

  • Tackling stripped binaries: Symbol recovery and function inlining
  • Handling obfuscation techniques: String obfuscation, anti-debugging
  • Exercise: Reverse engineering an obfuscated Rust binary

Module 6: Advanced Malware Reverse Engineering Techniques in Rust

  • Analyzing process hollowing, API hooking, and DLL injection in Rust malware
  • Understanding loader injection and packers in Rust binaries
  • Practical exercises with Rust malware samples

Module 7: Rust Malware Analysis

  • Case studies (e.g., Luca Stealer)
  • Writing YARA rules for Rust binaries
  • Exercise: Analyzing a Rust malware sample and crafting YARA rules

Day 3: Golang Reverse Engineering – Fundamentals and Tooling

Module 8: Introduction to Golang and Reverse Engineering

  • Overview of Go language and its features
  • Why attackers use Go for malware development
  • Go compilation (go build, go install) and runtime basics
  • Exercise: Reversing a simple Go binary

Module 9: Basics of Golang Reversing

  • Challenges in reversing Go binaries
  • Tools for Go analysis: Ghidra, Radare2, GDB, and IDA Pro
  • Go runtime analysis: Common runtime functions, calling conventions
  • Analyzing Go binary sections and basic structures (int, string, slice, map)
  • Exercise: Analyzing a Go binary with basic structures

Module 10: Analyzing Go Structures and Control Flow

  • Go structs and interfaces
  • Understanding control flow in Go: Functions, methods, loops, and error handling
  • Exercise: Reverse engineering a Go program

Day 4: Advanced Golang Reversing and Malware Analysis

Module 11: Advanced Go Reversing Techniques

  • Challenges with stripped Go binaries
  • Advanced Go features: Goroutines, channels, synchronization (wait groups, mutex)
  • Analyzing Go’s memory management and reflection
  • Exercise: Reversing a Go binary with advanced features

Module 12: Go Malware Analysis

  • Case studies of Go-based malware
  • Writing YARA rules for Go binaries
  • Exercise: Reversing Go malware and crafting YARA rules

Module 13: Capstone Project and Conclusion

  • Reverse engineering a complex Go application
  • Guided capstone project combining advanced techniques from both Rust and Go
  • Review of core concepts and open Q&A session
  • Additional resources for further learning

Prerequisite

    • Familiarity with Linux and Rust.
    • A working laptop capable of running virtual machines
    • 4GB RAM required, at a minimum
    • 40 GB free Hard disk space
    • VirtualBox
    • Administrator/root access MANDATORY

This course is suitable for people that are new to Rust. All the theory and concepts about Rust security and Rust fuzz testing will be explained during the course.

Any questions about our services and trainings ?

Get in touch today with any questions that you might have.

Keep in touch with us !

email

contact@fuzzinglabs.com

X (Twitter)

@FuzzingLabs

Github

FuzzingLabs

LinkedIn

FuzzingLabs

email

contact@fuzzinglabs.com

X (Twitter)

@FuzzingLabs

Github

FuzzingLabs

LinkedIn

FuzzingLabs