Firmware / IoT / OT Security
Binary firmware analysis, embedded system testing, MQTT/BLE/Zigbee protocol auditing, and industrial OT/SCADA assessments.
Prerequisites
- Firmware binary file (.bin, .img, .fw, .hex) from client or extracted from device
- Device type and architecture known (ARM, MIPS, x86, RISC-V)
- Written authorization covering firmware analysis and device testing
- For live device testing: hardware access, UART/JTAG interface cables if needed
- For OT/SCADA: network access to the OT segment with safety coordinator present
-
1
Select Firmware / IoT from Home Screen
Click 🔌 Firmware / IoT / OT. Select assessment type: Firmware Analysis, Live Device Testing, Protocol Audit (MQTT/BLE/Zigbee), or OT/SCADA.
-
2
Upload Firmware Binary
Drag and drop the firmware file. PhantomYerra runs
fileandbinwalkto identify format, architecture, and compression type automatically. -
3
Claude Runs Full Firmware Analysis Pipeline
Phase 1: Extraction — binwalk -e (recursive filesystem extraction) Phase 2: Analysis — EMBA: architecture, OS, services, CVE match Phase 3: Secrets — firmwalker: passwords, keys, certs in filesystem Phase 4: CVE matching — cve-bin-tool: match binaries to CVE database Phase 5: Decompile — Ghidra headless: decompile key binaries Phase 6: AI analysis — Claude reviews decompiled code (anonymized) Phase 7: Crypto audit — weak crypto: MD5 passwords, hardcoded keys Phase 8: Report — findings with CVSS scores and remediation -
4
Review IoT/Firmware Security Report
Report includes: firmware metadata, extracted file system contents summary, secrets found, CVE matches by binary, decompiled vulnerability analysis, and OWASP IoT Top 10 mapping.
Common Issues
The firmware may be encrypted or use a proprietary compression format. Try: binwalk -Me firmware.bin for recursive extraction. Check binwalk -A firmware.bin for architecture signatures. Use hexdump -C firmware.bin | head -20 to inspect the header manually. Some vendor firmwares require a vendor-specific decryption step before analysis.
Ghidra headless has a default 15-minute timeout in PhantomYerra. Increase it in Settings → Tools → Ghidra → Analysis Timeout. Focus on specific binaries rather than the full extracted filesystem: target httpd, telnetd, or custom application binaries. Use -max-cpu 4 to speed up analysis.
Use mosquitto_sub --cafile ca.crt --cert client.crt --key client.key -u user -P pass -h host -t "#". Extract the CA cert and client certs from the firmware first (firmwalker often finds them). Test for weak credentials with the default credential list in PhantomYerra's MQTT tool configuration.