Tällä kertaa päähenkilönä on koulun köyhäiden vesikortti (kuumavesikortti)
Tarkistaessani NFC-puhelimeen asennettua MCT:tä (Mifare Classic Tool), vesikortti on todellakin Mifare Classic 1k -tyyppistä
Tässä halkeamassa käytetyt työkalut ovat: tietokone, ACR122U, NFC-toiminnolla varustettu matkapuhelin ja vesikortti
Ennen murtamista meidän täytyy rakentaa vastaava ympäristö tietokoneelle, ja sinun täytyy asentaa se koneelle. NET Farmwork 4 ja Java, lataa ja asenna se verkkoon, ja myöhemmin käytettävä ohjelmisto riippuu näistä kahdesta ajonaikaisesta kirjastosta.
Suoritusaikaisen asennuksen jälkeen sinun täytyy asentaa ACR122U-ajuri (artikkeli on liitteenä ohjelmistolinkkiin), ja jatkokehityksen helpottamiseksi asensin myös SDK:n.
Kun olet asentanut ajurin ja SDK:n, yhdistä ACR122U tietokoneeseen, niin laite toimii normaalisti. Laita vesikortti päälle, niin ACR122U-summeri soi ja LEDin väri muuttuu
Ohjelma, joka varmistaa haavoittuvuuksien hyväksikäytön, on mfoc, ja Windowsin versio mfoc:sta on nimeltään mfocgui, mutta mfocgui on hieman hankala opiskelijoille, jotka ovat uusia RFID-tietoturvassa, joten tällä kertaa se käyttää suoraan M1-korttipalveluohjelmaa (itse asiassa yksinkertaistettu versio mfocgui:sta).
Avaamisen jälkeen ohjelman käyttöliittymä on hyvin yksinkertainen, ja siinä on vain yksi painike, joka on aloittaa murtaminen. Olen nähnyt ACR122U kortinlukijalistalla, joten paina vain aloita cracking
Sitten odota, että ohjelma murtaa avaimen itse.
Ei mennyt kauaa, kun näki, että kaikki sektorit olivat täynnä ja haljenneita.
Kun murtaminen on onnistunut, juurihakemisto generoi tämän kortin dump-tiedoston, jonka koko on 1kb, ja koko kortti luetaan.
Kuitenkin mfoc toimi alun perin Linux-ympäristössä, eikä mfocgui:n Windowsille porttaama dump-tiedostoa voi käyttää suoraan, ja korjaustyökalu fixdump (download fixdump) tarvitaan korjaamaan 1kb dump-tiedosto 4kb dump-tiedostoksi.
fixdump on komentorivitoiminto, joka täytyy asentaa . NET Farmwork 4:n ajonaikainen kirjasto, jotta komentojen käyttö helpottuu, kopioimme dump-tiedoston fixdump-kansioon ja avaamme cmd:n korjataksemme sen. Komento on yksinkertainen, yksinkertaisesti "fixdump", ja generoitu tiedosto korvaa suoraan lähdetiedoston.
Kun korjaus on valmis, avaa se heksadesimaalieditorilla, kuten UltraEdit tai WinHex, ja näet dump-tiedoston tiedot.
Näetkö kuvan laatikossa kehystämäni datan? Tämä on korttisektorin ohjaussegmentti, jonka ensimmäiset 6 tavua ja viimeiset 6 tavua ovat tämän sektorin salasana, ja keskellä oleva FF078069 on ohjausbitti.
Kun tiesin salasanan, toin sen MCT:hen ja aloin lukea kortin tietoja.
MCT:n ja datan korostuksen ansiosta näemme selvästi, että neljässä sektorissa on kaksi riviä arvolohkoja, ja kortin nykyinen saldo on 32,31. Arvolohkon arvo käännetään kahdesti ja käännetään kerran, ja tallennetaan alimpaan osoitteeseen. Ensimmäisen arvolohkon, 0C9F, näkemisen jälkeen, koska tietokoneen data tallennetaan käänteisessä järjestyksessä, todellinen data on 9F0C, mikä on desimaalijärjestyksessä 3231. Keskiosan 60F3 on käänteinen, ja 60F3:n käänteinen järjestys on F360, joka on 1111001101100000 kun se käännetään, ja se on 0000110010011111 kun se käännetään, ja se on 3231, kun se muutetaan desimaaliksi. Viimeistä kappaletta, kuten ensimmäistäkin, ei ole otettu eikä säilytetty. Lopussa olevat 11 ja EE ovat osoitteita, jotka voi jättää huomiotta, kunhan osoitteet ovat myöhemmin johdonmukaisia. Tähän asti kortin data on murrettu, koska se ei ole ottanut salausta, nyt muutan kortin rahan arvoon 999,99 kokeillakseni, 999,99 yuania pitäisi olla desimaali 99999, heksadesimaali 01869F, käänteisen järjestyksen tulos on 9F8601, muut bitit lasketaan samalla periaatteella, tai voimme käyttää MCT:n omaa arvolohkolaskentatyökalua laskemiseen ja lopuksi laskea tuloksen alla olevan kuvan mukaisesti.
Kirjoita data kortille, nyt on aika siirtyä koneharjoituksiin.
|