Researchers from McAfee have demonstrated how a flaw in a Belkin smart switch can be used to access other connected devices on the same network as the switch.
One of the recurrent themes of Internet of Things security might be summarized as “its not the THING, stupid!” In other words: the value of the individual endpoint is irrelevant. A webcam, a baby monitor, a connected TV – none of these, by themselves, hold much sensitive information or represent much computing power. Rather, it is the value of the things in aggregate, or their ability to open a path to other, more valuable things that matters.
Now new research from McAfee is putting that to the test, by demonstrating how a flaw in a Belkin smart switch can be used to access other connected devices on the same network as the switch.
In a recent blog post, McAfee said that it has uncovered a buffer overflow flaw in a component of the Wemo Insight Smart Plug that could allow an attacker to run his or her own code on the device and use it to access and attack other devices on the same network as the smart plug.
The vulnerability, CVE-2018-6692, is in a software library known as “libUPnPHndlr.so.” The process McAfee used to discover it is lengthy and complex, with researchers disassembling and reverse engineering the Wemo Insight Smart Plug. If you want a nice write up on how to do this, including tool talk and photos, check out their blog post.
For everyone else, what’s important to know is that Wemo Insight plugs are just tiny little Linux devices, running the OpenWRT embedded Linux OS – and not a very stripped down version of OpenWRT either. The researchers found two exploitable vectors on it: a write-what-where condition allows an attacker to write data to an arbitrary location in memory; by continuing to overwrite data on the stack, an attacker can overwrite the $RA register or return address for the calling function, providing the attacker control of the execution flow.
By using Linux commands left enabled on the smart plug, the researchers found they were able to download and execute any script, run NetCat, which could allow an attacker to write a script to create a reverse shell on the device. While attacks to the device itself are limited to turning the device on or off, the potential damage grows where the plug is networked with other devices. “The plug could now be an entry point to a larger attack. Later in this report, we will look at one possible attack,” the McAfee researchers concluded.
To prove that point, the McAfee researchers developed a proof of concept attack in which a compromised plug used a built-in UPnP library to poke a hole in the network router, creating a backdoor channel for an attacker to connect remotely, unnoticed on the network.
With that access, the researchers were able to use a remote shell to control a TCL smart TV connected to the same network as the Wemo plug by exploiting a Roku API implementation on the TV that accepts unencrypted and unauthenticated HTTP GET/POST requests. “Using the Wemo as a middleman, the attacker can power the TV on and off, install or uninstall applications, and access arbitrary online content,” the researchers found.
And smart TVs are just one visible example of how the Wemo plug could be used to pivot to other devices on a network. “With the attacker having established a foothold on the network and able to open arbitrary ports, any machine connected to the network is at risk. Because attacks can be conducted through the Wemo and the port mappings generated using this exploit are not visible from the router’s administration page, the attacker’s footprint remains small and hard to detect,” the researchers concluded.
This isn’t the first time that Wemo products have been the focus of security researchers. At the 2017 Security of Things Forum, Scott Tenaglia of the firm Invincea revealed a number of security flaws in Wemo home automation devices including vulnerability to a type of attack known as SQL injection. By sending purposely mis-formed updates to WeMo devices, Tenaglia found he could create his own malicious executable that was run by the WeMo smart device, allowing him to take control of those devices.