Perimeter
9/15/2010
10:36 AM
John H. Sawyer
John H. Sawyer
Commentary
50%
50%

Taking USB Attacks To The Next Level

USB devices have many benign, legitimate uses. But put a USB-based device in the hands of a savvy hardware hacker, and that USB device can go from good to evil in no time.

USB devices have many benign, legitimate uses. But put a USB-based device in the hands of a savvy hardware hacker, and that USB device can go from good to evil in no time.Fellow Dark Reading blogger Gadi Evron's recent blog about USB-based attacks with keyboards gave an interesting attack scenario of using a hacked keyboard, Notepad, and custom shellcode to exploit a system. But who needs shellcode when you have a keyboard device?

I mentioned a couple of very interesting hardware hacking presentations given this summer that took USB attacks to the next level. One focused on hacking wireless presentation devices that are no more than USB Human Interface Devices (HID) to the underlying system. When you click on the next button on the remote, it sends a "page down" command via the USB HID keyboard interface.

By reversing the wireless protocol used by the wireless presentation devices, an attacker could inject keystrokes into the system, which could open Notepad, type in a script, save it, then choose Run from the Start Menu and execute the script. Ingenious!

Of course, to be successful you could attack someone only during a presentation. Or you could plant one of these devices on a target machine and communicate with it remotely from outside the office to run your code after hours.

Imagine, instead, that you have a small Arduino-based device that works with the Social Engineering Toolkit to deliver payloads via WSCRIPT and PowerShell. The device emulates a USB HID keyboard and can inject keystrokes into the target system like the attack above. Powerful, right?

The bundling of the Teensy Arduino device with the Social Engineering Toolkit (SET) is an awesome attack vector. It's small and easily planted into a USB port when no one is looking. With SET, an attacker (we'll assume a legit penetration tester) can generate a Metasploit payload and the attack code that gets written to the Teensy device. When the device is plugged into the target, it creates a WSCRIPT file that downloads the Metasploit payload and executes it, as seen in this example.

The other example of using the Teensy HID attack was embedding it into a keyboard since many have built-in USB hubs. If you knew which keyboards were in use in a target's environment, then you could walk in pretending to be the computer repair tech, replace the keyboard, and walk out while your attack happens.

The possibilities are endless when you consider what can be done from just a keyboard alone. And, since USB HIDs are cross-platform, so are the attacks that can be performed.

Check out Dave Kennedy's blog (author of SET) to learn more about it and the Teensy attacks. There are some videos and new documentation available that show examples of what has been included in the latest release.

John H. Sawyer is a senior security engineer on the IT Security Team at the University of Florida. The views and opinions expressed in this blog are his own and do not represent the views and opinions of the UF IT Security Team or the University of Florida. When John's not fighting flaming, malware-infested machines or performing autopsies on blitzed boxes, he can usually be found hanging with his family, bouncing a baby on one knee and balancing a laptop on the other. Special to Dark Reading.

Comment  | 
Print  | 
More Insights
Register for Dark Reading Newsletters
White Papers
Cartoon
Current Issue
Dark Reading December Tech Digest
Experts weigh in on the pros and cons of end-user security training.
Flash Poll
Title Partner’s Role in Perimeter Security
Title Partner’s Role in Perimeter Security
Considering how prevalent third-party attacks are, we need to ask hard questions about how partners and suppliers are safeguarding systems and data.
Video
Slideshows
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2014-6477
Published: 2014-11-23
Unspecified vulnerability in the JPublisher component in Oracle Database Server 11.1.0.7, 11.2.0.3, 11.2.0.4, 12.1.0.1, and 12.1.0.2 allows remote authenticated users to affect confidentiality via unknown vectors, a different vulnerability than CVE-2014-4290, CVE-2014-4291, CVE-2014-4292, CVE-2014-4...

CVE-2014-4807
Published: 2014-11-22
Sterling Order Management in IBM Sterling Selling and Fulfillment Suite 9.3.0 before FP8 allows remote authenticated users to cause a denial of service (CPU consumption) via a '\0' character.

CVE-2014-6183
Published: 2014-11-22
IBM Security Network Protection 5.1 before 5.1.0.0 FP13, 5.1.1 before 5.1.1.0 FP8, 5.1.2 before 5.1.2.0 FP9, 5.1.2.1 before FP5, 5.2 before 5.2.0.0 FP5, and 5.3 before 5.3.0.0 FP1 on XGS devices allows remote authenticated users to execute arbitrary commands via unspecified vectors.

CVE-2014-8626
Published: 2014-11-22
Stack-based buffer overflow in the date_from_ISO8601 function in ext/xmlrpc/libxmlrpc/xmlrpc.c in PHP before 5.2.7 allows remote attackers to cause a denial of service (application crash) or possibly execute arbitrary code by including a timezone field in a date, leading to improper XML-RPC encoding...

CVE-2014-8710
Published: 2014-11-22
The decompress_sigcomp_message function in epan/sigcomp-udvm.c in the SigComp UDVM dissector in Wireshark 1.10.x before 1.10.11 allows remote attackers to cause a denial of service (buffer over-read and application crash) via a crafted packet.

Best of the Web
Dark Reading Radio
Archived Dark Reading Radio
Now that the holiday season is about to begin both online and in stores, will this be yet another season of nonstop gifting to cybercriminals?