Practical IoT Hacking : Hardware Edition Training


Basic Practical IoT Hacking : Hardware Edition Training


Duration : 2 days training


“Practical Internet of Things (IoT) Hacking: Hardware Edition” is a unique course which offers security professionals, a comprehensive understanding of the IoT hardware and Radio Technology and their underlying weaknesses. The course combines learning with CTF for fun and better grasp, with the labs running as a CTF. The extensive hands-on labs enable attendees to identify vulnerabilities in IoT, not just on emulators but on real hardware as well. The course focuses on hardware attack vectors and approaches to identify respective vulnerabilities. In addition to hardware it also focuses on radio, reverse engineering native code to find weaknesses. It covers security testing process for hardware, open source software/hardware tools one needs to have in their IoT penetration testing arsenal. It also covers It also covers how to use and extend the open source IoT exploitation framework: ExplIoT, developed by us (

Throughout the course, we will use eXos, VM/Platform on Raspberry Pi, created by us specifically for IoT penetration testing. eXos is the result of our R&D and has most of the required tools for IoT security analysis. We will also distribute DIVA – IoT, a vulnerable IoT sensor made in-house for hands-on exercises.

The “Practical Internet of Things (IoT) Hacking: Hardware Edition” course is aimed at security professionals who want to enhance their skills and move to IoT hardware security assessment. The course is structured for intermediate level attendees who do not have any experience in IoT hardware security.

Course outline

* IOT Architecture

* IoT Hardware Security Testing Process

* Expliot :  IoT exploitation framework

  • Introduction
  • Architecture
  • Test Cases
  • Writting you own Hello World test case

* Radio Overview

* Understanding Radio

  • Signal Processing
  • Software Defined Radio
  • Gnuradio
    •  Introduction to gnuradio concepts
    • Creating a flow graph
    • Analysing radio signals
    • Recording specific radio signal
    • Replay Attacks

* Zigbee

  • Introduction and protocol Overview
  • Reconnaissance (Active and Passive)
  • Replay attacks 
  • Hands-on with RZUSBstick and open source tools

* ARM Refresher

  • Architecture 
  • Instruction Set 
  • Procedure call convention 
  • System call convention 
  • Reversing
  • Hands-on Labs

* Firmware

  • Types 
  • Firmware updates 
  • Firmware analysis and reversing
  • Firmware encryption 
  • Identifying Instruction Sets
  • Simulating device environments

* IoT hardware Overview

* Introduction to hardware

  • Components
  • Memory 
  • Packages

* Hardware Tools

  • Expliot Nano 
  • EEPROM readers
  • Jtagulator/Jtagenum 
  • Logic Analyzer

* Attacking Hardware Interfaces

* Hardware recon

  • Hardware Reconnaissance
    • Analyzing the board
    • Datasheets

* Attacking Debug ports

  • What are debug ports
  • Importance 


  • Introduction 
  • Identifying UART interface
    •  Method 1 
    • Method 2 
  • Accessing sensor via UART 
  • Brute-forcing Custom consoles 


  • Introduction
  • Identifying JTAG interface
    • Method 1 
    • Method 2
  • Extracting firmware from the microcontroller
  • Run-time patching the firmware code
  • Real time code analysis

* Attacking the Memory

  • Where and What data is stored?
  • Common memory chips and protocols
  • Security issues 
  • I2C
    • Introduction 
    • Interfacing with I2C
    • Sniffing run-time I2C communication 
    • Manipulating Data via I2C
  • SPI
    •  Introduction 
    • Interfacing with SPI
    • Manipulating data via SPI

Who should take this course

  • Penetration testers tasked with auditing IoT Hardware
  • Government officials from defensive or offensive units
  • Red team members tasked with compromising the IoT hardware infrastructure
  • Security professionals who want to build IoT hardware security skills
  • IoT Developers and testers
  • Anyone interested in IoT security


  • Basic knowledge of ARM (32 bit) assembly (please go through it once, if no experience, there are a lot of tutorials onlind)
  • Knowledge of Linux OS and commandline
  • Knowledge of programming – python

What attendees should bring

  • Laptop with at least 50 GB free space
  • 8+ GB minimum RAM (4+GB for the VM)
  • External USB access (min. 2 USB ports)
  • Administrative privileges on the system
  • Virtualization software – Latest VirtualBox (5.2.X) (including Virtualbox extension pack)
  • Linux host machines should have exfat-utils and exfat-fuse installed (ex: sudo apt-get install exfat-utils exfat-fuse).
  • Virtualization (Vx-t) option enabled in the BIOS settings for virtualbox to work

What attendees will be provided With

  • Commercial IoT Devices for hands-on (only during the class)
  • DIVA – IoT: custom vulnerable IoT sensor Testbed for hands-on (only during the class)
  • Hardware tools for hardware analysis for hands-on (only during the class)
  • eXos VM – Platform for IoT Penetration testing
  • Training material/slides
  • Practical IoT hacking Lab manual PDF

What to expect

  • Hands-on Labs
  • Reverse engineering
  • Getting familiar with the IoT hardware security
  • This course will give you a direction to start performing pentests on IoT hardware

What not to expect

  • Becoming a hardware/IoT hacker overnight. Use the knowledge gained in the training to start pentesting IoT devices and sharpen your skills.

About Trainers

Aseem Jakhar is the Director, research at Payatu a boutique security testing company specializing in IoT, embedded, mobile and cloud security assessments. He is well known in the hacking and security community as the founder of null – The open security community, registered not-for-profit organization and also the founder of nullcon security conference and security conference He has worked on various security software including UTM appliances, messaging/security appliances, anti-spam engine, anti-virus software, Transparent HTTPS proxy with captive portal, bayesian spam filter to name a few. He currently spends his time researching on IoT security and hacking things. He is an active speaker and trainer at security conferences like AusCERT, Black Hat, Brucon, Defcon, Hack In The Box,, Hack in Paris, PHDays and many more. He is the author of various open source security tools including:

  1. ExplIoT – An open source Internet Of Things Security Testing and Exploitation framework – 2. Linux thread injection kit – Jugaad and Indroid which demonstrate a stealthy in- memory

malware infection technique. Indroid – Jugaad –

  1. DIVA (Damn Insecure and Vulnerable App) for Android which gamifies Android App

vulnerabilities and is used for learning Android Security issues. android 4. Dexfuzzer – Dex file format Fuzzer.

Arun Magesh works as IoT Security Researcher at payatu and has worked on numerous smart devices pentest in the past couple of years. With an electrical engineering academic background, he serves as a core committee member for several IoT local chapters and hackerspaces in India, where he regularly delivers talks and hands-on workshops. He has 5+ years hands-on experience in both building and breaking IoT devices and has been previously awarded for India’s Top 25 under 25 technologist and also a Intel Software Innovator. His main focus area in IoT is embedded device and SDR security. He has also build and contributed to a number of projects such as Brain-Computer interfacing and Augment Reality solutions. He has delivered training to numerous governmental and private organizations around the globe.