Git Product home page Git Product logo

hacklu's Introduction

Workshop2015

TOC

Part 0. Intro to the radare world (45 min + 15 min practice)

0.0 - Generality on radare2 framework 1.1 - Utility toolsuit 2.1 - Radare2 - Generalities 2.2 - Radare2 - Printing 2.3 - Radare2 - Info Commands 2.4 - Radare2 - Search 2.5 - Analysis 2.6 - Visual Mode(s) 2.7 - Student Practices - IOLI Set - Questions/Answers

Part I. Static analysis (1 hour 30 minutes)

Chapter 1. Malware (45 minutes)

1.1 Windows malware example 1.2 Linux malware example

Chapter 2. Firmware (45 minutes)

2.1. General MIPS router firmware unpacking (15 minutes) Showing low-hanging vulnerabilities in a classic SOHO router.

2.2 General ARM firmware analysis - bootloaders and android executables (15 minutes)

  • Texas Instruments bootrom analysis
  • Qualcomm TrustZone analysis
  • One of Android executables

2.3 HDD firmware analysis (15 minutes)

  • Seagate firmware unpacking and disassembling

Chapter 3. Practice (30 minutes)

Part II Debugging - (40 minutes)

Chapter 1. General techniques (30 minutes)

1.1 gdb (10 minutes) Since the current native debugger is not perfect (it will be the focus for the next release), Radare2 can use gdb as a backend to debug processes.

1.2 native (10 minutes) We'll show basic on-host debugging case, when you are brave enough to debug executable (or even malware) directly on your machine. Also:

  • rarun2 - setup execution environment for a program (chroot, parameters, env, etc.)
  • remote r2 debugging r2 -c=h && r2 -C http://.../cmd/

1.3 WinDbg and PDB (10 minutes) Essential part for the windows debuggind is loading PDB files, especially for Windows drivers.

Chapter 2. Firmware (10 minutes)

2.1 qemu (10 minutes) Using embedded gdbserver to debug x86 bootloader/bios/uefi, and arm bootloader (see Part II, 2.2 section)

Part III Scripting (1 hour)

Chapter 1. Radare2 script (15 minutes)

Basic scripting, pipelining radare2 commands, without any external plugins. Using python plugins, high-level analysis using python bindings

Chapter 2. Scripting with r2pipe (30 minutes)

Using r2pipe for scripting with python, javascript.

Chapter 3. Python bindings (15 minutes)

Using 'classic' and 'ctypes' python bindings for the radare2 library

Part IV ESIL (1 hour)

ESIL is an Evaluateable String Intermediate Language

Chapter 1. Small ESIL introduction

ESIL syntax, opcodes, sources of the ESIL analysis

Chapter 2. ESIL emulation

Using ESIL for the emulation, without qemu/bochs/vbox needed

Chapter 3. ESIL to REIL conversion

To be able to use already existing tools based on REIL

THE END

hacklu's People

Contributors

crowell avatar jvoisin avatar xvilka avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.