> Posted by: embedded_shadow | Rank: Elite Member | Joined: 2022 [/I]
IoT security testing requires authorization. Hardware access may void warranties.
IoT devices are everywhere - and almost all of them are insecure.
From smart TVs to medical devices, IoT represents one of the largest attack surfaces in existence. Let me show you how to test them.
---
βββ IoT Attack Surface βββ[/B]
Code:
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β IoT ATTACK SURFACE β
ββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββββ€
β Physical Ports β USB, UART, JTAG, SPI, ICSP β
β Wireless β WiFi, Bluetooth, Zigbee, Z-Wave, NFC β
β Network β HTTP, HTTPS, MQTT, CoAP, RTSP β
β Firmware β Updates, backups, config files β
β Cloud Backend β APIs, mobile apps, web portals β
β Mobile App β Companion apps, local control β
ββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββββββ
---
βββ Hardware Hacking βββ
UART Console Access:
Code:
# === Tools Needed ===
# - USB-to-TTL serial adapter (FTDI)
# - Jumper wires
# - Terminal program (PuTTY, screen, minicom)
# Wiring:
# Device TX β FTDI RX
# Device RX β FTDI TX
# Device GND β FTDI GND
# Device 3.3Vβ FTDI 3.3V (if device needs power)
# Connect and capture
screen /dev/ttyUSB0 115200,cs8,-parec,bstop
# Or
putty -serial /dev/ttyUSB0 -sercfg 115200,8,N,1,N
# Common baud rates: 9600, 19200, 57600, 115200
# Look for: login prompt, boot messages, shell access
JTAG Debugging:
Code:
# === JTAG Tools ===
# - Bus Pirate
# - JTagulator
# - Omega JTAG
# - OpenOCD
# Pinout identification
# Use JTagulator or multimeter to find:
# TCK (Clock), TMS (Mode Select), TDI (Data In), TDO (Data Out), TRST (Reset)
# Extract firmware via JTAG
openocd -f interface/ftdi/omega.cfg -f target/swd2jtag.cfg
---
βββ Firmware Analysis βββ
Code:
# === Firmware Extraction ===
# Method 1: Firmware update download
# Method 2: SPI flash dump (CH341A programmer)
# Method 3: JTAG/SWD extraction
# === Firmware Analysis ===
binwalk firmware.bin # Extract filesystem
binwalk -e firmware.bin # Extract to directory
strings firmware.bin | grep -i "password\|admin\|secret"
find firmware_extract/ -name "*.conf" -o -name "*.cfg"
grep -r "password" firmware_extract/
---
βββ Network Protocol Testing βββ
Code:
ββββββββββββββ¬ββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββ
β Protocol β Port β Use Case β
ββββββββββββββΌββββββββββββββββββΌββββββββββββββββββββββββββββββββββ€
β HTTP β 80, 8080 β Web interfaces, APIs β
β MQTT β 1883, 8883 β IoT messaging, telemetry β
β RTSP β 554 β Video streaming β
β ONVIF β 80, 443 β IP camera standard β
β Telnet β 23 β Legacy device access β
β SNMP β 161, 162 β Network management β
β Modbus β 502 β Industrial control β
ββββββββββββββ΄ββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββ
MQTT Testing:
Code:
# MQTT exploration
mosquitto_sub -h target -v -t "#" # Subscribe to all topics
mosquitto_pub -h target -t "topic" -m "test" # Publish message
# Nmap scripts
nmap --script mqtt-subscribe -p 1883 target
nmap --script mqtt-topics -p 1883 target
---
βββ Automation Tools βββ
Code:
# === IoT-specific Tools ===
# Drogon - IoT vulnerability scanner
# IoT-Scan - Network discovery
# IoT-Explore - Vulnerability scanning
# IoT-Extract - Firmware extraction
# General security tools
nmap -sV -sC -p- target
nikto -h http://target
sqlmap -u "http://target/api"
burpsuite
---
βββ TL;DR βββ
Code:
β
Start with hardware identification (UART, JTAG)
β
Extract and analyze firmware
β
Test all network interfaces
β
Check mobile apps and cloud backends
β
Look for default credentials everywhere
β
Test wireless protocols (WiFi, BLE, Zigbee)
β
Document hardware modifications
β
Handle devices carefully (ESD protection)
---
What's the weirdest IoT device you've hacked? Share below.
Next: OT/ICS security testing.
Last edited by embedded_shadow; 40 minutes ago.
[SIG]ββββββββββββββββββββββββββββββββββββββββ
embedded_shadow | Elite Member | IoT Security
ββββββββββββββββββββββββββββββββββββββββ[/SIG][/b][/b][/b][/b][/b]