A security researcher has developed a tool to demonstrate how the unauthenticated data packets in the 802.11 wireless LAN protocol can be used as a covert channel to control malware on an infected computer.
The protocol relies on clients and access points exchanging informational data packets before they authenticate or associate with each other, and this traffic is not typically monitored by network security devices. Tom Neaves, a managing consultant at Trustwave, developed a proof-of-concept tool called Smuggler that leverages these packets, known as wireless management frames, to communicate with malware.
Companies invest a lot of money in intrusion detection systems, firewalls, data loss prevention systems and other security devices to detect and block suspicious Internet traffic in and out of their networks. That’s because blocking malware programs from communicating with attackers is just as important as preventing end-point systems from becoming infected in the first place, which is increasingly hard to do these days with all the potential attack vectors and people using the same devices at home and work.
Neaves’ proof of concept uses legitimate features of the 802.11 protocol in ways they weren’t meant to be used, in particular the information elements found in wireless beacon and probe request frames.
Beacon frames are specially formatted data packets that wireless access points send periodically to announce their presence and relay information about themselves to listening clients. They contain information elements like the SSID (service set identification) which gives a network its public name, the data rates supported by the network and other parameters—a sort of metadata.
An attacker sitting within a compromised computer’s Wi-Fi range—like in a parking lot outside an office—could use Smuggler to set up an access point that broadcasts a beacon frame with a blank SSID and a Rates information element that actually contains a command. The computer’s wireless card will receive the beacon frame, but the OS won’t display the access point in the list of available wireless networks because the SSID is blank.
A malware program running on the computer can be programmed to listen for beacon frames with blank SSIDs, parse their Rates elements and execute the commands found inside. It can then use the wireless card to send probe request frames that have the output of those commands embedded in them.
Probe request frames are used by wireless clients to request information from specific access points or from all nearby access points, like during an active wireless network scan. The SSID information elements in these frames, which is normally used to indicate which access point should respond, can instead be used to relay a command’s output back to the attacker, Neaves said in a blog post.
If the output is too large, it can be spread across multiple probe request frames and the program running on the attacker’s computer can reconstruct it.
The Smuggler tool has components to automate this two-way communication process on both the attacker and the victim side. Neaves used it to implement an interactive shell that allowed him to remotely execute commands on an infected computer and see their output via a local terminal window.
“I am not going to release Smuggler just yet,” he said. “The objective of this post is that I wanted to share my findings of abusing a protocol in a way not intended and use it for bad things, such as creating this covert two-way communications channel without associating or authenticating. I have also created Anti-Smuggler to demonstrate that it is possible to detect such attacks.”