Embedded Linux device bughunting
Knud
Where
Community Stage
Disobey 2023
Duration
52 min
Walks through finding and exploiting bugs in Uniview IP cameras, from UART access and firmware unpacking to a stack overflow.
Summary
This talk follows the path from a Uniview IP camera on the desk to a shell on the device. The speaker argues that the workflow applies to most IoT hardware, and that on-premises cameras are a useful target because they sit inside a building's trust boundary. Work starts with a teardown and a serial console on the board, then firmware from third-party collections is unpacked to find startup scripts and a large monolithic binary. A wrapper around system calls there exposed command injection in the web interface.
Attack surface mapping compared a running device's listeners with an external scan and found more UDP services than expected. An SNMP service exposed a credential through its object tree, and a discovery feature let a temporary password be derived locally from the serial number and date. A small custom protocol service was reversed by renaming variables in a decompiler until a length field was seen feeding a stack copy. Protocol-aware fuzzing and an ARM exploit that used a fixed binary address got past the stack randomisation.
The speaker closes with an internet survey that found roughly 3,300 reachable devices, and notes that the bugs were reported through a bounty platform and the vendor. Takeaways include testing current firmware rather than old releases, scanning fragile devices carefully, verifying bundled open-source components, and finding custom protocols more rewarding than common web flaws.
Related talks
Talks·25 min
Stanislav Dashevskyi · Francesco La Spina
Shows how researchers reach root on a locked-down TP-Link router by reverse engineering its modified Lua bytecode.
BioHacking Village·32 min
Marie Mo · Cheyenne · Christian
Follows a pacemaker patient and two students as they reverse engineer a clinic programmer and an implant's firmware, exposing its weaknesses.
IoT Village·40 min
Andrew Bellini
Shows how a beginner can use AI agents and a cheap bench rig to find and exploit bugs in consumer IoT firmware, using a router as the example.


