Be careful, next time that you leave your computer unattended at your office!
Some time ago I spoke about a USB dongle that allows access to password-locked computers in a few seconds.
Now the hardware hacker Samy Kamkar has released a similar tool that allows you to install a backdoor on a target system by simply connecting it to the USB port for a few seconds.
The new exploit tool is called PoisonTap, runs with freely available software on a tiny Raspberry Pi Zero microcomputer that once plugged into a Windows or Mac computer via USB port, starts impersonating a new ethernet connection and starts a man-in-the-middle attack.
How it works?
From Samy’s post:
When PoisonTap (Raspberry Pi Zero & Node.js) is plugged into a locked/password protected computer, it:
- emulates an Ethernet device over USB (or Thunderbolt)
- hijacks all Internet traffic from the machine (despite being a low priority/unknown network interface)
- siphons and stores HTTP cookies and sessions from the web browser for the Alexa top 1,000,000 websites
- exposes the internal router to the attacker, making it accessible remotely via outbound WebSocket and DNS rebinding (thanks Matt Austin for rebinding idea!)
- allows attacker to remotely force the user to make HTTP requests and proxy back responses (GET & POSTs) with the user’s cookies on any backdoored domain
- does not require the machine to be unlocked
- backdoors and remote access persist even after device is removed and attacker sashays away
Kamkar has also published a video demo of the tool:
For all technical explanations, refer to the original post:
How i can protect my computer against PoisonTap?
Kamkar’s suggestions are ironic and slightly useless:
- Adding cement to your USB and Thunderbolt ports can be effective
- Closing your browser every time you walk away from your machine can work, but is entirely impractical
- Disabling USB/Thunderbolt ports is also effective, though also impractical
- Locking your computer has no effect as the network and USB stacks operate while the machine is locked, however, going into an encrypted sleep mode where a key is required to decrypt memory (e.g., FileVault2 + deep sleep) solves most of the issues as your browser will no longer make requests, even if woken up