Skip to content

Kali Linux

Poe Rhiza edited this page Aug 20, 2021 · 10 revisions

This is a guide for compiling the Proxmark3 firmware on the Linux Distribution: Kali Rolling-Edition. It has been verified working as of Kali 2016.2 Release.

Table of Contents

Preparing Proxmark3 Software

Open a terminal: Download and install the essentials to build Proxmark3 from source:

  sudo apt install git build-essential readline-common libreadline-dev gcc-arm-none-eabi libusb-0.1-4 libusb-dev libncurses-dev perl pkg-config libpcsclite-dev pcscd

Check out the latest revision of the Proxmark project:

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

Open the recently cloned Proxmark3 repository

  cd proxmark3

Now compile the bootrom, OS and software.

  make clean && make all

Plug in the Proxmark3

Connect the Proxmark3 to an empty USB port. Open a terminal and run:

  dmesg | grep -i usb

You will get similar to one of the two following outputs that will affect the next few steps.

possible error

if device gets disconnected while getting enumerated, it is usally the modem-manager which are spooking. Some users has tried killing it with some success. A more permanent solution must be found for Kali users.

HID device

[ 5414.961137] usb 2-2.2: new full speed USB device number 11 using uhci_hcd
May  3 15:53:43 proxtest mtp-probe: checking bus 2, device 11: "/sys/devices/pci0000:00/0000:00:11.0/0000:02:00.0/usb2/2-2/2-2.2"
[ 5422.297626] generic-usb 0003:9AC4:4B8F.0008: hiddev0,hidraw2: 
USB HID v1.00 Device [ProxMark-3 RFID Instrument] on usb-0000:02:00.0-2.2/input0
Jump to Upgrading Proxmark3 to CDC Bootloader

CDC device

[10416.461687] usb 2-1.2: new full-speed USB device number 12 using ehci_hcd
[10416.555093] usb 2-1.2: New USB device found, idVendor=2d2d, idProduct=504d
[10416.555105] usb 2-1.2: New USB device strings: Mfr=1, Product=0, SerialNumber=0
[10416.555111] usb 2-1.2: Manufacturer: proxmark.org
[10416.555814] cdc_acm 2-1.2:1.0: This device cannot do calls on its own. It is not a modem.
[10416.555871] cdc_acm 2-1.2:1.0: ttyACM0: USB ACM device
Jump to Upgrading Proxmark3 Firmware.

Upgrading Proxmark3 to CDC Bootloader

Unplug the Proxmark3.

Make sure you are in the "proxmark3" directory and issue the following commands.

 cd client
 make

Hold down the button on the Proxmark3 and continue to hold it down. The Proxmark3 LED's RED & YELLOW lights up [sidenote:] Attach the Proxmark3 to an empty USB port still holding down the button and issue the following command:

 ./flasher /dev/ttyACM0 -b ../bootrom/obj/bootrom.elf

Release the button. And go back to the main Proxmark3 directory.

 cd ../

Note: This can be a real chore to upgrade to the CDC bootloader when using a virtual machine. I recommend using a real install or booting from a live DVD or USB drive.

You can now skip forward to Upgrading Proxmark3 Firmware!

Upgrading Proxmark3 Firmware

Make sure you are in the "proxmark3" directory and issue the following commands:

  cd client
  ./flasher /dev/ttyACM0 ../armsrc/obj/fullimage.elf
  cd ..

The flasher program will detect your Proxmark3 and reboot it. Once it reboots and starts back up in the proper mode the flasher will detect the Proxmark3 again and then start flashing the firmware. You may have to run "dmesg" and check what serial port your Proxmark3 is connected to and replace "ttyACM0" if you encounter issues. Also try unplugging and plugging the USB cable back in and running the command again. WARNING! Do not unplug the USB cable or cancel the command while it is actually upgrading the firmware. It may take a little while for the flasher to actually detect the Proxmark3 after rebooting, typically less than a minute.

Accessing Proxmark3 Client

Make sure you are in the "proxmark3" directory.

  cd client
  ./proxmark3 /dev/ttyACM0

If all went well you should get some information about the firmware and memory usage as well as the following prompt:

  proxmark3>

Now run the following commands to verfiy functionality

  proxmark3>hw status
  proxmark3>hw version
  proxmark3>hw tune

You are now ready to use your newly upgraded Proxmark3!

Quit Proxmark Program.

  proxmark3>quit