Prerequisites

  • Firmware binary file obtained from client, vendor download portal, or extracted directly from device flash memory
  • Device type and CPU architecture identified (ARM Cortex-M/A, MIPS, x86/x64, RISC-V, Xtensa/ESP32, ARC, PowerPC)
  • Written authorization covering firmware reverse engineering, device testing, and protocol interception
  • For live device testing: physical or network access to the target device, USB/Serial/JTAG adapter cables as needed
  • For OT/SCADA assessments: network access to the OT segment with safety coordinator present and change management approved
  • Claude API key configured (Settings → AI Configuration) for AI-driven orchestration
  • For protocol testing: target device IP address or BLE MAC address known
  1. 1

    Select Firmware / IoT from Home Screen

    Click the πŸ”Œ Firmware / IoT / OT card on the Home Screen. Choose your assessment type from the dropdown:

    Assessment Types: ───────────────────────────────────────────────────────────────── Firmware Analysis β†’ Static analysis of a firmware binary image. Extracts filesystem, mines credentials, matches CVEs, audits crypto, decompiles key binaries. Live Device Testing β†’ Active testing of a powered-on device over the network or via hardware debug interfaces. Includes service enumeration, web UI testing, default credential checks, and exploit attempts. Protocol Audit β†’ Focused testing of IoT communication protocols: MQTT, CoAP, AMQP, BLE, Zigbee, Z-Wave, LoRaWAN. Tests authentication, encryption, message injection, topic/channel enumeration, and replay attacks. OT/SCADA β†’ Industrial control system assessment covering Modbus TCP/RTU, DNP3, OPC-UA, BACnet, EtherNet/IP, PROFINET, S7comm. Non-disruptive by default with optional active testing under safety coordinator. IoT Fleet Scan β†’ Bulk assessment of multiple devices of the same type across a subnet or IP range. Identifies firmware version drift, inconsistent configs, default credentials, and unpatched devices.
    πŸ’‘ You can combine assessment types. For example, select "Firmware Analysis" + "Live Device Testing" to analyze the binary and then verify findings against the running device.
  2. 2

    Upload Firmware Binary

    Drag and drop the firmware file onto the upload area, or click Browse to select it. PhantomYerra automatically identifies the format, architecture, endianness, and compression type.

    Supported Firmware Formats: ───────────────────────────────────────────────────────────────── Extension Description Notes ───────────────────────────────────────────────────────────────── .bin Raw binary image Most common format .img Disk/flash image dd-style full dumps .elf ELF executable Linux-based firmware .hex / .ihex Intel HEX Microcontroller firmware .ubi UBI filesystem image NAND flash devices .squashfs SquashFS compressed filesystem Router/AP firmware .jffs2 JFFS2 filesystem Older embedded Linux .cramfs CramFS compressed filesystem Read-only embedded FS .yaffs2 YAFFS2 filesystem NAND flash devices .fw Vendor firmware update file Vendor-specific wrapper .pkg Update package Vendor-specific format .rbi Router firmware (ISP devices) Technicolor/Sagemcom .chk NETGEAR firmware format NETGEAR devices .trx Broadcom TRX image DD-WRT/OpenWrt routers .dlf D-Link firmware format D-Link devices .zip/.tar.gz Compressed firmware archive Extract before upload Maximum file size: 4 GB Architectures: ARM (32/64), MIPS (BE/LE), x86, x64, RISC-V, Xtensa (ESP32), ARC, PowerPC, SuperH

    Remote URL option: Instead of uploading a local file, paste a direct download URL to the firmware binary. PhantomYerra downloads it, verifies the checksum (if provided by vendor), and proceeds with analysis.

    πŸ’‘ If you extracted firmware from flash memory via JTAG/SWD, upload the raw dump. PhantomYerra handles partition table parsing and filesystem boundary detection automatically.
  3. 3

    Configure Device & Protocol Settings

    If your assessment includes live device testing or protocol auditing, configure the connection interface and protocol options.

    Hardware Interface Selection: ───────────────────────────────────────────────────────────────── Interface Use Case Configuration ───────────────────────────────────────────────────────────────── Network Device accessible via TCP/IP IP address, port range USB Device connected via USB COM port or /dev/ttyUSBx Serial/UART Console access via serial Baud rate (default 115200), data bits, parity, stop bits WiFi Device on wireless network SSID, device IP Bluetooth BLE or Classic Bluetooth device MAC address, adapter selection JTAG Debug interface via JTAG adapter Adapter type (J-Link, ST-Link, Bus Pirate, FTDI) SWD ARM Serial Wire Debug Adapter type, target voltage Protocol Options (multi-select): ───────────────────────────────────────────────────────────────── Protocol Port/Channel Description ───────────────────────────────────────────────────────────────── MQTT 1883 / 8883 IoT messaging (with/without TLS) CoAP 5683 / 5684 Constrained Application Protocol (UDP) AMQP 5672 / 5671 Advanced Message Queuing Protocol BLE - Bluetooth Low Energy (GATT services) Zigbee - IEEE 802.15.4 mesh networking Z-Wave - Home automation RF protocol LoRaWAN - Long-range low-power WAN UART - Serial console (hardware interface) JTAG - Debug/flash interface SWD - ARM Serial Wire Debug I2C - Inter-Integrated Circuit bus SPI - Serial Peripheral Interface bus Modbus TCP 502 Industrial control protocol Modbus RTU - Serial industrial control DNP3 20000 Distributed Network Protocol OPC-UA 4840 Industrial automation standard BACnet 47808 Building automation EtherNet/IP 44818 Industrial Ethernet PROFINET - Siemens industrial protocol S7comm 102 Siemens S7 PLC communication
  4. 4

    Complete Mission Control Wizard

    The wizard guides you through all configuration steps specific to firmware and IoT assessments:

    Wizard Steps for Firmware/IoT: ───────────────────────────────────────────────────────────────── Step 1: Environment β†’ Lab / Staging / Production device (Production = non-disruptive mode enforced) Step 2: Mode β†’ Automated AI (recommended for firmware) Step 3: Surfaces β†’ Firmware Analysis, IoT Protocols, OT/SCADA (check all that apply) Step 4: Target β†’ Upload firmware file OR enter device IP/URL Step 5: Auth Token β†’ Paste authorization text or upload document Step 6: Device Info β†’ Vendor, model, firmware version (if known), architecture, operating system Step 7: AI Interview β†’ Claude asks targeted questions: - What does this device do? - Is it internet-facing or internal only? - Does it handle sensitive data (PII, PHI, PCI)? - Are there known default credentials? - What protocols does it use? - Is the firmware update process signed? Step 8: Intensity β†’ Standard / Deep / Exhaustive Standard: static analysis + known CVEs Deep: + binary decompilation + protocol fuzzing Exhaustive: + hardware interface testing + full exploit chain development Step 9: Review β†’ Confirm plan, adjust scope, launch
  5. 5

    AI Engine Orchestrates 12-Phase Pipeline

    Claude AI drives the entire assessment autonomously, adapting its approach based on findings from each phase. The pipeline runs in order, but Claude pivots and adds extra testing when it discovers something interesting.

    Phase 1: Filesystem Extraction β†’ Recursive extraction of all filesystem layers β†’ Handles nested archives, SquashFS, JFFS2, UBI, CramFS β†’ Maps partition layout and boot sequence β†’ Identifies OS (Linux, RTOS, VxWorks, QNX, ThreadX) Phase 2: Credential Mining β†’ Scans extracted filesystem for passwords, API keys, certificates, SSH keys, tokens, connection strings β†’ Checks /etc/passwd, /etc/shadow, config files, .env, database files, keystore/truststore files β†’ Identifies hardcoded credentials in binary executables β†’ Searches for cloud provider credentials (AWS, Azure, GCP) Phase 3: Binary Analysis β†’ Runs checksec on all ELF binaries: ASLR, NX, PIE, stack canaries, RELRO, FORTIFY_SOURCE β†’ Identifies compiler, build flags, debug symbols β†’ Decompiles key binaries (httpd, telnetd, custom daemons) β†’ Searches for dangerous function calls: strcpy, sprintf, system(), exec(), gets(), scanf() Phase 4: CVE Matching β†’ Identifies all software components with versions β†’ Matches against NVD, ExploitDB, and vendor advisories β†’ Checks: kernel version, BusyBox, OpenSSL, libcurl, dnsmasq, dropbear, lighttpd, uhttpd, miniupnpd, avahi, samba β†’ Produces prioritized CVE list with exploitability scores Phase 5: Crypto Audit β†’ Checks OpenSSL/mbedTLS/wolfSSL version and configuration β†’ Identifies weak ciphers (RC4, DES, 3DES, MD5, SHA1) β†’ Finds self-signed certificates and expired certificates β†’ Detects hardcoded cryptographic keys and IVs β†’ Validates TLS configuration on all listening services β†’ Checks for proper random number generation (no static seeds) Phase 6: Certificate & Key Check β†’ Extracts all X.509 certificates from firmware β†’ Validates certificate chains and trust anchors β†’ Checks for shared private keys across devices β†’ Identifies certificates with weak key sizes (<2048 RSA) β†’ Detects reuse of vendor default certificates Phase 7: Kernel Analysis β†’ Identifies kernel version and configuration β†’ Checks for known kernel exploits (Dirty COW, etc.) β†’ Verifies kernel hardening: KASLR, SMEP, SMAP, SELinux β†’ Inspects loaded kernel modules for vulnerabilities β†’ Checks /proc and /sys exposure Phase 8: Network Service Audit β†’ Enumerates all listening services from firmware config β†’ Tests each service for default credentials β†’ Checks for unnecessary services (telnet, FTP, TFTP) β†’ Validates firewall rules (iptables/nftables configuration) β†’ Tests UPnP, mDNS, and SSDP for information disclosure Phase 9: Protocol Fuzzing β†’ Generates malformed packets for each detected protocol β†’ MQTT: topic injection, oversized payloads, QoS abuse β†’ CoAP: malformed options, block-wise abuse, observe flood β†’ BLE: GATT handle brute-force, pairing bypass attempts β†’ Custom binary protocols: structure-aware fuzzing Phase 10: Web Interface Testing β†’ Crawls embedded web UI (lighttpd, uhttpd, GoAhead, Boa) β†’ Tests for command injection in all input fields β†’ Checks authentication bypass, session management β†’ Tests file upload/download for path traversal β†’ Identifies information disclosure (serial, MAC, config) β†’ Tests firmware update mechanism for manipulation Phase 11: Privilege Escalation β†’ Tests for shell escape from restricted CLI β†’ Checks SUID/SGID binaries for abuse β†’ Identifies writable cron jobs and init scripts β†’ Tests for kernel exploit applicability β†’ Checks for debug interfaces left enabled β†’ Attempts to gain persistent root access Phase 12: Report Generation β†’ Produces professional pentest report with full evidence β†’ Maps findings to OWASP IoT Top 10 and CWE references β†’ Includes firmware composition analysis (SBOM) β†’ Provides device-specific remediation guidance β†’ Generates firmware security scorecard β†’ Includes complete attack graph with exploit chains

    What Claude AI Does During Firmware Analysis

    • Adaptive pivoting: If Phase 2 finds hardcoded credentials, Claude immediately uses them in Phase 8 (network services) and Phase 10 (web UI) before continuing the pipeline
    • CVE-to-exploit chaining: When a CVE is matched in Phase 4, Claude researches available exploits and attempts to validate them against the running device (if live testing is enabled)
    • Binary code review: Claude reads decompiled C code from Phase 3 and identifies buffer overflows, format string bugs, command injection, and authentication bypasses that static CVE matching would miss
    • Protocol-aware fuzzing: Claude generates context-aware fuzz payloads based on the specific protocol implementation found in the firmware, not just generic templates
    • Attack chain construction: Claude connects individual findings into complete attack paths (e.g., information disclosure → credential extraction → authenticated RCE → persistent backdoor)
    • Remediation authoring: Claude writes firmware-specific remediation steps including exact config changes, kernel parameters, and code fixes
  6. 6

    Monitor the Scan Dashboard

    The dashboard updates in real time as each phase completes. Key elements to watch:

    Dashboard Panels for Firmware/IoT: ───────────────────────────────────────────────────────────────── Attack Graph β†’ Visual map of discovered attack paths. Each node is a finding, edges show how findings chain together. Click any node for full details and evidence. Firmware Tree β†’ Hierarchical view of the extracted filesystem. Color-coded: red = secrets found, orange = vulnerable binary, yellow = interesting config, green = clean. Click any file to inspect. Binary Findings β†’ Table of all ELF/PE binaries with security checks: ASLR, NX, PIE, Canary, RELRO status. Sorted by risk (missing protections first). CVE Panel β†’ Matched CVEs with CVSS scores, exploitability indicators, and links to PoC exploits. Protocol Status β†’ Live status of protocol tests. Shows MQTT topics discovered, BLE services enumerated, Modbus registers read, etc. Activity Feed β†’ Real-time log of every action Claude takes. Includes tool invocations, findings, pivots, and decisions with reasoning.
    πŸ’‘ Critical findings (CVSS 9.0+) trigger an immediate toast notification. You do not need to watch the dashboard constantly.
  7. 7

    Review Findings & Download Report

    When the pipeline completes, review the findings summary. Each finding includes:

    Finding Structure: ───────────────────────────────────────────────────────────────── Title β†’ Descriptive name (e.g., "Hardcoded Root Password in /etc/shadow with MD5 Hash") Severity β†’ Critical / High / Medium / Low / Informational CVSS Score β†’ CVSS v3.1 vector string and numeric score CVE Reference β†’ CVE-YYYY-NNNNN (if applicable, with NVD link) CWE Reference β†’ CWE-XXX category mapping OWASP IoT β†’ OWASP IoT Top 10 mapping (I1 through I10) Evidence β†’ Raw data: extracted password hashes, HTTP request/response, binary output, screenshot PoC Steps β†’ Copy-paste ready reproduction commands Impact β†’ Business impact description (data exposure, device takeover, lateral movement, safety risk) Remediation β†’ Specific fix steps for this firmware/device Attack Chain β†’ Where this finding connects in the full graph

    Download the report as PDF (executive + technical), HTML (interactive), or JSON (for integration with other tools). The report includes a full firmware composition SBOM, OWASP IoT Top 10 compliance matrix, and device security scorecard.

What Claude Tests (Firmware / IoT / Embedded / OT/ICS)

Coverage spans OWASP IoT Top 10 (2018) as the baseline, plus full firmware analysis, hardware interface attacks, embedded protocol fuzzing, and OT/ICS testing. 22+ scanner modules including binary analyzer, firmware unpacker, secrets miner, CVE-BIN scanner, and the protocol fuzzer chain.

OWASP IoT Top 10 baseline
  • I1 Weak/Guessable/Hardcoded Passwords β€” extracted from /etc/shadow, /etc/passwd, hardcoded admin creds in binaries, default device passwords, vendor backdoors
  • I2 Insecure Network Services β€” telnet/FTP open, debug ports (UART pinout matched to network), unauthenticated REST endpoints, SNMP v1/v2c with default community strings
  • I3 Insecure Ecosystem Interfaces β€” cloud API auth bypass, mobile app to device pairing flaws, OTA update channel hijack, vendor cloud backend SSRF
  • I4 Lack of Secure Update Mechanism β€” unsigned firmware updates, unencrypted update channel, downgrade attacks, rollback to vulnerable firmware
  • I5 Insecure/Outdated Components β€” old kernel CVEs, BusyBox CVEs, OpenSSL Heartbleed/Shellshock, libupnp CVEs, EOL libraries via CVE-BIN
  • I6 Insufficient Privacy Protection β€” unencrypted PII storage, exposed serial/UUID/MAC, geolocation leaks, microphone/camera unauthorized access
  • I7 Insecure Data Transfer/Storage β€” cleartext MQTT, unencrypted Modbus, weak TLS ciphers, hardcoded keys, plaintext credentials in flash
  • I8 Lack of Device Management β€” no remote patching, no log forwarding, no remote reboot/factory-reset auth
  • I9 Insecure Default Settings β€” default admin/admin, debug=true in production firmware, JTAG/UART enabled in shipped device
  • I10 Lack of Physical Hardening β€” exposed UART/JTAG/SWD pinouts, unprotected SPI flash, glitching susceptibility, unencrypted bootloader
Beyond OWASP IoT β€” additional firmware/embedded attack classes
  • Binary memory-corruption β€” buffer overflow (stack/heap), format string, integer overflow, off-by-one, use-after-free, double-free, type confusion in C/C++ ELF binaries
  • Binary protections audit β€” NX, ASLR, PIE, RELRO, stack canary, FORTIFY_SOURCE, CFI status per binary; missing protections flagged
  • Crypto in firmware β€” hardcoded AES/DES keys, weak RSA keys (<2048 bits), reused IVs, ECB mode, predictable RNG, hardcoded SSH host keys, hardcoded TLS certs
  • Filesystem secrets mining β€” private keys (.pem/.key), API tokens, OAuth client secrets, webhook URLs, database credentials in config files
  • Bootloader attacks β€” U-Boot environment manipulation, secure-boot bypass, bootloader interruption via UART, signed-boot downgrade
  • Hardware interfaces β€” UART shell access, JTAG/SWD memory dump + register write, SPI flash dump/reflash, IΒ²C bus sniffing, glitch attacks (voltage/clock)
  • Embedded protocols β€” MQTT (auth bypass, topic hijack, retained-message poisoning), CoAP (resource enumeration, DoS amplification), BLE (pairing capture, MitM, GATT enum), Zigbee, Z-Wave, LoRaWAN (key extraction)
  • UPnP / SSDP β€” UPnP device enumeration, SSDP reflection/amplification, IGD port-mapping abuse, NewExternalIPAddress spoofing
  • OT/ICS protocols β€” Modbus TCP (function-code abuse, register write to halt PLCs), DNP3 (master spoofing), EtherNet/IP (CIP fuzzing), PROFINET (DCP discovery), S7comm (Siemens PLC stop/program), BACnet (HVAC takeover) β€” non-disruptive by default with optional active testing under safety coordinator
  • OTA / update channel β€” MitM the update server, replay old firmware, strip signature, downgrade attack, malicious certificate injection
  • Side-channel β€” timing attacks on auth, power-analysis indicators, cache-timing on shared services
  • Mobile companion app β€” pairing flaws, BLE/Wi-Fi handoff, device registration abuse, cloud-API auth bypass via app token
  • Cloud backend β€” vendor IoT cloud SSRF, S3/blob misconfig, telemetry topic enumeration, cross-tenant device control

Want the complete enumeration? See the Coverage Matrix for the full per-surface vuln-class list with scanner module names (264 modules across 30+ surface domains).

⏱️ Typical duration: 30-120 minutes for firmware-only analysis. 2-6 hours for full device assessment including live testing and protocol auditing. OT/SCADA adds 1-3 hours depending on network size.

Options Reference

Assessment Type

Option Description When to Use ─────────────────────────────────────────────────────────────────────────── Firmware Analysis Static analysis of firmware binary You have the .bin/.img file Live Device Testing Active testing of running device Device is powered on and accessible Protocol Audit Test IoT communication protocols Focus on MQTT/BLE/Zigbee/CoAP OT/SCADA Industrial control system assessment Modbus/DNP3/OPC-UA/BACnet targets IoT Fleet Scan Bulk scan of multiple devices Same device type across subnet

Protocol Selection (Multi-Select)

Protocol Layer Port/Channel PhantomYerra Tests ───────────────────────────────────────────────────────────────────────────────── MQTT Application 1883 / 8883 Auth bypass, topic enum, msg injection, retained msg poisoning, QoS abuse, TLS CoAP Application 5683 / 5684 Malformed options, block-wise abuse, observe flooding, proxy bypass, DTLS AMQP Application 5672 / 5671 Queue enum, auth bypass, msg injection, exchange manipulation, TLS validation BLE Link - GATT enum, pairing bypass, char fuzzing, sniffing, MITM, replay attacks Zigbee Network Ch 11-26 Key extraction, replay, network join exploitation, Trust Center bypass Z-Wave Network 908/868 MHz Frame capture, replay, S0/S2 downgrade, node impersonation LoRaWAN Network Various ABP vs OTAA, key extraction, replay, join-accept forgery, frame counter reset UART Physical - Baud detection, shell access, boot interrupt, credential extraction JTAG Physical - Pin identification, firmware dump, debug access, memory inspection SWD Physical - ARM debug, flash read, RDP bypass, breakpoint insertion I2C Physical - Bus sniffing, EEPROM read/write, sensor data extraction SPI Physical - Flash chip read, firmware extraction, bus interception Modbus TCP Industrial 502 Register read/write, function code scanning, coil manipulation Modbus RTU Industrial Serial Serial Modbus testing, address scan DNP3 Industrial 20000 Unsolicited response injection, auth bypass, cold restart OPC-UA Industrial 4840 Auth bypass, certificate validation, node browsing, method invocation BACnet Industrial 47808 Object enumeration, property read, write-property abuse EtherNet/IP Industrial 44818 Identity discovery, session hijack, CIP command injection PROFINET Industrial - DCP discovery, IO manipulation, name resolution abuse S7comm Industrial 102 PLC info, block listing, start/stop, password brute-force

Hardware Interface Options

Interface Adapter Required Settings ────────────────────────────────────────────────────────────────────────── USB-Serial FTDI FT232, CP2102, CH340 Baud rate, data bits, parity JTAG J-Link, ST-Link, Bus Pirate Target MCU, speed, voltage SWD ST-Link, J-Link, CMSIS-DAP Target MCU, speed I2C Bus Pirate, FTDI, logic probe Address scan range SPI Bus Pirate, FTDI Clock speed, mode (CPOL/CPHA) Bluetooth USB BT adapter (CSR8510) Scan mode, MAC filter Zigbee Radio ApiMote, Atmel RZ Raven Channel (11-26) SDR HackRF, RTL-SDR, YARD Stick Frequency, bandwidth

Firmware Format Support

Format Magic Bytes Auto-Detected Recursive Extract ────────────────────────────────────────────────────────────────────────── SquashFS hsqs / sqsh Yes Yes JFFS2 0x1985 Yes Yes UBI/UBIFS UBI# Yes Yes CramFS 0x28cd3d45 Yes Yes YAFFS2 - Yes Yes ext2/3/4 0x53EF Yes Yes FAT12/16/32 - Yes Yes CPIO 070701 / 070702 Yes Yes tar ustar Yes Yes gzip 1f 8b Yes Yes (nested) bzip2 BZ Yes Yes (nested) xz / lzma FD 37 7A 58 Yes Yes (nested) zstd 28 B5 2F FD Yes Yes (nested) U-Boot 27 05 19 56 Yes Header parse Android ANDROID! Yes boot/recovery Intel HEX :LLAAAATT Yes Convert to bin

Intensity Levels

Level Analysis Depth Duration ────────────────────────────────────────────────────────────────────────── Standard Filesystem extraction, credential mining, 30-60 min CVE matching, basic crypto check. Best for: quick assessment, known firmware. Deep Standard + binary decompilation of key 1-3 hours executables, protocol fuzzing, web UI testing, kernel analysis, full crypto audit. Best for: thorough assessment, unknown firmware. Exhaustive Deep + hardware interface testing, full 4-8 hours exploit chain development, privilege escalation attempts, comprehensive protocol testing across all detected interfaces. Best for: high-security devices, compliance.

Real-World Scenarios

Scenario 1: IP Camera Firmware Audit

Target: Consumer IP camera with web interface, RTSP stream, and cloud connectivity.
Goal: Find remote exploitation paths and data exposure risks.

Assessment Flow: ───────────────────────────────────────────────────────────────── 1. Upload firmware (camera_v2.4.1.bin, 16 MB, ARM Cortex-A) 2. Extraction reveals Linux 3.10, BusyBox 1.24.2, GoAhead 3.6.5 3. Credential mining discovers: /etc/passwd β†’ root:x:0:0:root:/:/bin/sh (no password on root) /etc/shadow β†’ admin:$1$abc$...:17000:0:99999:7::: /usr/bin/rtspd β†’ hardcoded RTSP credentials: admin/admin123 /etc/cloud.confβ†’ API key for cloud registration endpoint 4. CVE matching: GoAhead 3.6.5 β†’ CVE-2017-17562 (RCE via CGI, CVSS 10.0) BusyBox 1.24.2 β†’ CVE-2017-16544 (shell escape) Linux 3.10 β†’ CVE-2016-5195 (Dirty COW, local root) 5. Web UI testing: /cgi-bin/admin β†’ Command injection in "ping" diagnostic: Input: 127.0.0.1; cat /etc/shadow Response: returns shadow file contents (CRITICAL) 6. Attack chain constructed: Unauthenticated GoAhead CGI RCE (CVE-2017-17562) β†’ Remote shell as www-data β†’ Dirty COW privilege escalation to root β†’ Extract cloud API key β†’ access cloud management API β†’ RTSP stream accessible without authentication β†’ Full device takeover + video surveillance access 7. Report includes: - 3 Critical, 2 High, 4 Medium findings - Complete attack chain with PoC commands - OWASP IoT Top 10 mapping (I1, I2, I3, I5 violated) - Remediation: upgrade GoAhead, set root password, remove hardcoded credentials, enable RTSP auth

Scenario 2: Smart Home Hub β€” BLE + MQTT Exploitation

Target: Smart home hub coordinating BLE sensors and MQTT-connected devices.
Goal: Test wireless protocol security and hub compromise impact.

Assessment Flow: ───────────────────────────────────────────────────────────────── 1. Firmware analysis of hub (32 MB, MIPS, OpenWrt-based) 2. BLE scanning discovers 14 paired sensors broadcasting 3. MQTT broker on port 1883 β€” no authentication required (CRITICAL) 4. MQTT exploitation: mosquitto_sub -h 192.168.1.50 -t "#" -v β†’ Captures: temperature, door lock status, motion events, alarm codes, WiFi credentials in config topic mosquitto_pub -h 192.168.1.50 -t "home/lock/cmd" \ -m '{"action":"unlock"}' β†’ Door lock opens without authentication (CRITICAL) mosquitto_pub -h 192.168.1.50 -t "home/alarm/cmd" \ -m '{"action":"disarm","code":"0000"}' β†’ Alarm disarms β€” no code validation on MQTT interface 5. BLE sniffing with Ubertooth: Captured BLE advertisements contain sensor readings in plaintext β€” no encryption on BLE communication GATT characteristics writable without pairing 6. Default credential check: Hub web UI: admin/admin (default, never changed) SSH: root/root (dropbear running on port 22) 7. Attack chain: Unauthenticated MQTT β†’ unlock doors + disarm alarm OR: BLE MITM β†’ inject false sensor data β†’ trigger/suppress alerts OR: Default SSH creds β†’ root shell β†’ pivot to home network Combined: full smart home takeover from WiFi range 8. Findings: 4 Critical, 3 High, 2 Medium - MQTT auth missing, BLE unencrypted, default credentials - OWASP IoT: I1, I2, I3, I4, I7 violated

Scenario 3: Industrial Sensor β€” Modbus TCP + Firmware CVE

Target: Industrial temperature/pressure sensor with Modbus TCP interface on OT network.
Goal: Assess OT protocol security and firmware vulnerabilities without disrupting operations.

Assessment Flow (Non-Disruptive Mode): ───────────────────────────────────────────────────────────────── 1. Network scan identifies sensor at 10.0.100.50:502 (Modbus TCP) Additional services: HTTP (80), Telnet (23), FTP (21) 2. Modbus TCP assessment (read-only first): # Read holding registers (non-disruptive) modbus_scanner -t 10.0.100.50 -f read_holding_registers \ -s 0 -c 100 β†’ Device model, firmware version, serial number exposed β†’ Sensor readings: temperature=73.2F, pressure=14.7psi 3. Firmware CVE matching from version string: Vendor: IndustrialCo, Model: TS-4200, FW: 3.1.7 β†’ CVE-2023-XXXXX: Modbus write without authentication β†’ CVE-2022-XXXXX: Buffer overflow in HTTP config page β†’ CVE-2021-XXXXX: Hardcoded maintenance credentials 4. With safety coordinator approval (active testing): # Test Modbus write β€” non-critical register only modbus_scanner -t 10.0.100.50 -f write_single_register \ -a 100 -v 0 # Write to unused config register β†’ Write succeeds without authentication (CRITICAL) β†’ Any network user can modify sensor calibration 5. Web interface testing: Default credentials: admin/admin (works) Firmware upload page: no signature verification β†’ Malicious firmware could be uploaded (CRITICAL) 6. Hardcoded credentials found in firmware: Maintenance account: maint/IndustrialCo2019! (Telnet + FTP) β†’ Full device access, can modify PLC communication settings 7. Attack chain: Unauthenticated Modbus write β†’ falsify sensor readings β†’ PLC acts on false data β†’ process control manipulation OR: Default web creds β†’ upload malicious firmware β†’ persistent OR: Hardcoded Telnet creds β†’ modify Modbus slave config 8. Findings: 3 Critical, 2 High, 3 Medium - Non-disruptive proof: only read + write to unused register - IEC 62443 mapping included - Remediation: enable Modbus TCP auth, update firmware, disable Telnet/FTP, enforce HTTPS, remove hardcoded creds

Scenario 4: Medical Device β€” DICOM/HL7 + Firmware Signing Bypass

Target: Medical imaging workstation with DICOM and HL7 interfaces, handling PHI/ePHI.
Goal: Assess data exposure, protocol security, and firmware integrity for HIPAA compliance.

Assessment Flow: ───────────────────────────────────────────────────────────────── 1. Network reconnaissance (passive only, medical device): DICOM C-ECHO on port 104 β†’ confirms DICOM SCP active HL7 listener on port 2575 β†’ accepts connections Web management on port 443 β†’ HTTPS with self-signed cert 2. DICOM protocol testing: # C-FIND β€” query for patient records findscu -v -S -k "0008,0052=PATIENT" \ -k "0010,0010=*" -k "0010,0020" \ [device-ip] 104 β†’ Returns patient names and IDs without authentication β†’ PHI exposed: 847 patient records queryable (CRITICAL) # C-MOVE β€” attempt to retrieve imaging studies movescu -v -S -k "0008,0052=STUDY" \ -k "0020,000D=[study-uid]" \ --port 11112 [device-ip] 104 β†’ DICOM images transferable without access controls 3. HL7 protocol testing: # Send ADT message β€” patient admission echo -e "\x0bMSH|^~\\&|TEST|TEST|RECV|RECV|...\x1c\x0d" | \ nc [device-ip] 2575 β†’ HL7 interface accepts messages without authentication β†’ Patient data injection possible (CRITICAL) 4. Firmware signing analysis: Downloaded firmware update from vendor portal Inspected update package structure: β†’ No digital signature on firmware binary β†’ Only CRC32 integrity check (trivially bypassable) β†’ Modified firmware + recalculated CRC32 β†’ accepted β†’ Unsigned firmware update = persistent compromise (CRITICAL) 5. PHI exposure audit: /var/dicom/images/ β†’ unencrypted DICOM files on disk /var/log/hl7/ β†’ HL7 messages logged in plaintext with PHI Database: MySQL with default root/empty password β†’ All PHI accessible via SQL queries 6. Attack chain: Unauthenticated DICOM C-FIND β†’ extract all patient records OR: HL7 injection β†’ modify patient data β†’ clinical impact OR: Unsigned firmware β†’ persistent backdoor β†’ ongoing PHI exfil Combined: complete medical data compromise 7. Findings: 5 Critical, 3 High, 4 Medium - HIPAA violation documentation included - FDA pre/post-market guidance mapping - Remediation: DICOM TLS + access controls, HL7 auth, firmware signing with PKI, disk encryption, DB hardening

Common Issues

Cause: The firmware may be encrypted, use a proprietary compression format, or have a non-standard header that prevents automatic detection of filesystem boundaries.

Solutions:

  • Try recursive mode: Navigate to Firmware → Extract Firmware → Recursive Mode. This performs deeper scanning with multiple extraction passes.
  • Check architecture: Use Firmware → Identify Architecture to verify the binary format. Some firmware images have a custom bootloader header that must be stripped (typically 64-256 bytes).
  • Manual hex inspection: Use the PhantomYerra hex editor to examine the first 512 bytes. Look for filesystem magic bytes: hsqs (SquashFS), UBI# (UBI), 0x1985 (JFFS2). Calculate the offset and extract manually: dd if=firmware.bin of=rootfs.squashfs bs=1 skip=OFFSET.
  • Encrypted firmware: Some vendors encrypt firmware updates. Check for a decryption key in the bootloader, EEPROM, or vendor documentation. Try strings on the existing device firmware (prior version) for the decryption key.
  • Proprietary format: Contact the vendor for the update tool specification, or reverse-engineer the update application to understand the packaging format.

Cause: Decompiling large binaries (10+ MB) requires significant memory and CPU. The default 15-minute timeout may not be sufficient for complex binaries.

Solutions:

  • Increase timeout: Navigate to Settings → Tools → Binary Analysis → Analysis Timeout. Set to 30-60 minutes for large binaries.
  • Prioritize targets: Instead of analyzing all binaries, focus on the highest-value targets: httpd/lighttpd/uhttpd (web server), telnetd/dropbear (remote access), custom application binaries (vendor-specific daemons), binaries with SUID bit set.
  • Increase resources: In Settings → Tools → Binary Analysis → CPU/Memory Allocation, increase the limits. Recommended: at least 4 GB RAM and 4 CPU cores for large firmware.
  • Batch processing: For very large firmware with hundreds of binaries, use the batch queue: add binaries to the analysis queue and let them process sequentially overnight.

Cause: Properly configured MQTT brokers require TLS (port 8883) and may require mutual TLS with client certificates.

Solutions:

  • Extract certs from firmware: Run the credential mining phase first. Client certificates and CA certificates are often stored in the firmware filesystem at /etc/ssl/, /etc/mosquitto/, or /usr/share/certs/.
  • Use extracted credentials: mosquitto_sub --cafile ca.crt --cert client.crt --key client.key -h [device-ip] -p 8883 -t "#" -v
  • Test certificate validation: Try connecting with a self-signed certificate to test if the broker validates the client certificate chain properly. Improper validation is a common finding.
  • Default credential check: Even with TLS, try default username/password combinations: admin/admin, mqtt/mqtt, device/device, guest/guest. PhantomYerra's MQTT credential list covers 200+ common IoT defaults.
  • Check for plaintext fallback: Some brokers accept both TLS (8883) and plaintext (1883) connections. Always test both ports.

Cause: Incorrect baud rate, wrong pin identification, voltage mismatch, or UART disabled in firmware.

Solutions:

  • Baud rate: Try all common baud rates: 9600, 19200, 38400, 57600, 115200, 230400, 460800, 921600. Use an auto-detection tool: python3 baudrate.py -p /dev/ttyUSB0. Garbled output usually means wrong baud rate.
  • Pin verification: Double-check TX and RX are not swapped. Adapter TX connects to device RX, and adapter RX connects to device TX. Use a logic analyzer to verify which pin is transmitting data during boot.
  • Voltage levels: Ensure your adapter matches the device voltage (3.3V is most common for modern devices; 5V for older ones). A 5V adapter on a 3.3V device can damage the device. Use a level shifter if voltages differ.
  • No output: The UART may be disabled in the firmware configuration. Check /etc/inittab in the extracted firmware for serial console entries. Some vendors disable UART in production builds β€” the test pads exist but are not connected in software.
  • Flow control: Try disabling hardware flow control (RTS/CTS). In minicom: Ctrl+A, O, Serial port setup, F (toggle Hardware Flow Control to No).

Cause: Device may not be advertising, Bluetooth adapter may need configuration, or pairing requires physical interaction with the device.

Solutions:

  • Adapter setup: Ensure your Bluetooth adapter is up and in LE scan mode: hciconfig hci0 up, then hcitool lescan. Some USB adapters need a firmware reload: btmgmt power off && btmgmt power on.
  • Advertising mode: The device may only advertise briefly after power-on or button press. Power cycle the target device and scan immediately. Some devices require pressing a "pairing" button first.
  • Distance and interference: BLE range is typically 10-30 meters. Move closer to the device. WiFi interference on the 2.4 GHz band can disrupt BLE β€” try testing in a less congested RF environment.
  • Pairing requirements: If the device requires Passkey or Out-of-Band pairing, you may need to observe the pairing exchange rather than initiate it. Use btmon to monitor HCI events during pairing and capture the key exchange.
  • Multiple adapters: Some attacks (MITM) require two Bluetooth adapters. Ensure both are configured with distinct HCI interfaces: hciconfig should show hci0 and hci1.
Full Disclosure

264 modules Β· 30+ surfaces Β· 14 vuln families Β· 120+ classes

The sections above describe what this surface tests. For the complete enumeration of every vulnerability class PhantomYerra covers across all surfaces β€” with scanner module names β€” see the Coverage Matrix.

View Full Coverage Matrix →