IoT Security: Smart Devices & Embedded Systems

Blacksec

Administrator
Staff member
🌐 IoT Security: Smart Devices & Embedded Systems 🌐


> 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
⚑ "The device is talking - are you listening?" ⚑
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━[/SIG]
[/b][/b][/b][/b][/b]
 
Top