Żądny wiedzy? Wbijaj na Mega Sekurak Hacking Party w maju! -30% z kodem: majearly

Odczytywanie danych zapisanych na zbliżeniowych kartach płatniczych

16 lutego 2017, 20:10 | Narzędzia, Teksty | komentarzy 19

Czy wiecie, jak w prosty sposób odczytać dane z Waszej karty płatniczej? Zapewne tak, ponieważ od kilku lat wystarczy do tego zwykły telefon z czytnikiem NFC. Na rynku możemy wybierać spośród wielu aplikacji na różne platformy, które oferują taką możliwość.

Dzisiaj porównamy, które z nich sprawdzają się najlepiej :-)

Warto dodać, abyście uważali przy korzystaniu z aplikacji tego typu (tym bardziej, jeżeli będziecie instalować je z niezaufanego źródła) i testowali wyłącznie już nieważne karty płatnicze np. na emulatorze Androida (w kontrolowanym środowisku).
  1. Banking Card Reader (bezpłatna)

Dostępne pozycje:

  • Numer karty
  • Data ważności karty
  • AID karty
  • Nazwa aplikacji
  • Typ karty
  • Pozostało prób PIN
  • Lista transakcji
  • Log i Dziennik (wersja bezpłatna przedstawia dane w postaci zakodowanej)

  

Do pobrania: https://play.google.com/store/apps/details?id=com.github.devnied.emvnfccard

Kod źródłowy: https://github.com/devnied/EMV-NFC-Paycard-Enrollment

  1. Banking Card Reader Pro (płatna)

Dostępne pozycje:

  • Numer karty
  • Data ważności karty
  • AID karty
  • Nazwa aplikacji
  • Liczba aplikacji
  • Wystawca karty
  • Dostępne usługi
  • Typ karty
  • Liczba transakcji
  • Pozostało prób PIN
  • Lista transakcji
  • Log i Dziennik

 

Do pobrania: https://play.google.com/store/apps/details?id=com.github.devnied.emvnfccard.pro

  1. Card Test (bezpłatna)

Dostępne pozycje:

  • Numer karty
  • Data ważności karty
  • Nazwa aplikacji
  • Typ karty
  • Kod kraju wystawcy
  • Nazwa/Imię i nazwisko właściciela karty
  • Klucz publiczny wystawcy (certyfikat)
  • Klucz publiczny ICC (certyfikat)
  • Główny numer konta
  • i wiele innych…

Do pobrania: https://play.google.com/store/apps/details?id=com.samj.CardTest

  1. CreditCard NFC Reader (bezpłatna)

Dostępne pozycje:

  • Numer karty
  • Data ważności karty

Do pobrania: https://play.google.com/store/apps/details?id=com.pro100svitlo.nfccardread

  1. NFC Smart Card Info (bezpłatna)

Dostępne pozycje:

  • Identyfikator tagu
  • Lista dostępnych aplikacji
  • Dane historyczne
  • i parę innych ciekawych informacji…

Do pobrania: https://play.google.com/store/apps/details?id=com.inoapp.cardinfo

  1. Smart Card Toolkit (bezpłatna)

Dostępne pozycje:

  • AID karty
  • Nazwa aplikacji
  • Nazwa/Imię i nazwisko właściciela karty
  • Kod kraju wystawcy
  • Ciekawy log z wyjaśnieniami
  • i wiele innych…

Do pobrania: https://play.google.com/store/apps/details?id=sasc.android.smartcard

  1. Bankomat Card Infos 2 (bezpłatna)

Dostępne pozycje:

  • Numer karty
  • Data ważności karty
  • Typ karty
  • Pozostało prób PIN
  • Lista transakcji
  • Licznik transakcji
  • Identyfikator tagu
  • Dane CPLC (Card Production Life Cycle):
    • IC Fabricator
    • IC Type
    • Operating System
    • Operating System Release Date
    • Operating System Release Level
    • IC Fabricator Date
    • IC Serial Number
    • IC Batch Identifier
    • IC ModuleFabricator
    • IC ModulePacking Date
    • ICC Manufacturer
    • IC Embedding Date
    • Prepersonalizer Identifier
    • Prepersonalization Date
    • Prepersonalization Equipment
    • Personalizer Identifier
    • Personalization Date
    • Personalization Equipment
  • Unikalny identyfikator karty
  • i wiele innych…

Do pobrania: https://play.google.com/store/apps/details?id=at.zweng.bankomatinfos2

Kod źródłowy: https://github.com/johnzweng/bankomatinfos

  1. EMV Card Reader (bezpłatna)

Dostępne pozycje:

  • Numer karty
  • Data ważności karty
  • AID karty
  • Lista funkcji wpieranych przez kartę
  • Log APDU (Application Protocol Data Unit)

Do pobrania: https://play.google.com/store/apps/details?id=com.charm.android.nfc_emv_card_info

Podsumowanie

Analiza czynności wykonywanych przez różne aplikacje pozwala odkryć wiele „ciekawostek”. Z logów ich działania możemy dowiedzieć się, że np. w celu sprawdzenia producenta karty wysyłany jest AID (Application Identifier). Jeżeli aplikacja na telefonie dostanie poprawną odpowiedź, to na tej podstawie przypisuje producenta. Listę AID kart znajdziecie np. tutaj: https://www.eftlab.co.uk/index.php/site-map/knowledge-base/211-emv-aid-rid-pix.

Pomocna w powyższych testach może się również okazać aplikacja EMVTags, która dokładnie wyjaśni nam znaczenie danego tagu oraz inne elementy, takie jak jego format czy długość.

Jak pewnie zauważyliście, część aplikacji nie jest przeznaczona bezpośrednio do kart płatniczych, ale je również warto poddać próbie. Ponadto pamiętajcie, że w zależności od banku i typu karty przedstawione wyniki mogą się bardzo różnić.

W ramach ciekawostki – czy Wasza karta płatnicza pokazuje historię listy transakcji…? :-)

Dodatkowe linki

— Artur Czyż, konsultant d/s bezpieczeństwa IT & pentester w Securitum.

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

  1. b

    czy ktos zweryfikowal bezpieczenstwo wymienionych aplikacji przed ich poleceniem?

    Odpowiedz
    • w65

      ^up
      A przeczytałeś przedostatni akapit?

      Odpowiedz
    • Xyzz

      Dwie aplikacje mają otwarty kod (i tak bym nie do końca ufał gotowym paczkom)… Reszta to jedna wielka niespodzianka.

      Odpowiedz
    • My ich nie polecamy – tylko pokazujemy że coś takiego jest. Jakbyśmy mieli sprawdzić cały soft który linkujemy to można by zwariować. W tekście jest też warning.

      Odpowiedz
  2. Oskar

    Dlaczego nie tabelka? W takiej formie to równie dobrze moglibyście poprostu wypisać nazwy aplikacji…

    Zamiast przewijania kilku ekranów wystarczyłby rzut okiem na tabelkę.

    Odpowiedz
    • Masz kilka ekranów? ;o)

      Odpowiedz
    • Krzysztof Kozłowski

      Widać autor dba o rozwój czytelnictwa w Polsce. Co więcej kieruje swe teksty do od lat raczej do tej myślącej części społeczeństwa dla której przeczytanie kilkunastu linijek tekstu nie stanowi problemu.

      Ostatnio analfabetyzm tak galopuje że jak się napisze 5 linijek tekstu to się dostaje info że tego się czytać nie da tak tego dużo….

      Odpowiedz
      • Jak ktoś nie używa przecinków, jak Ty teraz, to długie teksty czyta się naprawdę bardzo ciężko. Pomijam już literówki i całkowicie zagubione słowa, czasem ciężko się domyśleć o co autorowi chodziło.

        Osobiście też od niedawna zacząłem dbać o swój czas, przez co gdy w trakcie pierwszych kilku linii czyjegoś komentarza zapala mi się lampka „bełkot”, to dalej takiego komentarza nie czytam i przeskakuję do kolejnego.

        Jak chodzi zaś o Sekuraka i ich wpisy – jedne są pełnymi artykułami, które aż miło się czyta, a inne faktycznie mógłby zastąpić odsyłacz do źródła. Ja rozumiem, że ze srajfona ciężko napisać artykuł, lecz to się trochę powinno opierać IMHO o szacunek dla stałych czytelników – niestety poruszony tu kiedyś temat skwitowano „jak się nie podoba to [bajka o wężu]”, i to by było na tyle w kwestii szacunku. Niestety to nie jedyne miejsce w sieci z takim podejściem.

        Odpowiedz
  3. Krzysztof Kozłowski

    Ciekawe czy skipassy takie cudo zaczyta i poda kiedy się kończy czas…
    Na niektórych stokach nie am jak tego sprawdzić co bywa denerwujące.

    Odpowiedz
    • Dziadek Tomisław

      Pytanie,czy nie dałoby się sklonować modyfikując np typ karnetu ;)

      Odpowiedz
      • Krzysztof Kozłowski

        Na szybko po sprawdzeniu co gada karta to wiem czym sie różni ulgowy od zwykłego na jednym ze stoków . Reszta danych nie jest oczywista a ja jestem chyba już za leniwy
        Ale może spróbuje ogarnąć programy do tej zabawy żeby wiedzieć co i jak.

        Odpowiedz
  4. Marcin

    Witam
    Mam pytanie co do tego.
    Czy karty płatnicze są w typu Mifare1K czy 4K?
    Jeżeli to są karty Mifare któregoś z powyższych typów, to przecież każdy sektor jest zabezpieczony dwoma kluczami A i B (mogą być różne dla sektora), bez znajomości klucza nie odczytam zawartych tam danych .
    Reasumując, czy dane odczytywane przez te programy są w sektorach chronionych przez klucze „domyślne” (000000000000 lub FFFFFFFFFFFF) i przez to możliwe do odczytu (przez każdego)?

    Odpowiedz
    • Mikiw

      dokładnie chciałem zapytać o to samo…

      Odpowiedz
    • MG

      Karty płatnicze działają w asynchronicznym ISO14443 – inaczej niż Mifare. Nie oznacza to, że karty płatnicze nie mogą zawierać jednocześnie części Mifare’owej, ale jest ona niezależna i nie wpływa na bezpieczeństwo danych płatniczych

      Odpowiedz
  5. MG

    Pisałem sobie taki programik w 2007 roku. Niepraktyczność tych tutaj polega na tym, że dla interfejsów stykowych i zbliżeniowych karty udostępniają zupełnie inne dane (np. na interfejsie zbliżeniowym zabronione jest udostępnianie imienia i nazwiska posiadacza karty) i wiele rzeczy jest zwyczajnie niedostępnych.
    No i wciąż brakuje paru rzeczy w tych implementacjach. W tej pierwszej w źródłach widzę, że odczyt qVSDC jest raczej przeciętny i na przykład nie uwzględnia możliwości odpowiedzi z trackiem i AFLem jednocześnie. Można zrobić jeszcze czytanie trochę dodatkowych danych niedostępnych przez Read Recordy.
    W żadnej nie widziałem kluczy publicznych CA, a bez tego nie ma opcji odzyskać kluczy publicznych wydawcy i karty z zaszyfrowanych certyfikatów.

    Ogólnie, ciekawe do zabawy, ale chyba raczej dla większości ludzi niewiele więcej niż odczyt numeru karty + logu w miarę możliwości.

    Odpowiedz
    • KB

      Też masz wymagania ;) Po co zwykłym śmiertelnikom CAPKi.

      Do celów do jakich zostały stworzone (-> tj. do zabawy) te aplikacyjki wystarczą. No, powiedzmy – bo np. Bankomat Card Infos 2 (sam autor tego nie ukrywa) jest ograniczony do paru AID – ale źródła są, można go sobie ulepszyć.

      Ja bym się przyczpił do ściągania PTC po interfejsie zbliżeniowym – potem ludzie się będą upierać, że „PIN mają na karcie zbliżeniowej” bo akurat ich karta na bezstyku udostępnia PTC ze styku.

      Cardholder Name też czasem się da wyciągnąć – cóż, teoria teorią a praktyka praktyką…

      Odpowiedz
    • Tomek

      Ciekawe. Ostatnio placilem gdzies w Niemczech polska karta i normalnie na terminalu pokazalo mi moje imie i nazwisko.

      Odpowiedz
  6. Sebastian

    Stare karty paypass umożliwiały odczyt listy transakcji, tzn kwoty.

    Odpowiedz
  7. 2097

    Trochę się zawiodłem na tym artykule. Dlaczego? w przypadku EMV warto napisac o RFIDIOt czy wykorzystaniu ACR122U lub Samasunga Galaxy S3, dopisalbym jeszcze informacje o tym jak z nfc zrobic magnetyka, w jaki sposob nfc jest kontrolowany przez aplikacje i jak dziala, jak zachowa sie HCE itp itd.. Oj sekurak szkoda :(

    Odpowiedz

Odpowiedz