hacktricks/radio-hacking/pentesting-rfid.md

13 KiB
Raw Blame History

Pentesting RFID

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

Introduction

**無線周波数識別RFID**は、最も一般的な短距離無線ソリューションです。通常、エンティティを識別する情報を保存し、送信するために使用されます。

RFIDタグは、独自の電源(アクティブ)、つまり埋め込まれたバッテリーに依存するか、受信した無線波から誘導された電流を使用して読み取りアンテナから電力を受け取ります(パッシブ)。

クラス

EPCglobalはRFIDタグを6つのカテゴリに分けています。各カテゴリのタグは、前のカテゴリにリストされているすべての機能を持ち、後方互換性があります。

  • クラス0タグは、UHFバンドで動作するパッシブタグです。ベンダーが生産工場で事前にプログラムします。その結果、メモリに保存された情報を変更することはできません
  • クラス1タグは、HFバンドでも動作できます。さらに、生産後に一度だけ書き込むことができます。多くのクラス1タグは、受信したコマンドの循環冗長検査CRCを処理することもできます。CRCは、エラー検出のためのコマンドの最後にあるいくつかの追加バイトです。
  • クラス2タグは、複数回書き込むことができます
  • クラス3タグは、現在の温度やタグの動きなどの環境パラメータを記録できる埋め込みセンサーを含むことができます。これらのタグはセミパッシブであり、埋め込まれた電源(統合されたバッテリーなど)を持っていますが、他のタグやリーダーとの無線通信を開始することはできません
  • クラス4タグは、同じクラスの他のタグとの通信を開始できるため、アクティブタグです。
  • クラス5タグは、他のタグに電力を供給し、すべての前のタグクラスと通信できます。クラス5タグはRFIDリーダーとして機能できます。

RFIDタグに保存される情報

RFIDタグのメモリは通常、4種類のデータを保存します識別データ、これはタグが取り付けられているエンティティ識別します(このデータには、銀行口座などのユーザー定義フィールドが含まれます);補足データ、これはエンティティに関するさらなる****詳細を提供します;制御データ、これはタグの内部構成に使用されます;およびタグの製造者データ、これはタグのユニーク識別子(UID)とタグの製造タイプ、およびベンダーに関する詳細を含みます。最初の2種類のデータはすべての商業タグに見られますが、最後の2つはタグのベンダーによって異なる場合があります。

ISO標準は、タグが属するオブジェクトの種類を示すコードであるアプリケーションファミリー識別子(AFI値を指定します。ISOによって指定されたもう1つの重要なレジスタは、ユーザーデータの論理的な組織を定義するデータストレージフォーマット識別子(DSFID)です。

ほとんどのRFID セキュリティ制御には、各ユーザーメモリブロックおよびAFIおよびDSFID値を含む特別なレジスタに対する読み取りまたは書き込み操作を制限するメカニズムがあります。これらのロック****メカニズムは、制御メモリに保存されたデータを使用し、ベンダーによって事前に構成されたデフォルトパスワードを持っていますが、タグの所有者がカスタムパスワードを構成することを許可します。

低周波数と高周波数タグの比較

低周波数RFIDタグ125kHz

低周波数タグは、高いセキュリティを必要としないシステムでよく使用されます建物のアクセス、インターホンキー、ジムの会員カードなど。より高い範囲のため、支払い駐車場での使用に便利ですドライバーはカードをリーダーの近くに持ってくる必要がなく、遠くからトリガーされます。同時に、低周波数タグは非常に原始的で、データ転送速度が低いため、残高の保持や暗号化などの複雑な双方向データ転送を実装することは不可能です。低周波数タグは、認証手段なしで短いIDを送信するだけです。

これらのデバイスはパッシブ****RFID技術に依存し、30 kHzから300 kHzの範囲で動作しますが、125 kHzから134 kHzを使用することが一般的です

  • 長距離 — 低い周波数は高い範囲に変換されます。EM-MarinやHIDリーダーの中には、最大1メートルの距離から動作するものがあります。これらは駐車場でよく使用されます。
  • 原始的なプロトコル — 低いデータ転送速度のため、これらのタグは短いIDを送信することしかできません。ほとんどの場合、データは認証されず、何の保護もされていません。カードがリーダーの範囲内に入ると、ただちにIDの送信を開始します。
  • 低いセキュリティ — これらのカードは簡単にコピーでき、プロトコルの原始性のために他の人のポケットからでも読み取られる可能性があります。

人気のある125 kHzプロトコル

  • EM-Marin — EM4100、EM4102。CISで最も人気のあるプロトコル。シンプルさと安定性のため、約1メートルから読み取ることができます。
  • HID Prox II — HID Globalによって導入された低周波数プロトコル。このプロトコルは西洋諸国でより人気があります。より複雑で、このプロトコル用のカードとリーダーは比較的高価です。
  • Indala — Motorolaによって導入された非常に古い低周波数プロトコルで、後にHIDに買収されました。前の2つと比べて、使用されることは少なくなっています。

実際には、もっと多くの低周波数プロトコルがあります。しかし、すべて同じ物理層の変調を使用し、上記のもののいずれかのバリエーションと見なすことができます。

攻撃

これらのタグをFlipper Zeroで攻撃できます

{% content-ref url="../todo/radio-hacking/flipper-zero/fz-125khz-rfid.md" %} fz-125khz-rfid.md {% endcontent-ref %}

高周波数RFIDタグ13.56 MHz

高周波数タグは、暗号化、大規模な双方向データ転送、認証などが必要なより複雑なリーダーとタグの相互作用に使用されます。
通常、銀行カード、公共交通機関、その他のセキュアパスで見られます。

高周波数13.56 MHzタグは一連の標準とプロトコルです。通常、NFCと呼ばれますが、必ずしも正しいわけではありません。物理的および論理的レベルで使用される基本的なプロトコルセットはISO 14443です。高レベルのプロトコルや代替標準ISO 19092などはこれに基づいています。この技術は**近接通信NFC**と呼ばれ、13.56 MHz周波数で動作するデバイスの用語です。

簡単に言えば、NFCのアーキテクチャは次のように機能します送信プロトコルはカードを製造する会社によって選択され、低レベルのISO 14443に基づいて実装されます。たとえば、NXPはMifareと呼ばれる独自の高レベル送信プロトコルを発明しました。しかし、低レベルでは、MifareカードはISO 14443-A標準に基づいています。

Flipperは、低レベルのISO 14443プロトコルとMifare Ultralightデータ転送プロトコル、銀行カードで使用されるEMVと相互作用できます。Mifare ClassicとNFC NDEFのサポートを追加する作業を進めています。NFCを構成するプロトコルと標準についての詳細な考察は、別の記事にする価値があります。

ISO 14443-A標準に基づくすべての高周波数カードには、ユニークなチップIDがあります。これはカードのシリアル番号として機能し、ネットワークカードのMACアドレスのようなものです。通常、UIDは4または7バイトの長さですが、まれに10バイトまで**行くことがあります。UIDは秘密ではなく、簡単に読み取ることができ、時にはカード自体に印刷されていることもあります

UIDに依存して認証とアクセスを許可するアクセス制御システムが多数あります。時には、RFIDタグが暗号化をサポートしている場合でも、これが発生します。このような誤用は、セキュリティの観点から、愚かな125 kHzカードのレベルにまで引き下げます。仮想カードApple Payなどは、電話の所有者が支払いアプリでドアを開けることがないように、動的UIDを使用します。

  • 低い範囲 — 高周波数カードは、リーダーの近くに置かなければならないように特別に設計されています。これにより、カードが不正な相互作用から保護されます。私たちが達成した最大の読み取り範囲は約15 cmで、これはカスタムメイドの高範囲リーダーを使用した場合です。
  • 高度なプロトコル — データ転送速度が最大424 kbpsで、完全な双方向データ転送を可能にする複雑なプロトコルを許可します。これにより、暗号化、データ転送などが可能になります。
  • 高いセキュリティ — 高周波数の非接触カードは、スマートカードに劣ることはありません。AESのような暗号的に強いアルゴリズムをサポートし、非対称暗号化を実装するカードもあります。

攻撃

これらのタグをFlipper Zeroで攻撃できます

{% content-ref url="../todo/radio-hacking/flipper-zero/fz-nfc.md" %} fz-nfc.md {% endcontent-ref %}

またはproxmarkを使用して:

{% content-ref url="../todo/radio-hacking/proxmark-3.md" %} proxmark-3.md {% endcontent-ref %}

参考文献

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}