2024年5月24日金曜日

Mifare NFCのクローンを作る方法(Switchbot キーパッド対応)

  社員証のMifareカードをSwitchbotの家のキーパッドに登録したのだが、MifareなのでiPhoneに入れ込むことが出来ない。

そこで、NFCタグシールを買ってこれをケースに貼って利用と思ったので、社員証をコピーしないといけなかった。

この方法がよくわからなくてとりあえず物色してPCR532というBluetooth対応リーダーをアリエクにて購入。合わせてMagic TAGシールも購入。

アフィリンク貼っときます:


多分こんなのでも動くと思いますがやったことないので不明:アマゾン(アフィリンク)

ついてくるソフトはよくわからずなんかマルウェアも入っていそうだったので、Android端末で検索したところMifare Classic Toolというのがあったのでこれをダウンロード。

これでREAD TAGをして、WRITE TAGをしてみたがうまく動かず。

CLONE UIDでクローンしてみたが、やはりうまくいかず。

色々検索したところ、pn532-clonerというサイトを発見。ソフトをダウンロードすると、なにやら暗号化されている場合、解除キーを総当りで探す機能がついていた。

さっそくやってみたら、1時間ぐらいでキーが6つ見つかった。

しめしめと書き込みを行おうとすると、unsupported tagと表示されて書き込めない。

持っているタグ全部やってみたがだめ。マニュアルをみるとGen3とGen2のみらしい。自分が持っているのは何かよくわからないが、アリエクで再度物色するとGen2のものを発見したのでそちらを即ポチ。

とりあえずGen2 TAGが来るまでは別のTAGで開けれるようにしようと思い登録したが、本体に貼ってからケースはめたら開かない。ケース外した状態でもだめ。ケースの上に貼ると反応する。アルミホイル挟んだり色々したけど結局なにやっても駄目。どういう原理なのか詳しい人いたら教えてほしい。

このMifare Classic Toolというソフトを眺めていると、KeyファイルというものをDUMP時に選択できる様になっていた。中を除くと鍵の辞書ファイルだった。ってことは、、ってことでpn532-clonerで見つけ出したキーを辞書ファイルを追加で作成して書き込んで、DUMPしたところ問題なく完了。書き込みしたところBINGO。Switchbotでもちゃんと開けることが出来ました。

しかしこのデータ、もしかしたらSwitchbotのものなのかもしれない。会社の方はどうなるかまだ試していないからよくわからないけど、ワンチャンこんな作業必要なくてUIをCLONEすれば良いだけなのかもしれない。

ちなみにちゃんと解読したデータが入っていないタグはSwitchbotで再登録できなかった。すでに同じタグが登録されている、と出ました。開けるためにはクローンされていないことを確認するために別のデータをSwitchbotが登録時に入れているのかもしれない。

面倒なので登録したあとのブランクカードの中身確認とかはしておりません。


さすがにわかりにくいので追記

PCにて

pn532-clonerを実行

ダウンロードはここで:https://github.com/jumpycalm/pn532-cloner

https://github.com/jumpycalm/pn532-cloner/releases/tag/v1.1

PN532-Cloner-Win-x64.exe


実行して、「r」を押すとBruteforceしてくれる。表示されるキーはメモっておくこと。

大体30分ぐらいかかります。


Android端末にて

Mifare Classic Tool

https://play.google.com/store/apps/details?id=de.syss.MifareClassicTool&hl=ja

辞書ファイルを編集して、上記メモったキーを書き込む。

Edit/Add Key fileでできると思われます。

つぎに、Dumpを取ります。Read Tagだったかな。なんか名前つけて保存。

次、UIDをクローンします。Tools内にあるClone UIDで実行。元のUIDを読み取って、

新しいカードに書き込みます。

CLONE UID xxxxxxxx

GENERATE BLOCK 0 and clone UID

をタップ

完了したら、タグを書き込みます。

「Write Tag」タップ

「Write Dump(Clone)」をタップ

「Select Dump」で 上記Dumpしたファイルを選択

「Select All」⇒「OK」をタップ

キーの選択画面では、全部選択しました。

「START mapping and write dump」をタップ

これで書き込まれます。


新しいタグをリーダーに当てるとちゃんと鍵開きました。


いや、Switchbotなら普通に登録すればいいんですが、例えば会社のカードをiPhoneに貼り付けたいとなるとこんなシール型のが必要になりますんで。。。