Proxmark3 RDV4 – Setup in Kali Linux

Featured Video Play Icon

Before using your Proxmark3 RDV4, you will have to set the device up in your Linux system to install the latest firmware, configure the device settings, and interact with some of the more advanced capabilities of the device. This tutorial will walk you through setting up the Proxmark3 in a Kali Linux environment, although this workflow should work for all Debian-based distributions as well.

Update System

As in most cases, we should update the system to ensure compatibility with the most recent version of the Proxmark3 repository:

sudo apt-get update

Next, we are going to install all of the dependencies for installing and running the Proxmark3 client on your system:

sudo apt-get install git ca-certificates build-essential pkg-config libreadline-dev gcc-arm-none-eabi libnewlib-dev qtbase5-dev 

Clone Repository

Now that we have our system updated and ready for installation, we are going to clone the latest repository from RRG on GitHub:

git clone https://github.com/RfidResearchGroup/proxmark3.git

This may take a few minutes – but while this is running, please make sure to read the next section very carefully, as proceeding directly to connecting and flashing the Proxmark3 from here could brick your device.

ModemManager

ModemManager comes pre-installed in Kali Linux along with many of the common distributions and this application will interfere with the firmware flashing process. ModemManager is a tool used to manage modem devices, and when the Proxmark3 is connected via USB, the program will attempt to send AT commands through the port in an attempt to identify it as a modem. This process will brick your device if it occurs while you are flashing the bootloader image. It is recommended that ModemManager is removed or disbabled on your system before proceeding with the Proxmark3 setup process.

To remove ModemManager from your system, execute the following command:

sudo apt remove modemmanager

To disable ModemManager:

sudo systemctl stop ModemManager
sudo systemctl disable ModemManager

If you prefer to keep ModemManager functional while using the Proxmark3, you will need to implement specific filtering rules. Documentation on this process can be found on GitHub here.

Connecting to the Proxmark3

Once ModemManager is removed or disabled, plug the Proxmark3 into your system via the supplied USB cable. Check that the device is properly connected by executing the following command:

sudo dmesg | grep -i usb

It should show up as a CDC device:

usb 2-1.2: Product: PM3
usb 2-1.2: Manufacturer: proxmark.org
cdc_acm 2-1.2:1.0: ttyACM0: USB ACM device

And a new device with the path “/dev/ttyACM_” should have appeared – in this case the device was mounted as ‘ttyAMC0’ since we had no other devices of this type configured.

Compiling the Firmware

Now that the Proxmark3 is connected to and recognized by your system, we are going to compile and install the firmware. First, we need to retrieve the latest commits by running the commands:

cd proxmark3
git pull

Once retrieved, we prepare and compile the files for installation by using the following command in the proxmark3 directory:

make clean && make all

Once this process is complete, you can now install the required files in your system. As usual:

sudo make install

You are now ready to flash the firmware to your Proxmark3 RDV4. Don’t forget about ModemManager! If you brick the device while flashing the bootloader, you will need to be familiar with debugging tools like the JTAGulator – also available from Hacker Warehouse.

Flashing the Proxmark3 RDV4

With the device connected via USB, run the following command to flash the bootloader and then the fullimage files to your Proxmark3

proxmark3 /dev/ttyACM0 --flash --unlock-bootloader --image bootrom.elf
proxmark3 /dev/ttyACM0 --flash --image fullimage.elf

Running the Client

With the firmware properly flashed to your device, you can now access and use the Proxmark3 client by running one of the following commands:

pm3
proxmark3 /dev/ttyACM0
client/proxmark3 /dev/ttyACM0

Validating Client Functionality

Before you start trying your device out in the field, you are going to want to validate that your device is functional as well as familiarize yourself with the client interface. With the client application open, you can run commands by using the following prompt:

pm3 -->

To ensure that the device is properly configured, run the following commands individually and inspect the output for any problems recognizing device components, hardware settings, and firmware:

pm3 --> hw status
pm3 --> hw version
pm3 --> hw tune

Use the help function for a basic list of commands and for further information on each command, simply input help after specifying a command.

When you are done with your experimentation, you can exit the client application by executing the following command, or by simply typing ‘CTRL-D’ on the keyboard:

pm3 --> quit

Have fun with your research in RFID technology using the Proxmark3 RDV4 and stay tuned for more articles and tutorials from HackerWarehouse.TV to help you master the use of this tool.

Although the Proxmark3 RDV4 is by far the most feature-rich and field-capable device in RFID research and security testing, you may want to check out some other great RFID devices such as the Chameleon Mini RevG and the Keysy, offering some of the same functionality as the RDV4. 

Project Resources

Step-By-Step Breakout
Setting up the Proxmark3 RDV4 in Kali Linux
Installing Proxmark3 Software
1. Update Kali
sudo apt-get update
2. Retrieve dependencies
sudo apt-get install git ca-certificates build-essential pkg-config libreadline-dev gcc-arm-none-eabi libnewlib-dev qtbase5-dev
Removing/Disabling ModemManager
1. Remove ModemManager from your system
sudo apt remove modemmanager
2. OR -Manually Disable ModemManager
sudo systemctl stop ModemManager
sudo systemctl disable ModemManager
Connecting the Proxmark3 RDV4
1. Plug the Proxmark3 into your system using the supplied USB cable
2. Check connectivity to the device
sudo dmesg | grep -i usb
3. Ensure the device shows up as follows
usb 2-1.2: Product: PM3
usb 2-1.2: Manufacturer: proxmark.org
cdc_acm 2-1.2:1.0: ttyACM0: USB ACM device
*note that the device label will be serialized and may appear with a different numeral following ‘ttyAMC’ if you have more devices of this type installed on your machine 
Compiling the Firmware
1. Retrieve latest commits
cd proxmark3
git pull
2. Prepare and compile files
make clean && make all
3. Install the files to your system
sudo make install
Flashing Firmware to the Proxmark3 RDV4
1. Flash the bootloader image to the device
proxmark3 /dev/ttyACM0 --flash --unlock-bootloader --image bootrom.elf
2. Flash the full image to the device
proxmark3 /dev/ttyACM0 --flash --image fullimage.elf
Connecting to the Proxmark3 Client
1. Access the client using one of the three commands
pm3
proxmark3 /dev/ttyACM0
client/proxmark3 /dev/ttyACM0
2. Validate client functionality using pm3 command prompt
pm3 --> hw status

 

Leave a Reply

Your email address will not be published. Required fields are marked *

Send this to a friend