Practical guide to RFID hacking for penetration testers. Investigates the latest attack tools and techniques available for stealing and using RFID proximity badge information to gain unauthorized access to buildings and other secure areas.
RFID Hacking Tools
Tastic RFID Thief
The Tastic RFID Thief is a silent, long-range RFID reader that can steal the proximity badge information from an unsuspecting employee as they physically walk near this concealed device. Specifically, it is targeting 125KHz, low frequency RFID badge systems used for physical security, such as those used in HID Prox and Indala Prox products.
Our goal is to make it easy for security professionals to re-create this tool so that they can perform RFID physical penetration tests and better demonstrate the risks posed by these technologies to their management. The hope is that they can get up and running quickly, even if they don’t have an RFID or electrical engineering background.
We used an Arduino microcontroller to weaponize a commercial RFID badge reader (the HID MaxiProx 5375AGN00 – bought on Ebay) – effectively turning it into a custom, long-range RFID hacking tool. This involved the creation of a small, portable PCB (designed in Fritzing) that can be inserted into almost any commercial RFID reader to steal badge info.
Note, this PCB can alternatively be inserted into an Indala reader for testing Indala Prox deployments (e.g. Indala Long-Range Reader 620). Alternatively, the PCB could even be used to weaponize a high frequency (13.56MHz) RFID reader, such as the iClass R90 Long Range reader. The PCB can be inserted into any RFID reader that supports the standard Wiegand DATA0/DATA1 output (which is pretty much all of them).
The tool steals badge information silently, and conveniently saves it to a text file (CARDS.txt) on a microSD card for later use such as badge cloning.
This solution allowed us to read proximity cards from up to 3 feet away, making the stealthy approach an actual reality. A typical attack would involve placing the weaponized reader into a messenger bag or backpack, walking by someone in line at the local Starbucks, and capturing the RFID badge info on their person. A visualization of what the attack would look like is captured in the image below:
The short tutorial videos below show the Tastic RFID Thief in action:
Optimizing Read Range
Greater read distances can be achieved by reducing interference and providing clean, high voltage. For more details on improving read range, see the following resources:
- HID – MaxiProx 5375
- HID – MaxiProx 5375 – Installation Guide PDF
- HID – Installing the HID MaxiProx for optimum read range – AppNote 010 – (PDF)
- HID Whitepaper – Achieving Optimal Read Range – It’s all in the Frequency (PDF)
- Gorferay.com – Installing the HID MaxiProx for Optimum Read Range
Note: The design was compiled and loaded onto the Arduino Nano v3.0 using the Arduino v1.0.1 software with the added sdfatlib (05Dec2011) library to handle the microSD card writing. See Arduino – Libraries for more info on adding additional Arduino libraries.
List of part names and URLs used to create the Tastic RFID Thief.
Fritzing and related design files needed to recreate the PCB used to weaponize RFID readers, creating the Tastic RFID Thief.
Code to load onto the Arduino Nano v3.0 to control the logic of the Tastic RFID Thief.
LCD Faceplate - 3D printable
A 3D printable LCD 20×4 faceplate to cover the LCD rectangular hole on the front of the Tastic RFID Thief. The example below was printed using a Makerbot Replicator 2 – 3D printer.
If you are like me, you may have made a mess of cutting out the rectangle for the LCD on the plastic cover of your HID MaxiProx5375 RFID Reader.
You can also find details on the 3D printable object at our Thingiverse.com page at:
3D printable files for an LCD 20x4 faceplate to cover the rectangular hole on the front of the Tastic RFID Thief. Printed using a Makerbot Replicator 2.