Pentesting RFID

Reading time: 14 minutes

tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする

Introduction

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

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

Classes

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

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

Information Stored in RFID Tags

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

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

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

Low & High frequency tags comparison

Low-Frequency RFID Tags (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つと比較して、使用されることは少なくなっています。

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

Attack

You can attack these Tags with the Flipper Zero:

FZ - 125kHz RFID

High-Frequency RFID Tags (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のような暗号的に強いアルゴリズムをサポートし、非対称暗号化を実装するカードもあります。

Attack

You can attack these Tags with the Flipper Zero:

FZ - NFC

Or using the proxmark:

Proxmark 3

References

tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする