hacktricks/radio-hacking/pentesting-rfid.md
2023-07-07 23:42:27 +00:00

12 KiB
Raw Blame History

RFIDのペントテスト

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

はじめに

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

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

クラス

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

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

RFIDタグに格納される情報

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

ISO規格では、タグが所属するオブジェクトの種類を示すコードであるApplication Family IdentifierAFI値が指定されています。ISOで指定されたもう1つの重要なレジスタは、ユーザーデータの論理的な組織を定義する**Data Storage Format IdentifierDSFID**です。

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

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

低周波数RFIDタグ125kHz

低周波数タグは、高いセキュリティが必要ないシステムでよく使用されます:建物へのアクセス、インターコムキー、ジムの会員カードなど。その範囲が広いため、有料の駐車場にも便利です:ドライバーはカードをリーダーに近づける必要がなく、遠くからトリガーされます。同時に、低周波数タグは非常に原始的であり、データ転送速度が低いため、残高や暗号化などの複

攻撃

あなたは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などの代替標準は、それに基づいています。多くの人々は、この技術を13.56 MHz周波数で動作するデバイスのための**近距離無線通信NFC**と呼んでいます。

簡単に言えば、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 %}

参考文献

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥