Book Image

Binary Analysis Cookbook

By : Michael Born
Book Image

Binary Analysis Cookbook

By: Michael Born

Overview of this book

Binary analysis is the process of examining a binary program to determine information security actions. It is a complex, constantly evolving, and challenging topic that crosses over into several domains of information technology and security. This binary analysis book is designed to help you get started with the basics, before gradually advancing to challenging topics. Using a recipe-based approach, this book guides you through building a lab of virtual machines and installing tools to analyze binaries effectively. You'll begin by learning about the IA32 and ELF32 as well as IA64 and ELF64 specifications. The book will then guide you in developing a methodology and exploring a variety of tools for Linux binary analysis. As you advance, you'll learn how to analyze malicious 32-bit and 64-bit binaries and identify vulnerabilities. You'll even examine obfuscation and anti-analysis techniques, analyze polymorphed malicious binaries, and get a high-level overview of dynamic taint analysis and binary instrumentation concepts. By the end of the book, you'll have gained comprehensive insights into binary analysis concepts and have developed the foundational skills to confidently delve into the realm of binary analysis.
Table of Contents (12 chapters)

What this book covers

Chapter 1, Setting Up the Lab, explains how to set up a test lab for working through the recipes in this book.

Chapter 2, 32-Bit Assembly on Linux and the ELF Specification, will introduce 32-bit Intel assembly on Linux and the ELF specification for 32-bit systems.

Chapter 3, 64-Bit Assembly on Linux and the ELF Specification, will introduce 64-bit Intel assembly on Linux and the ELF specification for 64-bit systems.

Chapter 4, Creating a Binary Analysis Methodology, explains how to establish a fundamental analysis methodology and situations where some steps may be skipped.

Chapter 5, Linux Tools for Binary Analysis, will introduce you to common tools used in binary analysis.

Chapter 6, Analyzing a Simple Bind Shell, reinforces the skills gained in the previous chapter by having you analyze a 32-bit bind shell binary.

Chapter 7, Analyzing a Simple Reverse Shell, enhances your understanding of the skills and tools you have been learning about by teaching you how to analyze a 64-bit reverse shell.

Chapter 8, Identifying Vulnerabilities, includes recipes using the tools and skills learned in previous chapters to identify basic vulnerabilities in binaries.

Chapter 9, Understanding Anti-Analysis Techniques, has recipes that reinforce basic anti-analysis techniques and how to overcome them.

Chapter 10, A Simple Reverse Shell with Polymorphism, takes you through an obfuscated reverse shell analysis.

Appendix, Dynamic Taint Analysis: The 30,000 FT View, presents a very high-level and basic understanding of binary instrumentation and dynamic taint analysis. This chapter will serve as a jumping-off point into other binary analysis books that look deeper into the topic. It's freely available online for our readers and here is the link: https://static.packt-cdn.com/downloads/Dynamic_Taint_Analysis_the_30000_Foot_View.pdf.