Pentesting RFID
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Radio Frequency Identification (RFID) ni suluhisho maarufu la redio la umbali mfupi. Kwa kawaida hutumiwa kuhifadhi na kuhamasisha taarifa zinazotambulisha kitu.
Tag ya RFID inaweza kutegemea chanzo chake cha nguvu (active), kama betri iliyowekwa, au kupokea nguvu yake kutoka kwa antenna ya kusoma kwa kutumia sasa iliyosababishwa na mawimbi ya redio yaliyopokelewa (passive).
EPCglobal inagawanya tag za RFID katika makundi sita. Tag katika kila kundi ina uwezo wote ulioorodheshwa katika kundi la awali, hivyo kuifanya iweze kufanya kazi na tag za zamani.
Tag za Class 0 ni tag za passive zinazofanya kazi katika UHF bendi. Muuzaji anaziandaa kabla ya uzalishaji. Kama matokeo, huwezi kubadilisha taarifa zilizohifadhiwa katika kumbukumbu zao.
Tag za Class 1 pia zinaweza kufanya kazi katika HF bendi. Zaidi ya hayo, zinaweza kuandikwa mara moja tu baada ya uzalishaji. Tag nyingi za Class 1 zinaweza pia kushughulikia cyclic redundancy checks (CRCs) za amri wanazopokea. CRCs ni bytes chache za ziada mwishoni mwa amri kwa ajili ya kugundua makosa.
Tag za Class 2 zinaweza kuandikwa mara nyingi.
Tag za Class 3 zinaweza kuwa na sensors zilizowekwa ambazo zinaweza kurekodi vigezo vya mazingira, kama vile joto la sasa au mwendo wa tag. Tag hizi ni semi-passive, kwa sababu ingawa zina chanzo cha nguvu kilichowekwa, kama betri iliyounganishwa, hazina uwezo wa kuanzisha mawasiliano ya wireless na tag au wasomaji wengine.
Tag za Class 4 zinaweza kuanzisha mawasiliano na tag nyingine za kundi hilo, hivyo kuwa tag za active.
Tag za Class 5 zinaweza kutoa nishati kwa tag nyingine na kuwasiliana na makundi yote ya tag yaliyotangulia. Tag za Class 5 zinaweza kutenda kama wasomaji wa RFID.
Kumbukumbu ya tag ya RFID kwa kawaida huhifadhi aina nne za data: data ya utambulisho, ambayo inatambulisha kitu ambacho tag imeunganishwa (data hii inajumuisha maeneo yaliyowekwa na mtumiaji, kama vile akaunti za benki); data ya nyongeza, ambayo inatoa maelezo zaidi kuhusu kitu; data ya udhibiti, inayotumika kwa mipangilio ya ndani ya tag; na data ya mtengenezaji wa tag, ambayo ina Kitambulisho Maalum cha Tag (UID) na maelezo kuhusu uzalishaji, aina, na muuzaji wa tag. Utapata aina mbili za kwanza za data katika tag zote za kibiashara; mbili za mwisho zinaweza kutofautiana kulingana na muuzaji wa tag.
Standards ya ISO inabainisha thamani ya Kitambulisho cha Familia ya Maombi (AFI), msimbo unaoashiria aina ya kitu ambacho tag inahusiana nacho. Register nyingine muhimu, pia iliyoainishwa na ISO, ni Kitambulisho cha Muundo wa Hifadhi ya Data (DSFID), ambayo inafafanua mpangilio wa kimantiki wa data ya mtumiaji.
Mifumo mingi ya udhibiti wa usalama wa RFID ina mekanizimu ambazo zinapunguza operesheni za kusoma au kuandika kwenye kila kizuizi cha kumbukumbu ya mtumiaji na kwenye register maalum zinazoshikilia thamani za AFI na DSFID. Hizi mekanizimu za kufunga hutumia data iliyohifadhiwa katika kumbukumbu ya udhibiti na zina nywila za msingi zilizowekwa awali na muuzaji lakini zinawaruhusu wamiliki wa tag kuweka nywila za kawaida.
Tag za frequency ya chini mara nyingi hutumiwa katika mifumo ambayo hayahitaji usalama wa juu: ufikiaji wa majengo, funguo za intercom, kadi za uanachama wa gym, n.k. Kwa sababu ya upeo wao mkubwa, ni rahisi kutumia kwa maegesho ya magari ya kulipia: dereva hahitaji kuleta kadi karibu na msomaji, kwani inasababishwa kutoka mbali. Wakati huo huo, tag za frequency ya chini ni za msingi sana, zina kiwango cha chini cha uhamasishaji wa data. Kwa sababu hiyo, haiwezekani kutekeleza uhamasishaji wa data wa pande mbili wenye changamoto kama vile kudumisha salio na cryptography. Tag za frequency ya chini hutuma tu kitambulisho chao kifupi bila njia yoyote ya uthibitishaji.
Vifaa hivi vinategemea teknolojia ya passive RFID na vinafanya kazi katika kasi ya 30 kHz hadi 300 kHz, ingawa ni kawaida kutumia 125 kHz hadi 134 kHz:
Upeo Mrefu — frequency ya chini inamaanisha upeo mkubwa. Kuna wasomaji wa EM-Marin na HID, ambao hufanya kazi kutoka umbali wa hadi mita moja. Hizi hutumiwa mara nyingi katika maegesho ya magari.
Protokali ya Msingi — kutokana na kiwango cha chini cha uhamasishaji wa data, tag hizi zinaweza tu kutuma kitambulisho chao kifupi. Katika hali nyingi, data haithibitishwi na haijalindwa kwa njia yoyote. Mara tu kadi inapokuwa katika upeo wa msomaji, inaanza kutuma kitambulisho chake.
Usalama wa Chini — Kadi hizi zinaweza kunakiliwa kwa urahisi, au hata kusomwa kutoka mfukoni mwa mtu mwingine kutokana na msingi wa protokali.
Protokali maarufu za 125 kHz:
EM-Marin — EM4100, EM4102. Protokali maarufu zaidi katika CIS. Inaweza kusomwa kutoka takriban mita moja kwa sababu ya urahisi na uthabiti wake.
HID Prox II — protokali ya frequency ya chini iliyoanzishwa na HID Global. Protokali hii ni maarufu zaidi katika nchi za magharibi. Ni ngumu zaidi na kadi na wasomaji wa protokali hii ni ghali zaidi.
Indala — protokali ya zamani sana ya frequency ya chini ambayo ilianzishwa na Motorola, na baadaye kununuliwa na HID. Una uwezekano mdogo wa kuikuta katika mazingira ikilinganishwa na mbili zilizotangulia kwa sababu inatolewa nje ya matumizi.
Kwa kweli, kuna protokali nyingi zaidi za frequency ya chini. Lakini zote zinatumia moduli sawa kwenye tabaka la kimwili na zinaweza kuzingatiwa, kwa njia moja au nyingine, kama toleo la zile zilizoorodheshwa hapo juu.
You can attack these Tags with the Flipper Zero:
Tag za frequency ya juu hutumiwa kwa mwingiliano wa tag-msomaji wenye changamoto zaidi unapohitaji cryptography, uhamasishaji mkubwa wa data wa pande mbili, uthibitishaji, n.k. Kwa kawaida hupatikana katika kadi za benki, usafiri wa umma, na pasi nyingine za usalama.
Tag za frequency ya juu 13.56 MHz ni seti ya viwango na protokali. Kwa kawaida hujulikana kama NFC, lakini hiyo si sahihi kila wakati. Seti ya msingi ya protokali inayotumika kwenye ngazi za kimwili na kimantiki ni ISO 14443. Protokali za kiwango cha juu, pamoja na viwango mbadala (kama ISO 19092), zinategemea hiyo. Watu wengi hujulikana na teknolojia hii kama Mawasiliano ya Uwanja wa Karibu (NFC), neno linalotumika kwa vifaa vinavyofanya kazi kwenye frequency ya 13.56 MHz.
Kwa ufupi, usanifu wa NFC unafanya kazi kama ifuatavyo: protokali ya uhamasishaji inachaguliwa na kampuni inayotengeneza kadi na kutekelezwa kwa msingi wa ISO 14443 ya kiwango cha chini. Kwa mfano, NXP iligundua protokali yake ya uhamasishaji wa kiwango cha juu inayoitwa Mifare. Lakini kwenye kiwango cha chini, kadi za Mifare zinategemea kiwango cha ISO 14443-A.
Flipper inaweza kuingiliana na protokali ya kiwango cha chini ya ISO 14443, pamoja na protokali ya uhamasishaji wa data ya Mifare Ultralight na EMV inayotumika katika kadi za benki. Tunafanya kazi kuongeza msaada kwa Mifare Classic na NFC NDEF. Kuangalia kwa kina protokali na viwango vinavyounda NFC ni vyema kuwa na makala tofauti ambayo tunapanga kuwa nayo baadaye.
Kadi zote za frequency ya juu zinazotegemea kiwango cha ISO 14443-A zina Kitambulisho cha kipekee cha chip. Inafanya kazi kama nambari ya serial ya kadi, kama anwani ya MAC ya kadi ya mtandao. Kwa kawaida, UID ni byte 4 au 7 mrefu, lakini inaweza nadra kufikia hadi 10. UIDs si siri na zinaweza kusomwa kwa urahisi, wakati mwingine hata zimeandikwa kwenye kadi yenyewe.
Kuna mifumo mingi ya udhibiti wa ufikiaji inayotegemea UID ili kuhakiki na kutoa ufikiaji. Wakati mwingine hii inatokea hata wakati tag za RFID zinasaidia cryptography. Matumizi mabaya kama haya yanazifanya kuwa sawa na kadi za 125 kHz zisizo na akili katika suala la usalama. Kadi za virtual (kama Apple Pay) hutumia UID ya dinamik ili wamiliki wa simu wasifungue milango kwa kutumia programu yao ya malipo.
Upeo wa chini — kadi za frequency ya juu zimeundwa mahsusi ili ziweze kuwekwa karibu na msomaji. Hii pia husaidia kulinda kadi kutokana na mwingiliano usioidhinishwa. Upeo wa kusoma ambao tumefanikiwa kuupata ulikuwa takriban sentimita 15, na hiyo ilikuwa na wasomaji wa upeo wa juu waliotengenezwa kwa kawaida.
Protokali za Juu — kasi za uhamasishaji wa data hadi 424 kbps zinaruhusu protokali ngumu zenye uhamasishaji wa data wa pande mbili. Ambayo kwa upande wake inaruhusu cryptography, uhamasishaji wa data, n.k.
Usalama wa Juu — kadi za frequency ya juu zisizo na mawasiliano hazina kasoro ikilinganishwa na kadi za smart. Kuna kadi zinazosaidia algorithimu zenye nguvu za cryptography kama AES na kutekeleza cryptography isiyo ya kawaida.
You can attack these Tags with the Flipper Zero:
Or using the proxmark:
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)