# Pentesting RFID
{% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
GCP Hacking'i öğrenin ve pratik yapın: [**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**](https://training.hacktricks.xyz/courses/grte)
HackTricks'i Destekleyin
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter**'da **bizi takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
{% endhint %}
## Giriş
**Radyo Frekansı Tanımlama (RFID)**, en popüler kısa menzilli radyo çözümüdür. Genellikle bir varlığı tanımlayan bilgileri depolamak ve iletmek için kullanılır.
Bir RFID etiketi, **kendi güç kaynağına (aktif)**, örneğin gömülü bir bataryaya dayanabilir veya okuma anteninden alınan radyo dalgalarından **indüklenen akımı** kullanarak güç alabilir (**pasif**).
### Sınıflar
EPCglobal, RFID etiketlerini altı kategoriye ayırır. Her kategorideki bir etiket, önceki kategoride listelenen tüm yeteneklere sahiptir, bu da geriye dönük uyumluluk sağlar.
* **Sınıf 0** etiketleri, **UHF** bantlarında çalışan **pasif** etiketlerdir. Satıcı, bunları üretim fabrikasında **önceden programlar**. Sonuç olarak, belleğinde depolanan bilgileri **değiştiremezsiniz**.
* **Sınıf 1** etiketleri de **HF** bantlarında çalışabilir. Ayrıca, üretimden sonra **sadece bir kez yazılabilirler**. Birçok Sınıf 1 etiketi, aldıkları komutların **döngüsel fazlalık kontrolü** (CRC) işlemlerini de gerçekleştirebilir. CRC'ler, hata tespiti için komutların sonunda bulunan birkaç ek bayttır.
* **Sınıf 2** etiketleri **birden fazla kez yazılabilir**.
* **Sınıf 3** etiketleri, mevcut sıcaklık veya etiketin hareketi gibi çevresel parametreleri kaydedebilen **gömülü sensörler** içerebilir. Bu etiketler **yarı-pasif**'dir, çünkü gömülü bir güç kaynağına sahip olmalarına rağmen, diğer etiketler veya okuyucularla kablosuz **iletişim başlatamazlar**.
* **Sınıf 4** etiketleri, aynı sınıftaki diğer etiketlerle iletişim başlatabilir, bu da onları **aktif etiketler** yapar.
* **Sınıf 5** etiketleri, diğer etiketlere **güç sağlayabilir** ve önceki tüm etiket sınıflarıyla iletişim kurabilir. Sınıf 5 etiketleri **RFID okuyucuları** olarak da işlev görebilir.
### RFID Etiketlerinde Depolanan Bilgiler
Bir RFID etiketinin belleği genellikle dört tür veri depolar: etiketin bağlı olduğu **varlığı tanımlayan** **tanımlama verisi** (bu veri, kullanıcı tanımlı alanlar, örneğin banka hesapları içerir); varlıkla ilgili **daha fazla** **detay** sağlayan **tamamlayıcı veri**; etiketin iç **konfigürasyonu** için kullanılan **kontrol verisi**; ve etiketin **üretici verisi**, bu da etiketin Benzersiz Tanımlayıcısını (**UID**) ve etiketin **üretimi**, **tipi** ve **satıcısı** ile ilgili detayları içerir. İlk iki tür veri, tüm ticari etiketlerde bulunur; son iki tür, etiketin satıcısına bağlı olarak farklılık gösterebilir.
ISO standardı, etiketin ait olduğu **nesne türünü** belirten bir kod olan Uygulama Aile Tanımlayıcısı (**AFI**) değerini belirtir. ISO tarafından belirtilen bir diğer önemli kayıt ise, kullanıcı verilerinin **mantıksal organizasyonunu** tanımlayan Veri Depolama Formatı Tanımlayıcısı (**DSFID**)dır.
Çoğu RFID **güvenlik kontrolü**, her kullanıcı bellek bloğunda ve AFI ve DSFID değerlerini içeren özel kayıtlarda **okuma** veya **yazma** işlemlerini **kısıtlayan** mekanizmalara sahiptir. Bu **kilit** **mekanizmaları**, kontrol belleğinde depolanan verileri kullanır ve satıcı tarafından önceden yapılandırılmış **varsayılan şifreler** içerir, ancak etiket sahiplerinin **özel şifreler yapılandırmasına** izin verir.
### Düşük ve Yüksek Frekanslı Etiketlerin Karşılaştırması
## Düşük Frekanslı RFID Etiketleri (125kHz)
**Düşük frekanslı etiketler**, genellikle **yüksek güvenlik** gerektirmeyen sistemlerde kullanılır: bina erişimi, interkom anahtarları, spor salonu üyelik kartları vb. Daha yüksek menzil nedeniyle, ücretli otoparklar için kullanımı uygundur: sürücü kartı okuyucuya yakın getirmek zorunda değildir, çünkü daha uzaktan tetiklenir. Aynı zamanda, düşük frekanslı etiketler çok ilkel olup, düşük veri transfer hızına sahiptir. Bu nedenle, bakiye tutma ve kriptografi gibi karmaşık iki yönlü veri transferi uygulamak imkansızdır. Düşük frekanslı etiketler yalnızca kısa kimliklerini iletir, herhangi bir kimlik doğrulama aracı olmadan.
Bu cihazlar, **pasif** **RFID** teknolojisine dayanır ve **30 kHz ile 300 kHz** aralığında çalışır, ancak genellikle 125 kHz ile 134 kHz kullanılır:
* **Uzun Menzil** — daha düşük frekans, daha yüksek menzil anlamına gelir. EM-Marin ve HID okuyucuları, bir metreye kadar mesafeden çalışır. Bunlar genellikle otoparklarda kullanılır.
* **İlkel protokol** — düşük veri transfer hızı nedeniyle bu etiketler yalnızca kısa kimliklerini iletebilir. Çoğu durumda, veriler kimlik doğrulamasına tabi değildir ve herhangi bir şekilde korunmaz. Kart okuyucunun menzilinde olduğu anda, sadece kimliğini iletmeye başlar.
* **Düşük güvenlik** — Bu kartlar kolayca kopyalanabilir veya protokolün ilkel olması nedeniyle başkalarının cebinden bile okunabilir.
**Popüler 125 kHz protokolleri:**
* **EM-Marin** — EM4100, EM4102. CIS'teki en popüler protokol. Basitliği ve kararlılığı nedeniyle yaklaşık bir metreden okunabilir.
* **HID Prox II** — HID Global tarafından tanıtılan düşük frekanslı protokol. Bu protokol, batı ülkelerinde daha popülerdir. Daha karmaşık olup, bu protokol için kartlar ve okuyucular nispeten pahalıdır.
* **Indala** — Motorola tarafından tanıtılan çok eski bir düşük frekanslı protokol ve daha sonra HID tarafından satın alındı. Önceki iki protokole göre daha az karşılaşma olasılığınız vardır çünkü kullanımdan düşmektedir.
Gerçekte, çok daha fazla düşük frekanslı protokol vardır. Ancak hepsi fiziksel katmanda aynı modülasyonu kullanır ve yukarıda listelenenlerin bir varyasyonu olarak kabul edilebilir.
### Saldırı
Bu Etiketlere **Flipper Zero ile saldırabilirsiniz**:
{% content-ref url="flipper-zero/fz-125khz-rfid.md" %}
[fz-125khz-rfid.md](flipper-zero/fz-125khz-rfid.md)
{% endcontent-ref %}
## Yüksek Frekanslı RFID Etiketleri (13.56 MHz)
**Yüksek frekanslı etiketler**, kriptografi, büyük iki yönlü veri transferi, kimlik doğrulama vb. gerektiğinde daha karmaşık bir okuyucu-etiket etkileşimi için kullanılır.\
Genellikle banka kartlarında, toplu taşıma araçlarında ve diğer güvenli geçişlerde bulunur.
**Yüksek frekanslı 13.56 MHz etiketleri, bir dizi standart ve protokoldür**. Genellikle [NFC](https://nfc-forum.org/what-is-nfc/about-the-technology/) olarak adlandırılır, ancak bu her zaman doğru değildir. Fiziksel ve mantıksal seviyelerde kullanılan temel protokol seti ISO 14443'tür. Yüksek seviyeli protokoller ve alternatif standartlar (ISO 19092 gibi) buna dayanmaktadır. Birçok kişi bu teknolojiyi **Yakın Alan İletişimi (NFC)** olarak adlandırır, bu terim 13.56 MHz frekansında çalışan cihazlar için kullanılır.
Basitçe ifade etmek gerekirse, NFC'nin mimarisi şöyle çalışır: iletim protokolü, kartları üreten şirket tarafından seçilir ve düşük seviyeli ISO 14443'e dayalı olarak uygulanır. Örneğin, NXP kendi yüksek seviyeli iletim protokolü olan Mifare'yi icat etmiştir. Ancak daha düşük seviyede, Mifare kartları ISO 14443-A standardına dayanmaktadır.
Flipper, hem düşük seviyeli ISO 14443 protokolü ile hem de Mifare Ultralight veri transfer protokolü ve banka kartlarında kullanılan EMV ile etkileşimde bulunabilir. Mifare Classic ve NFC NDEF desteği eklemek için çalışıyoruz. NFC'yi oluşturan protokoller ve standartlar üzerine kapsamlı bir inceleme, ayrı bir makaleyi hak ediyor ve bunu daha sonra yayınlamayı planlıyoruz.
ISO 14443-A standardına dayanan tüm yüksek frekanslı kartlar, benzersiz bir çip kimliğine sahiptir. Bu, kartın seri numarası gibi işlev görür, bir ağ kartının MAC adresi gibidir. **Genellikle, UID 4 veya 7 bayt uzunluğundadır**, ancak nadiren **10 bayta kadar** çıkabilir. UID'ler gizli değildir ve kolayca okunabilir, **bazen hatta kartın kendisinde basılıdır**.
UID'ye dayanan birçok erişim kontrol sistemi, **kimlik doğrulama ve erişim izni** vermek için kullanılır. Bazen bu, RFID etiketleri **kriptografi desteklese bile** gerçekleşir. Böyle bir **kötüye kullanım**, güvenlik açısından onları aptalca **125 kHz kartları** seviyesine düşürür. Sanal kartlar (Apple Pay gibi) dinamik bir UID kullanır, böylece telefon sahipleri ödeme uygulamalarıyla kapıları açamaz.
* **Düşük menzil** — yüksek frekanslı kartlar, okuyucuya yakın yerleştirilmesi için özel olarak tasarlanmıştır. Bu, kartı yetkisiz etkileşimlerden korumaya da yardımcı olur. Elde ettiğimiz maksimum okuma menzili yaklaşık 15 cm'dir ve bu, özel yapım yüksek menzil okuyucularla olmuştur.
* **Gelişmiş protokoller** — veri transfer hızları 424 kbps'ye kadar çıkabilir, bu da tam teşekküllü iki yönlü veri transferine olanak tanır. Bu da **kriptografi**, veri transferi vb. sağlar.
* **Yüksek güvenlik** — yüksek frekanslı temassız kartlar, akıllı kartlarla kıyaslandığında hiçbir şekilde geri kalmaz. AES gibi kriptografik olarak güçlü algoritmaları destekleyen ve asimetrik kriptografi uygulayan kartlar vardır.
### Saldırı
Bu Etiketlere **Flipper Zero ile saldırabilirsiniz**:
{% content-ref url="flipper-zero/fz-nfc.md" %}
[fz-nfc.md](flipper-zero/fz-nfc.md)
{% endcontent-ref %}
Ya da **proxmark** kullanarak:
{% content-ref url="proxmark-3.md" %}
[proxmark-3.md](proxmark-3.md)
{% endcontent-ref %}
## Referanslar
* [https://blog.flipperzero.one/rfid/](https://blog.flipperzero.one/rfid/)
{% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
GCP Hacking'i öğrenin ve pratik yapın: [**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**](https://training.hacktricks.xyz/courses/grte)
HackTricks'i Destekleyin
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter**'da **bizi takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
{% endhint %}