Course Overview

Reverse engineering is an important concept that requires someone to take something apart, dissect it, and put it back together again. This technique is used to learn how something works and gain an intimate knowledge of its innermost workings. Unfortunately, the topic of reverse engineering in a Linux environment hasn’t received enough attention from software creators, security consultants, and the cybersecurity community. Originally, the reverse engineering process was used strictly on hardware, but it is now an important part of software engineering, malware identification and analysis, exploitation development, and forensic investigations.  Moreover, reverse engineering is an integral part of creating secure software and computing environments for organizations and anyone who uses electronic devices.  Likewise, it is a vital asset to cybersecurity engineers and allows you to safeguard data, intellectual property, and the protection of assets.

This course will you a unique understanding and familiarization of reverse engineering Linux 32-bit applications with the intended purpose of developing exploits and locating security flaws. We will set up a lab environment that can be used to dissect and analyze software flaws. Furthermore, you will learn how to take this information and leverage it to perform exploitation techniques. The exploitation techniques covered in this class will be buffer overflows, heap overflows, kernel flaws and section overflows, and format string flaws. While going through these topics the students will gain a better understanding of automation techniques using scripting languages and applications. Furthermore, you will learn to use specialized software debuggers, fuzzers, and exploitation frameworks like Metasploit.  

Upon completion of this course, you will be able to understand, identify and leverage these techniques to develop exploits and perform quality control analysis on software applications. Equally important, the student will learn the fundamentals of assembly language and can use these techniques for offensive security, and as an incident responder to identify and analyze attack techniques. The techniques learned in this course will be vital to a successful career in cybersecurity and enable students to confidently perform at the leading edge of cyber defense.

The necessary resources for this course are in the "Resources" section of Video 1.1. You can also access them through this direct link - https://github.com/ec-council-learning/Linux-32-bit-Reverse-Engineering

What You Will Learn

  • Learning of how assembly language works and interacts with hardware.
  • Locating or generating shellcode for identified vulnerabilities using learned reverse engineering techniques.
  • Learning how to use tools to compile
  • decompile
  • analyze
  • and fuzz programs on a 32-bit Linux machine to successfully find security vulnerabilities.
  • Performing dynamic and static analyzation of source code to see how it interacts with the system.
  • Understanding the theory of how heap and stack overflows occur
  • and ways to exploit these conditions.
  • Identifying and remediating overflow conditions.
  • Setting up a reverse engineering lab.
  • Understanding the inner workings of x86 architecture
  • function and return mechanics
  • and CPU registers.
  • Calling conventions used by Linux
  • and ELF fundamentals.
  • Locating and creating exploits for identified software flaws.
  • Getting hands on with Local and Remote code execution techniques in the associated context of the provided reverse engineering techniques.
  • Using debugging tools for exploit development.
  • Ethical hacking and pentesting techniques derived from reverse engineering and analysis.

Program Curriculum

  • What Is Reverse Engineering?
  • Introduction to x86 Architecture (Part - 1)
  • Introduction to x86 Architecture (Part - 2)
  • Linux ELF, SUID, and SGID Fundamentals
  • $7 Million Cybersecurity Scholarship by EC-Council
  • Chapter 1 Quiz

  • The Importance of a Reverse Engineering Lab
  • Virtual Box, Parallels, and VMware Overview
  • Fuzzers
  • Debuggers and Compilers
  • Chapter 2 Quiz

  • Introduction to Shell Code
  • Exploring and Creating Shell Code
  • Chapter 3 Quiz

  • Introduction to Format String Flaws
  • Analyzing Source Code to Identify Format String Flaws
  • Delivering the Payload
  • Exploiting Format String Flaws
  • Chapter 4 Quiz

  • Anatomy of a Stack Overflow
  • Creating a Vulnerable Application
  • Technique to Find a Stack Overflow Vulnerability
  • Finding the EIP and Offset
  • Identifying Bad Characters and Creating Shellcode
  • EIP Control and Executing Shellcode
  • Chapter 5 Quiz

  • What Are Kernel Flaws and Their Common Causes?
  • Analyzing Race Conditions and the Dirty Copy-on-Write Vulnerability
  • Finding the Vulnerability
  • Executing the Dirty Copy-on-Write Exploit
  • Chapter 6 Quiz

  • What Are Heap Overflows?
  • Analyzing and Identifying Heap Overflows
  • Finding Address Space and Delivering the Payload
  • Exploiting the Vulnerability
  • Chapter 7 Quiz

Conclusion

Load more modules

Instructor

Richard Medlin

Richard K Medlin has an extensive background in cybersecurity, Open-Source Intelligence, forensics, penetration testing, as well as reverse engineering and has authored and written in several published journals associated with these topics. Richard is an instructor for multiple government agencies and has earned his Bachelor of Science in Computer Networks and Cybersecurity from the University of Maryland Global Campus—with Summa Cum Laude honors. Additionally, Richard was inducted into the EC-Council 2021 Certified Ethical Hacker Hall of Fame due to his contributions to cybersecurity and the InfoSec community. Likewise, Richard is an industry expert with over 20 years of networking and cyber security experience and has a broad range of certifications related to multiple areas of focus. Richard is the CEO of Medlin Cybersecurity Solutions, a Sr. Developer for CSI Linux, a government instructor, and a Sr. Pentester for the Information Warfare Center.

Join over 1 Million professionals from the most renowned Companies in the world!

certificate

Empower Your Learning with Our Flexible Plans

Invest in your future with our flexible subscription plans. Whether you're just starting out or looking to enhance your expertise, there's a plan tailored to meet your needs. Gain access to in-demand skills and courses for your continuous learning needs.

Monthly Plans
Annual Plans
Save 20% with our annual plans!

Pro

Ideal for continuous learning, offering extensive resources with 600+ courses and diverse Learning Paths to enhance your skills.

$ 499.00
Billed annually or $59.00 billed monthly

What is included

  • 700+ Premium Short Courses
  • 50+ Structured Learning Paths
  • Validation of Completion with all courses and learning paths
  • New Courses added every month
Early Access Offer

Pro +

Experience immersive learning with Practice Labs, CTF Challenges, and exclusive EC-Council certifications for comprehensive skill-building.

$ 599.00
Billed annually or $69.00 billed monthly

Everything in Pro and

  • 800+ Practice Lab exercises with guided instructions
  • 150+ CTF Challenges with detailed walkthroughs
  • New Practice Labs and Challenges added every month
  • 3 Official EC-Council Essentials Certifications¹ (retails at $897!)
    Exclusive Bonus with Annual Plans

¹This plan includes Digital Forensics Essentials (DFE), Ethical Hacking Essentials (EHE), and Network Defense Essentials (NDE) certifications. No other EC-Council certifications are included.

Related Courses

1 of 8