Skip to main content
2 min read Intermediate IoT

IoT Pentesting Fundamentals

IoT (Internet of Things) security testing spans hardware, firmware, wireless, network, mobile, and cloud: a single device usually touches all of them. Effective testing means mapping that whole ecosystem rather than treating the device as one black box.

The IoT attack surface​

LayerWhat to look at
HardwareDebug ports (UART, JTAG, SWD), exposed flash chips, test pads
FirmwareHardcoded credentials, keys, outdated components, weak update mechanism
WirelessWi-Fi, BLE, Zigbee, Z-Wave, LoRa, pairing and encryption weaknesses
NetworkOpen services, plaintext protocols, weak TLS, local APIs
Mobile appCompanion app secrets, insecure storage, weak auth to the device/cloud
CloudDevice-to-cloud APIs, account/tenant isolation, MQTT topic access control

A practical methodology​

  1. Recon the ecosystem: device, app, cloud endpoints, and the protocols between them.
  2. Extract firmware: from an update file, the vendor site, or directly from flash; then unpack with binwalk and review the filesystem.
  3. Analyse firmware: search for credentials, keys, and certificates; identify the OS and outdated packages.
  4. Test the network services: enumerate open ports, inspect protocols, attempt auth bypass and command injection on local APIs.
  5. Examine wireless: capture and analyse pairing; check for unencrypted or replayable traffic.
  6. Assess the mobile + cloud path: how the app authenticates to the device and the backend; test for IDOR and weak tenant isolation.

Common findings​

  • Hardcoded or default credentials in firmware
  • Unauthenticated UART/serial console giving a root shell
  • Unsigned firmware updates (no integrity / authenticity checks)
  • Plaintext device-to-cloud communication
  • Companion app trusting the device or backend implicitly

Starter tooling​

  • Firmware: binwalk, firmware-mod-kit, firmwalker, Ghidra
  • Hardware: logic analyzer, USB-UART adapter, Bus Pirate, flashrom
  • Wireless: Ubertooth (BLE), HackRF, Wireshark
  • Network: nmap, mosquitto clients (MQTT), Burp Suite

Always test only devices you own or are explicitly authorised to assess.