Proxmark3 Easy 에 사용되는 명령어 세트 및 firmware 는 몇가지가 있습니다. 정식도 있고, 좀더 커스터마이즈 한 버전들도 제공됩니다. 앞전에서 사용된 버전 말고 ICEMAN 버전이 많이 활용된다고 합니다. 저도 편승하여 ICEMAN 버전을 사용해 보기로 합니다.
1. ICEMAN
ICEMAN 패키지는 아래에서 다운로드 받을 수 있습니다.
* RfidResearchGroup / proxmark3
특히, macOS 의 경우는 위의 리포지토리의 하위에 있는 장소에서 자세한 설명이 되어 있습니다. 여러 상황에 맞춰 알맞는 설치가 중요한데, 저는 M4 버전을 가지고 있어서, 아래 homebrew 를 따랐습니다.
* macOS - Homebrew automatic installation
필요한 command 는 다음과 같습니다. Windows 이거나 OS 가 다른 것은, 해당 내용을 찾은 후, 그에 맞는 명령어를 입력하면 됩니다.
0. Install XCode Command Line Tools if you haven't yet already done so
xcode-select --install
1. Install homebrew if you haven't yet already done so
http://brew.sh/
2. Install xquartz
brew install xquartz
3. Tap this repo
brew tap RfidResearchGroup/proxmark3
4. Install Proxmark3 for generic (non-RDV4) devices (platform), stable release
brew install --with-generic proxmark3
XCode 와 Homebrew 는 기본적으로 사용되고 있어서, xquartz 부터 설치하였습니다. 이는 "hw tune" 이라는 명령어 실행 시, 그래프로 보여주는 역할을 합니다.
관련된 모듈을 받고 설치를 자동으로 시작합니다.
그 다음으로, repository 에 대해 tap 설치를 해 줍니다. ICEMAN 은 범용이 아니라서, 따로 repository 등록을 위한 tap 이 필요한 듯 합니다.
Tap 이 잘 되었으면, Proxmark3 Easy 에 맞는 "--with-generic" 옵션으로 설치 합니다.
2. Firmware Update
ICEMAN 버전의 binary 와 library 를 설치하였다 한들, 관련한 파일들과 함께 움직여야 하는 firmware 가 Proxmark3 Easy 에 올라와 있어야 합니다. 그래서 firmware update 를 실행합니다.
우선, 옆구리에 있는 버튼을 누른 상태로 USB 에 연결합니다. 그렇게 하면 bootloader 모드로 들어가서 firmware 를 update 할 수 있는 상태가 됩니다. USB 에 연결 이후에는 버튼에서 손을 떼어서 더 이상 누루고 있지 않아도 됩니다. 설명서에 의하면, 매우 오래된 bootloader 일 경우는, 계속 눌러야 할 수 있다고 하네요.
pm3-flash-all 하면 자동으로 인지하고 firmware 를 인스톨할 것입니다. 그렇지 않으면, Proxmark3 Easy 가 연결되어 있는 USB device 정보를 확인하여 그 밑줄의 긴 명령어를 실행하면 됩니다. "/dev/cu*******" 부분은, 각자의 컴퓨터에서 USB 연결정보에 맞추서 적으면 됩니다.
pm3-flash-all
proxmark3 /dev/cu.******** --flash --unlock-bootloader --image /usr/local/share/proxmark3/firmware/bootrom.elf --image /usr/local/share/proxmark3/firmware/fullimage.elf
실행한 동영상도 올려 봅니다.
Update 완료한 화면 입니다.
3. pm3
이제 실행을 해 봅니다. 예전 낮은 버전과는 다른 모습이군요. Open source 의 이점을 살려서 계속 끊임없이 발전하는 것 같습니다.
우선 'hw version' 으로 확인해 봤습니다.
맨 처음 하는 "hw tune" 을 실행해 보았습니다.
4. Dump
이제 준비가 되었으니, 건물 출입 카드를 가지고 실험을 해 보았습니다.
Fingerprint 부분에서, 'Fudan FM11RF08S' 브랜드 명이 뜨더니, 관련 script 를 실행해 보라고 합니다. 원래 dump 를 뜨기 위해서는 몇 단계의 dump 를 떠야 하나, 많이 사용되는 card 에 대해서는 script 가 만들어져 있는 듯 합니다. Google 에 물어보니, 다음과 같은 답변을 내 놓았습니다.
The file fm11rf08s_recovery.py is a Python script primarily used with the Proxmark3 device for recovering keys from Fudan F08 (MIFARE Classic compatible) RFID cards. This script leverages a recently discovered vulnerability in these cards, allowing for the extraction of both A and B keys without the need for sniffing authentication attempts.
최종적으로 필요한 key 파일과 dump 파일이 생성 되었네요. 이 파일들을 이용해서 copy 가 가능할 듯 합니다.
'hf my list' 라고 치면, 접근 기록들을 볼 수 있습니다. 이 말인 즉슨, access history 를 위한 쓰기 영역이 있다는 이야기가 되겠습니다.
의외로 심오한 부분이 있습니다.
5. Copy
Clone 하려는 source 가 Gen 1a 이다 보니, 가지고 있는 여러 Key card 들 중에 잘 되는 key card 가 없었습니다. 그러던 중, Gen 1a 을 찾았습니다. 여러가지 구매한 것 중, 이 제품 입니다.
* UID Block 0 Changeable Re-Writtable Round Dia25/30/35mm Sticker 13.56MHZ ISO 14443A Copy Clone Label 10/50/100PCS
잘 도착 했습니다.
가격대가 높다 보니, anti-metal tape 가 붙어있고, UID 0 다시쓰기가 가능한 제품 입니다.
이제 활용해 봅니다.
좀더 자세한 정보를 얻고자 'hf mf info' 를 실행한 결과 입니다.
여러 실패를 거듭하고, 마지막으로 성공한 케이스 입니다. 남들은 다 쉽게 하는 것 같은데, 계속 실패하다가 처음으로 성공해 봅니다. Gen 1a 에서 성공 했지만, Gen 2 에서도 되는 것 같은데, 아직 방법을 모르겠습니다.
script run fm11rf08s_recovery.py
hf mf cloud -f dump.bin
다음 편에서는 여러가지 RFID 카드들에 대해 조회해 보겠습니다. 얼마나 많은 카드들이 존재하는지 한번 확인해 보겠습니다.
FIN
댓글
댓글 쓰기