Blog · J.17 · Platform

IoT device penetration testing explained

A connected device isn't one target - it's a small ecosystem: the hardware, the firmware on it, the way it communicates, the app that controls it, and the cloud it talks to. A weakness in any part undermines the whole, and attackers use whichever is weakest. That's why IoT testing is broader than web-app testing - it spans hardware and software together. And because one design can ship in huge numbers, a single flaw can affect an enormous device population. Here's the attack surface, the risks by layer, and what a test covers.

IoTFirmwareHardwareDefault CredentialsDevice Ecosystem
IoT: Hardware + Firmware + Comms + App + Cloud · Default / Hardcoded Credentials · Extractable Firmware · Unencrypted Comms · No Secure Update · One Flaw, Whole Fleet IoT: Hardware + Firmware + Comms + App + Cloud · Default / Hardcoded Credentials · Extractable Firmware · Unencrypted Comms · No Secure Update · One Flaw, Whole Fleet
// TL;DR

IoT penetration testing assesses a connected device together with everything it depends on: physical hardware, the firmware that runs on it, its communications, the mobile/web app used to control it, and the cloud services it talks to. A device is not a single target but a small ecosystem - a weakness in any part undermines the whole, so testing looks from several angles at once because attackers use whichever is weakest. Why IoT is often insecure: tight cost/time constraints, security as an afterthought, and multiple attack surfaces - default/hardcoded passwords shared across every device, extractable firmware revealing secrets, unencrypted or poorly authenticated comms, and no secure update mechanism. Long field lifespans and huge production numbers mean one flaw can affect an enormous population - which is why insecure IoT has fuelled large-scale attacks. A test covers hardware (interfaces, firmware extraction), firmware (hardcoded creds, keys, signed updates), communications (encryption, replay), and the app & cloud (mobile/API testing) - plus how they combine. Related: OT/ICS, automotive.

// 01 What IoT penetration testing is

IoT penetration testing is the security assessment of an internet-connected device together with everything it depends on: the physical hardware, the firmware that runs on it, the ways it communicates, the mobile or web applications used to control it, and the cloud services it talks to. A connected device is not a single target but a small ecosystem, and a weakness in any part of it can undermine the whole. Testing therefore looks at the device from several angles at once - can its hardware be tampered with to extract secrets, can its firmware be read or modified, is its communication protected, and are the app and cloud back-end secure - because attackers will use whichever of these is weakest. It's a broader discipline than testing a normal web application because it spans hardware and software together - close kin to OT/ICS testing and the ecosystem approach we take to connected vehicles.

// 02 Why IoT devices are often insecure

IoT devices are often insecure because they're built under tight cost and time constraints, with security frequently an afterthought, and because they combine several attack surfaces that each need protecting. Common problems: default or hardcoded passwords that are the same across every device; firmware that can be extracted and analysed to reveal secrets or vulnerabilities; communications that are unencrypted or poorly authenticated; and a lack of a secure update mechanism, so flaws can't easily be fixed once devices are deployed. Devices also tend to have long lifespans in the field, meaning insecure products remain in use for years. And because a single device can be produced in huge numbers, one flaw can affect an enormous population of devices - which is exactly why insecure IoT has been used to build large-scale attacks (the giant botnets assembled from default-credentialed cameras and routers).

// 03 The main risks, by layer

HW

Hardware

Physical access lets an attacker extract firmware or secrets from components or debug interfaces.

FW

Firmware

Weak or hardcoded credentials, embedded keys and unpatched vulnerabilities found by analysing extracted firmware.

COM

Communications

Data sent without proper encryption or authentication can be intercepted, replayed or manipulated; devices impersonated.

APP

App & cloud

The mobile app and back-end APIs managing the device carry the usual app flaws - but with control over physical devices at stake.

The risks map to the device's layers. At hardware level, an attacker with physical access may extract firmware or secrets. At firmware level, weak or hardcoded credentials, embedded keys and unpatched vulnerabilities can be discovered by analysing the extracted firmware. At communications level, data sent without proper encryption or authentication can be intercepted or manipulated, and devices impersonated. At application and cloud level, the mobile app and back-end APIs may contain the same flaws as any app, but with control over physical devices at stake. The overall risk: a weakness in one layer lets an attacker take control of the device, its data, or the whole fleet.

// 04 What an IoT test covers & how it's done

An IoT test covers the full device ecosystem. On the hardware, it examines physical interfaces and debug ports and whether firmware or secrets can be extracted. On the firmware, it analyses the extracted code for hardcoded credentials, embedded keys, insecure configuration and known vulnerabilities, and checks whether updates are securely signed. On communications, it inspects the protocols the device uses - whether traffic is encrypted and authenticated and whether it can be intercepted, replayed or manipulated. On the companion application and cloud back-end, it applies mobile and API testing to the software that controls the device. Finally it considers how these combine - for example whether extracting a key from one device compromises others (the fleet-wide risk). The output guides hardening across hardware, firmware, communications and cloud together, following our methodology and retested to closure.

// 05 Frequently asked questions

What is IoT penetration testing?

The security assessment of an internet-connected device together with everything it depends on: the physical hardware, the firmware that runs on it, how it communicates, the mobile or web apps used to control it, and the cloud services it talks to. A connected device is a small ecosystem, and a weakness in any part can undermine the whole, so testing looks from several angles at once - hardware tampering, firmware extraction, communication protection, and app/cloud security - because attackers use whichever is weakest. It's broader than web-app testing because it spans hardware and software together.

Why are IoT devices insecure?

They're often built under tight cost and time constraints with security an afterthought, and they combine several attack surfaces. Common problems: default or hardcoded passwords the same across every device, firmware that can be extracted to reveal secrets or vulnerabilities, unencrypted or poorly authenticated communications, and no secure update mechanism, so flaws can't easily be fixed once deployed. Devices have long field lifespans, so insecure products stay in use for years. Because one design ships in huge numbers, a single flaw can affect an enormous population - which is why insecure IoT has fuelled large-scale attacks.

What are the main IoT security risks?

They map to the device's layers. Hardware: an attacker with physical access may extract firmware or secrets from components or debug interfaces. Firmware: weak or hardcoded credentials, embedded keys and unpatched vulnerabilities found by analysing extracted firmware. Communications: data without proper encryption or authentication can be intercepted or manipulated, and devices impersonated. App and cloud: the mobile app and back-end APIs may contain the usual flaws, but with control over physical devices at stake. Overall, a weakness in one layer can let an attacker take control of the device, its data, or the fleet.

What does an IoT penetration test cover?

The full device ecosystem. Hardware: physical interfaces and debug ports, and whether firmware or secrets can be extracted. Firmware: analysing extracted code for hardcoded credentials, embedded keys, insecure configuration and known vulnerabilities, and whether updates are securely signed. Communications: the protocols used - whether traffic is encrypted and authenticated and whether it can be intercepted, replayed or manipulated. App and cloud: mobile and API testing of the controlling software. Finally, how these combine - for example whether extracting a key from one device compromises others. The output guides hardening across all layers.

// 06 Related reading

UG

Usama Gul

Founder & Penetration Testing Lead, CyberFortify

Tests connected devices across the full stack — hardware interfaces, extracted firmware, device communications, and the companion app and cloud — with an eye to the fleet-wide risk when one extracted key compromises many devices.

Your device is five attack surfaces in one

We test connected devices end to end — hardware, firmware, communications, app and cloud — and flag the fleet-wide risk when one extracted key compromises every unit in the field.

Scope an IoT test → OT / ICS testing →