
13.56 MHz frekans bandında çalışan HF sistemler, LF katmanına kıyasla daha karmaşık bir bellek yapısına ve kriptografik güvenlik protokollerine sahiptir. Bu sistemlerin analizinde Proxmark3 gibi donanımların yanı sıra, bünyesinde NFC yongası barındıran akıllı telefonlar da kullanılabilmektedir. Çoğu modern akıllı telefonda bulunan NFC çipi, uygun yazılımlarla bir RFID okuyucu/yazıcıya dönüştürülebilmektedir.
1. Mifare Classic Tool (MCT)
Mifare Classic Tool (MCT), Android işletim sistemi üzerinde NFC arabirimini kullanarak MIFARE Classic mimarisine sahip kartların bellek bloklarına erişim sağlayan açık kaynaklı bir yazılımdır. Araç; kart içeriğinin okunması, dump dosyalarının kaydedilmesi ve magic kartlar üzerine veri aktarımı işlemlerini gerçekleştirir. Yazılım, açık kaynaklı olduğundan dolayı Google Play Store ve F-Droid gibi platformların yanı sıra GitHub üzerinden doğrudan APK olarak da temin edilebilmektedir.
Aşağıdaki görsellerde uygulamanın arayüzü ve Tools sekmesi görülmektedir:

Uygulama Ana Arayüzü
READ TAG ile tanımlı anahtar listelerini kullanarak şifreli sektörlerin okunmasını, WRITE TAG ile ise elde edilen verilerin hedef karta yazılmasını sağlar. Süreç boyunca EDIT/ANALYZE DUMP FILE üzerinden Hexadecimal veri analizi yapılabilirken, EDIT/ADD KEY FILE modülüyle yeni anahtar setleri sisteme dahil edilerek okuma başarısı artırılabilir.
Tools Bölümü
Arayüzde yer alan işlemleri ise veri dönüştürme ve hesaplama araçlarını barındıran TOOLS sekmesi destekler:
- Display Tag Info: Kartın üreticisini, ATQA, SAK parametrelerini ve donanımsal UID bilgilerini raporlar.
- Diff Tool (Compare Dumps): İki farklı kart dökümünü veya aynı kartın farklı zamanlardaki dökümlerini karşılaştırarak hangi sektörlerin değiştiğini (örneğin bakiye) tespit eder.
- Access Condition De-/Encoder: MIFARE sektörlerindeki Access Bits yapısını analiz eder ve hangi bloğun okunabilir, hangisinin sadece yazılabilir olduğunu görselleştirir.
- Value Block De-/Encoder: Cüzdan yapısındaki blokların Hex karşılıklarını tam sayı değerlerine dönüştürür.
- BCC Calculator: Sektör 0, Blok 0 yazımı için gereken Check Byte (BCC) değerini, UID üzerinden XOR işlemiyle hesaplar.
- Import/Export/Convert Files: Verileri Proxmark3 gibi cihazlarla uyumlu farklı formatlara (.mct, .bin, .json) dönüştürür.
1.Teknik Altyapı ve Ar-Ge Analizi
MIFARE Classic Bellek Mimarisi ve Erişim Denetimi
MIFARE Classic 1K kartlar, her biri 16 baytlık 4 bloktan oluşan 16 sektöre ayrılmış bir EEPROM yapısına sahiptir. Bu yapıdaki her sektör, bir birim gibi çalışır ve kendi güvenlik mekanizmasına sahiptir:
- Sektör 0, Blok 0 (Manufacturer Block): Kartın UID değeri ve üretim verileri burada saklanır. Standart kartlarda bu blok donanımsal olarak kilitlidir ve read-only yapıdadır.
- Veri Blokları: Her sektörün ilk üç bloğu (Sektör 0 hariç) kullanıcı verilerini saklamak için kullanılır.
- Sector Trailer : Her sektörün 4. bloğudur. İçerisinde iki adet 6-baytlık gizli anahtar (Key A ve Key B) ile 4-baytlık Access Bits bulunur.
Access Bits : Bu bitler, sektördeki blokların hangi anahtar ile okunabileceğini, yazılabileceğini veya artırılabileceğini (increment/decrement) belirleyen bir yetki matrisidir. Örneğin, FF 07 80 69 gibi yaygın bir dizilimde, her iki anahtarın da tam yetkili olduğu ve sektörün manipülasyona açık olduğu anlaşılır.
Gen1A vs Gen2 Magic Kartlar
Saha operasyonlarında bir Android telefonu klonlama cihazına dönüştüren temel unsur, kullanılan hedef kartın çip mimarisidir. Android işletim sistemi, standart NFC yongaları üzerinden donanımsal UID alanına (Blok 0) yazma komutu gönderilmesine izin vermez. Bu kısıtlamayı aşmak için iki farklı Magic Card geliştirilmiştir:
Gen1A (Backdoor Tag): Bu çalışmada tercih ettiğimiz kart tipidir. Gen1A kartlar, standart NFC komutları dışında özel bir backdoor komut dizisiyle Sektör 0’ı yazmaya açar. MCT bu komutları yazılımsal olarak simüle edebildiği için herhangi bir harici donanım (Proxmark3 gibi) gerekmeden telefondan klonlama yapılabilir.
Gen2 (CUID/Direct Write): Bu kartlar standart yazma komutlarıyla güncellenir. Ancak çoğu Android NFC yongası, sistem düzeyinde Blok 0’a yazma komutu göndermeyi engellediği için Gen2 kartlar genellikle telefon uygulamalarıyla klonlanamaz; bu işlem için Proxmark3 veya özel USB okuyucular gerekir.
3. Uygulama Süreci
Gereksinimler : NFC destekli Android telefon, MCT yazılımı ve Gen1A Magic Card.
Uygulama Adımları:
- Kart Okuma ve Dump Analizi Adımları:
- Uygulama içerisinde Read Tag seçeneği seçilmiştir.
- Hedef kart telefonun NFC antenine yaklaştırılmış ve uygun anahtar türü seçildikten sonra tüm sektörlerin okunması başlatılmıştır.
- Okuma işlemi sonunda, kartın içerisindeki tüm veri blokları Hexadecimal formatta elde edilmiştir ve klonlamada kullanılmak üzere dump dosyası olarak aşağıdaki gibi kaydedilmiştir:

Kartın okunması sonucu elde edilen dump içerisinde, MIFARE Classic 1K mimarisinin 16 sektöre yayılmış veri bloklarının Hexadecimal formatta sunulduğu görülmektedir. Sector 0 içerisinde yer alan mor renkli ilk satır, kartın donanımsal UID ve üretici bilgilerini içerirken; her sektörün son bloğu olan renkli kısımlar (yeşil ve turuncu), o sektöre erişim sağlayan Key A, Key B anahtarlarını ve erişim izinlerini (Access Conditions) temsil etmektedir. Diğer bloklarda yer alan “00” verileri ise kartın o bölümlerinin henüz bir veri kaydı için kullanılmadığını ve boş olduğunu göstermektedir.
2. Magic Karta Veri Aktarımı :
Okunan veriyi başka bir karta kopyalamak için, Sektör 0’ı yazılabilir olan özel UID Changeable / Magic karta ihtiyaç duyulur. Bu uygulamada High Frequency Gen1A 1K S50 UID Changeable Magic Card kullanılmıştır.
Yazma Süreci Adımları:
- HF Magic Kart, NFC ile telefona okutulurken uygulama ana ekranındaki WRITE TAG modülü seçilmiştir.
- Write Dump (Clone) seçeneği işaretlenerek, daha önce kaydedilen Dump dosyası seçilmiştir.
- Yazma işlemini başlatmadan önce Show Options menüsü altındaki parametreler yapılandırılmıştır:
- Advanced → Enable writing to manufacturer block: Bu seçenek, Magic kartın donanımsal arka kapısını kullanarak Sektör 0, Blok 0’a erişim sağlar. Eğer bu seçenek işaretlenmezse, kartın UID bilgisi değişmeyecek ve tam bir klonlama gerçekleşmeyecektir.
- Use these Access Conditions for all sectors: Eğer hedef kartın erişim izinleri orijinal dökümden farklıysa, tüm sektörlerin erişim bitlerini bu seçenekle senkronize etmek yazma başarısını artırır.
- Sektör Seçimi ve Uygulama: Yazılmak istenilen sektörler seçilerek işlem tamamlanmıştır. Klonlama doğruluğu için genellikle tüm sektörlerin seçilmesi tercih edilmiştir:

Yazma işlemi başlamadan önce, uygulamanın hedef kartın sektörlerine erişebilmesi için uygun anahtarları (key files) eşleştirmesi gerekir. Bu aşamada genellikle “std.keys” ve “extended-std.keys” gibi standart listeler seçilerek hedef kartın şifreli kapıları deneme yanılma yoluyla açılır. “START MAPPING AND WRITE DUMP” butonuna basıldığında, uygulama önce binlerce anahtarı tarayarak kartın yazılabilir olduğunu doğrular ve ardından veri bloklarını sırasıyla fiziksel çipe aktarmaya başlar. Yazma süreci bittiğinde, kartın yeni içeriği dump dosyasındaki verilerle senkronize edilmiş olur.

4. Doğrulama ve Cross-Check
Klonlama işlemi tamamlandıktan sonra, yeni üretilen fiziksel kopyanın orijinal kartla olan uyumluluğunu denetlemek amacıyla Flipper Zero aracı kullanılarak bir doğrulama testi gerçekleştirilmiştir. Yapılan analizde; kartın sadece UID (5E 36 3B 3D) bilgisinin değil, aynı zamanda ATQA (00 04) ve SAK (08) değerlerinin de orijinal kartla birebir örtüştüğünü görülmüştür:

