IoT Penetration Testing
TABLE Of CONTENTS

IoT & Embedded Device Penetration Testing: A Practical Overview

Fiza Nadeem
2026-06-30
8
min read

IoT devices have changed the way businesses collect data, automate processes, and connect physical environments to digital systems. Smart cameras, medical devices, industrial sensors, POS systems, and other embedded devices now communicate with APIs, cloud platforms, and enterprise networks.

This connectivity also creates a wider attack surface. A single IoT product may contain hardware components, firmware, wireless interfaces, cloud services, and physical access points. A weakness in any one of these layers can affect the security of the wider ecosystem.

This is where IoT penetration testing becomes important. It combines security testing across the device and its supporting ecosystem to determine how an attacker could gain access, manipulate functionality, or move into connected systems.

So, how do you penetration test an IoT device? The process typically starts with scoping and attack-surface mapping, followed by hardware testing, firmware analysis, network and wireless assessment, mobile and API testing, controlled exploitation, and remediation validation.

What Is IoT Penetration Testing?

IoT penetration testing is a security assessment that simulates realistic attacks against an IoT device and the systems connected to it. It looks at how weaknesses can be discovered, combined, and exploited across different layers of the IoT ecosystem.

An assessment can include the device's hardware, firmware, operating system, network services, wireless interfaces, communication protocols, companion mobile applications, APIs, cloud infrastructure, and physical interfaces.

The scope depends on the product. For example, testing a smart camera may involve its firmware, web interface, Wi-Fi connection, mobile application, cloud API, and physical debug ports.

Testing an industrial IoT device may also require assessment of industrial protocols, device integrations, network segmentation, and operational technology environments.

This makes IoT security testing different from a conventional web or network penetration test. A web application test may focus primarily on HTTP requests, authentication, authorization, and application logic.

An IoT assessment may require a tester to inspect a circuit board, identify chips, access a UART interface, extract firmware, reverse engineer binaries, analyze wireless traffic, and then connect those findings to API or cloud weaknesses.

IoT penetration testing also considers physical attack surfaces. An attacker who can access a device may be able to interact with debug interfaces, extract firmware, recover secrets, or tamper with hardware. These risks are particularly important for devices deployed in public, industrial, healthcare, or other physically accessible environments.

Vulnerability Scanning vs. IoT Penetration Testing

Vulnerability scanning is useful for finding known vulnerabilities at scale. However, it generally does not provide the depth needed for embedded device security.

For example, a scanner may identify an outdated service running on an IoT device. A penetration tester can go further by determining whether that service can be exploited, whether authentication can be bypassed, what access it provides, and whether the weakness can be chained with another issue to compromise the device.

Manual testing is especially important for IoT products because hardware interfaces, proprietary protocols, firmware logic, device pairing, and business logic often require human analysis.

The OWASP IoT Security Testing Guide reflects this broader approach by organizing testing around areas such as processing units, memory, firmware, data exchange services, internal interfaces, physical interfaces, wireless interfaces, and user interfaces.

What Does IoT Penetration Testing Cover?

A complete IoT security assessment should map the full attack surface rather than treating the physical device as an isolated asset. Depending on the product and scope, testing can cover the following areas.

1. Hardware Security

Hardware security testing examines the physical components that make up the device and the interfaces used to communicate with them. Testers may inspect the printed circuit board (PCB), identify chips and storage components, and look for exposed interfaces such as:

  • UART
  • JTAG
  • SWD
  • SPI
  • I²C
  • Other vendor-specific debug interfaces

The assessment may also examine flash memory, secure elements, hardware-based authentication, physical tampering controls, and protections that prevent unauthorized access to device components.

A key objective is to determine whether physical access gives an attacker a path to privileged functionality or sensitive information.

For example, an exposed debug interface may provide access to a bootloader, operating system shell, memory, or configuration data that should not be available to an unauthorized user.

2. Firmware Security

Firmware controls much of an embedded device's functionality, making it a critical part of embedded device security. Firmware analysis can reveal vulnerabilities that are not visible from the device's external network interface.

Testing may include firmware extraction, file-system analysis, binary analysis, reverse engineering, and dynamic analysis. Testers look for:

  • Backdoors.
  • Debug functionality.
  • Unnecessary services.
  • Insecure boot processes.
  • Insecure configuration files.
  • Private certificates and keys.
  • Firmware integrity weaknesses.
  • API keys and cryptographic secrets.
  • Weak cryptographic implementations.

Firmware testing also helps determine whether the device properly protects its software from unauthorized modification. This can include reviewing secure boot, firmware signing, integrity checks, and update mechanisms.

3. Network and Communication Security

IoT devices often communicate with other devices, applications, gateways, and cloud platforms through a combination of standard and IoT-specific protocols. Testing may cover:

  • Wi-Fi
  • Bluetooth and Bluetooth Low Energy (BLE)
  • Zigbee
  • Z-Wave
  • LoRaWAN
  • Cellular communication
  • MQTT
  • CoAP
  • HTTP/HTTPS
  • Proprietary protocols

Testers assess whether communications are properly authenticated and protected. They may examine encryption, certificate validation, session handling, replay resistance, message integrity, and protocol configuration.

The goal is not simply to determine whether encryption exists. The assessment should establish whether it is implemented correctly and whether an attacker can manipulate or replay messages, impersonate a device, intercept sensitive information, or send unauthorized commands.

4. Mobile Application Security

Many IoT devices rely on Android or iOS applications for setup, configuration, monitoring, and remote control. As a result, the mobile application becomes part of the device's attack surface. Testing can cover:

  • Authentication
  • Authorization
  • Device ownership
  • Local data storage
  • API communication
  • Certificate validation
  • Device pairing
  • Session management
  • Token handling
  • Reverse engineering

For example, a mobile application may appear secure at the interface level but expose an API that does not properly verify whether the authenticated user actually owns the requested device. That could allow unauthorized users to access another customer's device or issue commands.

5. API and Cloud Backend Security

The cloud layer often handles device registration, authentication, telemetry, remote commands, updates, and user management. A weakness in the backend can therefore affect large numbers of connected devices.

Testing may examine:

  • Cloud configuration
  • API access controls
  • Multi-tenant isolation
  • Sensitive data exposure
  • Remote device commands
  • Device ownership validation
  • Authentication and authorization
  • Session and token management
  • Insecure direct object references
  • Authentication and authorization
  • Insecure direct object references
  • Device registration and provisioning

An IoT security assessment should determine whether a compromise at the API or cloud layer can be used to control devices or access information belonging to other users.

6. Physical and Environmental Security

IoT devices are often deployed outside traditional data centers. Some may be placed in homes, stores, hospitals, factories, vehicles, public spaces, or other locations where attackers can physically interact with them.

Testing can determine whether physical access allows an attacker to:

  • Extract firmware
  • Read device storage
  • Modify device behavior
  • Bypass security controls
  • Tamper with components
  • Alter or replace stored data
  • Access sensitive interfaces
  • Recover credentials or cryptographic material

The level of physical testing should reflect realistic threats. A device installed inside a secured facility may have a different physical threat model from a consumer device mounted in a public location.

How Do You Penetration Test an IoT Device?

IoT penetration testing typically involves defining the scope, mapping the attack surface, analyzing hardware and firmware, testing network and wireless communications, assessing mobile applications and APIs, validating vulnerabilities through controlled exploitation, and reporting and retesting the findings.

A strong assessment follows a structured methodology because IoT products contain multiple connected components. OWASP's IoT Security Testing Guide similarly uses a device model, attacker model, testing methodology, and component-specific test cases to help testers build a consistent approach.

Step 1: Define the Scope and Rules of Engagement

The first step is to establish exactly what will be tested and how testing will be performed. The scope may include:

  • Device models and versions
  • Firmware versions
  • Hardware revisions
  • Mobile applications
  • APIs and cloud services
  • Network environments
  • Wireless interfaces
  • Physical interfaces
  • Device integrations
  • Production or test environments
  • Authorized attack scenarios

Testers should also define what actions are prohibited. This is particularly important for industrial, medical, automotive, and other safety-sensitive environments.

For example, actively disrupting a production controller may create operational or safety risks. In such cases, testing may need to use a laboratory device, test environment, offline replica, or controlled maintenance window.

Clear rules of engagement ensure that the assessment produces useful security evidence without creating unnecessary operational risk.

Step 2: Perform Reconnaissance and Attack Surface Mapping

Once the scope is established, testers build an inventory of the IoT ecosystem. This includes identifying:

  • Hardware components
  • Operating systems
  • Firmware versions
  • Open ports
  • Running services
  • Network protocols
  • Wireless technologies
  • Companion applications
  • APIs
  • Cloud endpoints
  • Firmware update mechanisms
  • Physical and debug interfaces

The objective is to understand how the components communicate and where trust boundaries exist. For example, a connected camera may follow this path: Device → Firmware → Network → Mobile App → API → Cloud

Each connection represents a potential attack surface. A weakness in the mobile application may expose an API. An API flaw may expose device commands. A device command may then provide a route to sensitive functionality. Attack-surface mapping helps testers avoid focusing too narrowly on the device itself.

Step 3: Analyze the Device Hardware

A hardware pentest examines the physical security of the embedded device. Testers may begin with PCB inspection and chip identification. They then identify available interfaces and determine whether they provide access to sensitive functions.

UART, JTAG, and SWD interfaces are particularly important because they can sometimes expose debugging or low-level access. SPI and I²C may also provide access to connected memory or peripherals, depending on the device architecture.

Testing can include:

  • UART testing
  • JTAG testing
  • SWD testing
  • PCB inspection
  • Chip identification
  • Storage inspection
  • Debug-port discovery
  • Flash memory access
  • Hardware authentication testing
  • Physical tampering assessment

The purpose is not simply to find an exposed port. Testers need to determine what access the interface provides and whether security controls prevent unauthorized use. Hardware testing can therefore uncover weaknesses that network-based testing would never see.

Step 4: Extract and Perform Firmware Analysis

Firmware analysis is one of the most important parts of an IoT security assessment because firmware often contains the logic, configuration, credentials, and services that make the device operate.

Where authorized, testers obtain the target firmware from the vendor, update package, device storage, or other approved source. They then analyze its structure and contents. The process can include:

Firmware extraction: Obtaining the firmware from a legitimate source or directly from device storage when permitted.

File-system analysis: Identifying configuration files, scripts, binaries, certificates, keys, logs, and other embedded resources.

Static analysis: Reviewing firmware without executing it to identify suspicious functionality, insecure configurations, vulnerable components, and embedded secrets.

Binary analysis and reverse engineering: Examining compiled code to understand functions, control flow, security checks, and device behavior.

Dynamic analysis: Observing how the firmware behaves while running. OWASP's IoT testing guidance includes dynamic analysis of installed firmware to examine how data is processed and stored at runtime.

Testers may search for:

  • API keys
  • Certificates
  • Private keys
  • Sensitive URLs
  • Debug accounts
  • Outdated libraries
  • Encryption secrets
  • Internal IP addresses
  • Unnecessary services
  • Hardcoded credentials
  • Insecure configuration files

The assessment should also examine bootloaders and secure boot controls. If an attacker can replace firmware without proper signature or integrity verification, the device may be vulnerable to persistent compromise.

Firmware analysis should also evaluate the update mechanism. A secure device should restrict updates to authorized sources and verify that the software being installed is legitimate.

NIST's IoT guidance identifies secure software updates as a core device capability and recommends mechanisms that authenticate or verify updates before installation.

Step 5: Test Network Services and Communication Protocols

After understanding the device internally, testers assess its network-facing behavior. They identify exposed services and determine whether each service is necessary and adequately protected. Testing can look for:

  • Unnecessary exposed services
  • Default credentials
  • Weak authentication
  • Insecure protocols
  • Cleartext communication
  • Weak encryption
  • Certificate validation flaws
  • Improper input validation
  • Replay opportunities
  • Command manipulation
  • Message tampering

IoT-specific protocols such as MQTT and CoAP deserve particular attention because they may carry device commands, telemetry, or sensitive information. For example, testers may determine whether an unauthorized client can subscribe to an MQTT topic, publish unauthorized commands, or access information belonging to another device.

The same principle applies to proprietary protocols. Even when a protocol is not widely documented, testers can analyze traffic to understand message structure, authentication mechanisms, encryption, and command handling.

How to Penetration Test an IoT Device

Step 6: Test Wireless Interfaces

Wireless connectivity can introduce additional attack paths that are not visible from traditional network scans. Depending on the device, testing may cover:

  • Wi-Fi
  • Bluetooth/BLE
  • Zigbee
  • Z-Wave
  • LoRaWAN
  • NFC
  • Cellular interfaces

Testers examine device discovery, pairing, authentication, encryption, and communication integrity. They may also assess:

  • Spoofing.
  • Eavesdropping.
  • Replay resistance.
  • Improper access controls.
  • Unauthorized commands.
  • Weak pairing mechanisms.
  • Insecure protocol implementation.

The objective is to determine whether an attacker within realistic wireless range can interact with the device without proper authorization.

Step 7: Assess the Companion Mobile App and APIs

An IoT device should rarely be tested in isolation when a mobile application controls or communicates with it. The tester evaluates how the application authenticates users, stores information, communicates with APIs, and identifies devices.

Testing can include:

  • Authentication bypass
  • Authorization flaws
  • Device ownership validation
  • API manipulation
  • Token handling
  • Sensitive local storage
  • Insecure API endpoints
  • Certificate validation
  • Device pairing logic
  • Privilege escalation

One important question is whether the backend trusts information supplied by the mobile application without independently validating it.

For example, changing a device identifier in an API request should not allow a user to control another user's device. Authorization must be enforced by the backend rather than assumed from the mobile application's interface.

This is why connected device security requires testing the complete relationship between the device, application, API, and cloud service.

Step 8: Test Firmware Updates and Device Provisioning

Firmware updates are a critical part of the IoT security lifecycle. An attacker who can replace legitimate firmware with unauthorized code may gain persistent control over the device. Testing should evaluate:

  • OTA update security
  • Firmware signing
  • Signature verification
  • Downgrade protection
  • Update authentication
  • Secure boot
  • Device provisioning
  • Initial credentials
  • Device registration
  • Key management

A secure update process should verify that an update comes from an authorized source and that its integrity has not been compromised. NIST's current IoT capability catalog specifically includes authorized software updates and verification mechanisms such as digital signatures, checksums, and certificate validation.

Testers should also assess whether older firmware can be reinstalled after a device has been updated. Without downgrade protection, attackers may deliberately return a device to a vulnerable version and exploit a weakness that had already been fixed.

Step 9: Validate and Exploit Identified Vulnerabilities

Finding a potential vulnerability is not always enough to determine its real risk. IoT penetration testing uses controlled exploitation to validate whether a weakness can actually be abused. Depending on the scope, testers may perform:

  • Manual validation
  • Controlled exploitation
  • Attack-chain testing
  • Privilege escalation
  • Unauthorized device control
  • Sensitive data access
  • Persistence testing
  • Lateral movement
  • Business-impact validation

For example, an exposed debug interface may initially appear to be a high-risk finding. The tester can validate whether it provides privileged access, whether security controls restrict that access, and what an attacker could do after gaining it.

Exploitation must remain controlled and within the approved rules of engagement. The objective is to demonstrate realistic risk, not to cause unnecessary disruption.

Step 10: Assess the Business and Security Impact

Technical vulnerabilities need to be translated into business risk. The potential impact of an IoT compromise depends heavily on the device and its environment. Possible consequences include:

  • Safety risks.
  • Device takeover.
  • Network compromise.
  • Operational disruption.
  • Sensitive data exposure.
  • Unauthorized surveillance.
  • Unauthorized surveillance.
  • Cloud account compromise.
  • Regulatory or compliance impact.
  • Manipulation of device functionality.

For example, compromising a consumer smart device may expose personal data, while compromising an industrial IoT device could affect production or operational safety. A strong assessment therefore considers both exploitability and consequence.

Step 11: Report Findings and Retest

The final report should provide security teams with enough evidence to understand, prioritize, and fix each finding. A comprehensive IoT penetration testing report can include:

  • Executive summary
  • Scope
  • Methodology
  • Attack-surface overview
  • Vulnerability details
  • Severity ratings
  • Technical evidence
  • Proof of Concept
  • Business impact
  • Attack paths and vulnerability chains
  • Remediation recommendations
  • Retest results

The report should explain not only what is wrong but also why it matters and how the organization can address it.

Common Vulnerabilities Found During IoT Penetration Testing

IoT vulnerabilities can exist at almost every layer of a connected product. The following issues are particularly important during an IoT security assessment.

1. Hardcoded Credentials and Secrets

Hardcoded usernames, passwords, API keys, certificates, and cryptographic keys can expose devices and supporting services.

Secrets stored in firmware or mobile applications may also be extracted through reverse engineering. If the same credential is reused across many devices, one compromised product could expose an entire device fleet.

Testers therefore examine firmware, applications, configuration files, and storage for credentials and other sensitive information.

2. Insecure Firmware

Firmware may contain outdated components, unnecessary services, exposed debug functionality, insecure configurations, or weak security controls.

A device can appear secure from the outside while still containing serious weaknesses inside its firmware. This makes firmware analysis an essential part of embedded device security.

3. Weak Authentication and Authorization

IoT devices may use default passwords, weak authentication mechanisms, or insufficient authorization checks. Another common concern is device ownership. A user should not be able to access or control another user's device simply by changing an identifier in an API request.

NIST's IoT guidance also emphasizes device identification and authentication as important capabilities for distinguishing authorized from unauthorized entities.

4. Exposed Debug Interfaces

UART, JTAG, SWD, and other interfaces can provide low-level access to embedded systems. If these interfaces remain exposed without adequate protection, an attacker with physical access may gain access to firmware, memory, logs, or privileged functions.

A hardware pentest helps determine whether these interfaces are accessible and what security controls protect them.

5. Insecure Communication

Unencrypted traffic, weak encryption, poor certificate validation, and insecure proprietary protocols can expose sensitive information or allow attackers to modify device communications.

Testing should examine both the confidentiality and integrity of communications. Protecting data from unauthorized access and modification is also a core capability identified in NIST's IoT guidance.

6. Insecure Firmware Updates

An update mechanism that does not verify firmware authenticity or integrity can become a direct path to device compromise. Common issues include:

  • Unsigned firmware.
  • Missing signature verification.
  • Weak update authentication.
  • Downgrade attacks.
  • Insecure OTA mechanisms.

Secure updates should restrict installation to authorized software and verify updates before they are installed.

7. Insecure APIs and Cloud Services

IoT cloud services often manage large numbers of devices. Weak access controls can therefore have a broad impact. Potential issues include broken authorization, exposed device commands, weak authentication, insecure direct object references, sensitive data exposure, and inadequate tenant isolation.

Testing should determine whether a compromise of one account or device can affect other users or devices.

8. Insufficient Physical Protection

Physical access can introduce risks that remote testing cannot identify. Depending on the design, attackers may extract firmware, access storage, recover secrets, connect to debug interfaces, or tamper with components. The level of protection should match the realistic physical threat model of the device.

9. Poor Network Segmentation

IoT devices are often connected to networks containing other business-critical systems. If an attacker compromises an IoT device and the network does not properly isolate it, the device could become a stepping stone into internal infrastructure.

Testing should therefore examine whether IoT assets are appropriately segmented and whether communication between IoT, corporate, cloud, and operational networks is properly controlled.

Best Practices for IoT Penetration Testing

1. Test the Entire IoT Ecosystem

Do not assess only the physical device. Include firmware, mobile applications, APIs, cloud services, network connections, wireless interfaces, and other integrations that are within scope. A weakness in one component may provide the entry point needed to compromise another.

2. Combine Automated and Manual Testing

Automated tools can provide broad coverage and quickly identify common issues. However, manual testing remains essential for hardware, firmware, proprietary protocols, device logic, and complex attack paths.

The strongest IoT security testing programs use both approaches rather than treating them as alternatives.

3. Prioritize Firmware and Hardware Security

Firmware and hardware can expose deep-rooted vulnerabilities that are difficult to identify through external scanning. A device may have a hardened network interface but still expose sensitive credentials through firmware or provide privileged access through an unprotected debug port.

4. Test Realistic Attack Paths

Individual vulnerabilities do not always show the full risk. Testers should determine whether multiple weaknesses can be chained together.

For example, an exposed API may provide device information, a firmware weakness may expose credentials, and a weak authorization control may then allow unauthorized device access.

Attack-chain testing helps organizations understand what a determined attacker could realistically achieve.

5. Test Secure Updates and Device Lifecycle Controls

IoT security should extend across the device lifecycle. Assess security during:

  • Provisioning
  • Deployment
  • Configuration
  • Firmware updates
  • Maintenance
  • Credential rotation
  • Device replacement
  • Decommissioning

NIST's updated IoT manufacturer guidance emphasizes cybersecurity activities across the product lifecycle, including pre-market and post-market considerations, maintenance, support, and end-of-life.

6. Retest After Remediation

Fixing a vulnerability is not the final step. Retesting verifies that the original issue has been resolved and that the fix has not introduced another weakness. It also provides evidence that the organization's remediation efforts have reduced the actual security risk.

Why Choose ioSENTRIX for IoT & Embedded Device Penetration Testing?

IoT security requires more than a conventional network scan. It requires an understanding of how hardware, firmware, communication protocols, applications, APIs, and device integrations work together.

ioSENTRIX provides specialized penetration testing for ICS, IoT, and IIoT environments, with testing focused on firmware, network communication protocols, device integrations, and business-critical functionality.

Its published methodology combines automated and manual testing to identify issues such as insecure firmware, weak authentication, communication protocol weaknesses, and insufficient access controls.

The approach also includes controlled exploitation to understand how vulnerabilities can be chained and what impact they could have. Findings are supported with Proof of Concept evidence and practical remediation guidance, followed by retesting to help verify fixes.

For organizations assessing connected and embedded products, this broader approach helps move beyond isolated vulnerability discovery toward understanding realistic attack paths.

Talk to ioSENTRIX today to assess your IoT attack surface and strengthen your connected devices against real-world threats. 

Frequently Asked Questions

1. How do you penetration test an IoT device?

IoT penetration testing typically begins with defining the scope and threat model. Testers then map the device's attack surface, inspect hardware and physical interfaces, analyze firmware, test network and wireless communications, assess companion mobile applications and APIs, examine update mechanisms, and validate vulnerabilities through controlled exploitation. The final stages involve reporting, remediation guidance, and retesting.

2. How is IoT penetration testing different from regular penetration testing?

Traditional penetration testing often focuses on applications, networks, or infrastructure. IoT penetration testing can cover those areas but also adds hardware, firmware, wireless communications, physical interfaces, embedded operating systems, and device-specific protocols. IoT testing therefore requires a broader attack-surface model and may involve hardware analysis and reverse engineering in addition to conventional security testing.

3. Can IoT penetration testing include mobile apps and cloud APIs?

Yes. Mobile applications and cloud APIs are often essential parts of an IoT ecosystem. If they control device registration, authentication, configuration, telemetry, or commands, they should be considered part of the attack surface when they are within scope. Testing them can reveal vulnerabilities that allow unauthorized users to access or control connected devices.

4. How often should IoT devices be penetration tested?

There is no single testing frequency that applies to every IoT product. Testing should be considered before launch, after major hardware or firmware changes, following significant architecture changes, after security incidents, and periodically during the product lifecycle. Organizations should also reassess devices when they are connected to new networks or integrated with sensitive systems.

5. What should an IoT penetration testing report include?

A strong report should include the assessment scope, methodology, attack surface, individual vulnerabilities, severity, technical evidence, Proof of Concept details, business impact, attack paths, remediation recommendations, and retest results. The report should be useful to both technical and business stakeholders.

#
Cybersecurity
#
Vulnerability
#
DefensiveSecurity
#
DevSecOps
#
SecureSDLC
#
PenetrationTest
#
ApplicationSecurity
Contact us

Similar Blogs

View All