Vinnaren i pepparkakshustävlingen!
2021-02-11, 16:38
  #1
Medlem
nucces avatar
Jag åker med SL dagligen och tänkte att det skulle vara kul att undersöka hur deras access-kort fungerar och om en kan ta sig runt det skyddet på något sätt. Efter lång och ordentlig utredning så har jag kommit fram till en hel del resultat som jag tänkte att det kan vara kul för allmänheten att läsa. Speciellt eftersom de sagt att MiFare-classic-korten kommer försvinna "snart" [Källa: https://sl.se/biljetter/res-med-beta...n-finnas-kvar/ ]

OBS! Om någon från SL läser detta så har jag betalt för alla mina resor medan denna utredning pågick.

Detta kommer bli en lång tråd och en ren braindump från mig men TL;DR är att säkerheten på SLs access-kort är helt klart godkänd trots vad som sägs i t.ex. https://www.expressen.se/dinapengar/...ona-sl-korten/ och https://techworld.idg.se/2.2524/1.50...-korten-osakra

Bakgrund: SL kör med RFID-kort av typen MiFare Classic 4K. De kryptonycklar som behövs för att läsa och skriva korten finns sedan lång tid ute på internet. Det räknade jag inte ens som en säkerhetsmekanism utan använde helt enkelt de som finns bara en googling bort.
För SL finns det minst 5 viktiga ställen där ens kort blippas (det finns fler men de går alla att jämföra situationen med vad som anges här). Det är:
1. Spärren, det vanligaste hindret för att komma in i tunnelbanan. Också det som är lättast att ta sig förbi utan större problem. (Gå bakom någon, klättra över o.s.v https://planka.nu/plankning/stockholm/ har en lång lista på sätt.)
2. Laddstationen utanför spärrarna där en kan se info om sitt kort och ladda på.
3. Spärrvakten. Oftast en uttråkad stackars människa som gärna pratar en stund om en är trevlig. Här fick jag via Social Engineering ut en hel del info som kan vara svår att hitta någon annanstans.
4. Busschaffören. Liknande en kontrollant så sitter busschaffören när där en blippar och om du smiter förbi eller om kortet kommer upp som spärrat så kan det bli en jobbig situation.
5. Kontrollanterna. Dessa har som uppgift att undersöka huruvida en har betalt för sig. De har koll på dig och om du försöker med något så är de med på det. Klart värsta hindret i hela min undersökning.

Så här förberedde jag mig: Jag skaffde mig en Samsung Galaxy S5 vilket är känd för att fungera med just MiFareClassic. På den installerade jag fölkjande appar: MIFARE CLassic Tool (MCT), NXP Taginfo, RKFRead samt Ressaldo. Jag testade många andra appar men dessa var de jag hade användning av. Jag köpte "många" SL-kort laddade med en enkelbiljett (kontant såklart). Jag införskaffade så mycket dokumentation jag kunde om de områden som kunde vara intressanta såsom de specar som Resekortsföreningen tog fram för lokaltrafiken för Sverige, Norge och Danmark. Sist men inte minst så köpte jag speciell hårdvara (en Chameleon Tiny Pro: https://chameleontiny.com/product/ch...ith-bluetooth/ ).

Med allt detta kunde jag läsa och skriva access-korten. (Inte de första 16 bytsen då de är readonly från tillverkaren) Jag kunde lägga in dumparna jag hade på min TINY och blippa med dem. Jag dumpade mina vänners kort. Med detta så skrev jag en parser för korten. Jag parsar inte hela korten utan endast det viktigaste (ur mitt perspektiv) för att kunna förstå hur korten är uppbyggda.

Utan att gå in i detaljer (det kan jag göra en annan någon om någon är intressarad) så har korten ett unik ID-nummer som kallas UID. Detta är de första 4 bytesen på korten. Vanligtvis är de readonly men med min TINY kunde jag skriva vad jag ville där. Efter det så är det lite information om när kortet köptes, vilken utgivare som är ansvarig (SL i mitt fall), vilken valuta som kortet har och lite annat smått och gott. Det som stoppade mig var de sista 2 bytesen i TCCIn: Message Authentication Code. Om jag jämförde de kort jag köpt med enkelbiljetter så var det "endast" 8 x 2 bytes som skiljde sig. Alltså på 8 platser var det 2 bytes som var olika. Jag gissade först att det var en CRC16 med custom värden då NXP (de som gör korten) är kända för att ha implementerat CRC8 med "ej standardiserade värden" [ http://forums.nfc-tools.org/topic/12...ctory-mad-crc/ ] så jag försökte med RevEng att knäcka en CRC16 men där hade jag ingen tur. Om en plöjer alla specar på så finns det faktiskt ett stycke om DES-MAC (vilket vanligtvis är 8 bytes) men där RKF godkänner en 2 bytes MAC!

Efter lite läsande så förstår jag att det som går in i DES-MACen är UID + Sector ID + "type of entry" (den jag jobbade med var TCCI). Shit...

Jag kollade runt och insåg att det går att bruteforca DES t.ex. med hjälp från https://crack.sh/ men det skulle öppna upp en hel can of worms. OM (big IF) jag skulle knäcka de DES-nycklar som används så skulle SL i sina spärrar se att "du... det här kortnumret är inget vi sålt, men den har en ok MAC... Det betyder att våra nycklar är röjda!" och sedan skulle de byta nycklar (Det finns stöd för det då en del av det som signeras är just key-id som de bara ökar med 1 och sedan byter de alla nycklarna)

Ok, det är svårt (om ens möjligt) att knäcka MAC-nycklarna. Vad har jag för alternativ? Jag kom på att det går kanske att klona ett kort helt och hållet och vara 2 personer som åker på det. Det är 2 problem med det som jag kom på direkt.
1. Om vi råkar åka inom 75 min från varandra så syns det i loggarna eftersom det skrivs en biljett på kortet. Om det saknas när jag blippar klonen så syns detta i SLs loggar.
2. Det loggas en historik på kortet. Om den helt plötsligt går isär så kan SL se i loggarna att här har kortet blivit 2 kort.

Jag testade även att blippa med min TINY men jag upptäckte att i spärrarna gick det bra (de har bara 500ms på sig att göra allt) medans laddstationerna på väggen och kontrollanternas blippare INTE godkände min TINY. Efter vidare undersökning visade det sig att TINY inte emulerar MIFARE-korten fullt ut. Det går t.ex. att verifiera med appen NXP Taginfo.

En kul detalj jag upptäckte var hur SL implementerat en snabb men effektiv blacklist-check i spärrarna som dessutom upptäcker tredjepartshårdvara.
Det fungerar så att de flesta som fulåker gör det genom att köpa ett kort, klona det och efter resan skriva tillbaka kortet som det var innan blippningen. Detta funkar bra i ungefär 1 månad (de verkar pusha ut listorna så ofta) men när de upptäcker i sina loggar att du fulåker så hamnar ditt kortnummer på "to be burned"-lista. När du blippar ditt access-kort så brickar de sitt kort. Det går inte på något sätt att få tillbaka. Men eftersom det kortet nu är borta så skickas det hem till SL att "Jag har nu brickat kort nr 123456" och det kortnumret tas bort ut "to be burned"-listan. Denna lista hålls således kort och går snabbt att slå i. Efter ungefär 1 månad till så får spärrarna nya listor och denna gången är ditt kortnummer inte med i "to be burned" eftersom det redan har blivit brickat. Så det går att åka en 3:e gång! (om en har speciell hårdvara som jag har) men när det sedan gått ytterligare en månad så ser SL att "Duuu... detta kortet har vi bränt, men det kom IGEN! Denna lurifaxen har köpt speciell hårdvara, nu blir det blacklist!" och ditt kortnummer hamnar i en blacklist. På detta sättet är listan på "to be burned" och blacklistan kort och snabba att slå i.

Jag har redan tappat bort mig i allt jag skrivit och gjort men om någon har några frågor så besvarar jag dem gärna i mån om tid.
Citera
2021-02-12, 12:01
  #2
Medlem
Inget att tillägga mer än ett massivt tack för din information. Du är långt före mig i knäckandet av SL-kort
Citera
2022-09-01, 09:43
  #3
Medlem
Citat:
Ursprungligen postat av nucce
Bakgrund: SL kör med RFID-kort av typen MiFare Classic 4K.

Superkul info men vad gäller för de nya gröna korten? Hörde att de eventuellt bytt kortstandard nu?
Citera
2022-09-04, 08:51
  #4
Medlem
Om nån annan som läser tråden vill få en nybörjarvänlig guide på hur man kan börja leka med SL-korten. Funkar på de blåa korten, har inte testat de gröna.

Köp hem billiga kort, ex. https://www.aliexpress.com/item/32360177451.html
Du behöver även denna https://chipster.se/produkt/acr122u-nfc-lasare/
Ladda hem http://web.archive.org/web/202101230...en1_tools.zip/

Videoguide på det hela https://www.youtube.com/watch?v=sY4Zjqe5trQ

"Knäck SL-kortet" på läsaren, dumpa ut datan, skriv till valfria kort
Citera
2022-09-04, 09:38
  #5
Avstängd
PalmeKillers avatar
Med tanke på att Blåa kortet snart är historia, så är det meninglöst.

Citat:
Ursprungligen postat av omxs
Om nån annan som läser tråden vill få en nybörjarvänlig guide på hur man kan börja leka med SL-korten. Funkar på de blåa korten, har inte testat de gröna.

Köp hem billiga kort, ex. https://www.aliexpress.com/item/32360177451.html
Du behöver även denna https://chipster.se/produkt/acr122u-nfc-lasare/
Ladda hem http://web.archive.org/web/202101230...en1_tools.zip/

Videoguide på det hela https://www.youtube.com/watch?v=sY4Zjqe5trQ

"Knäck SL-kortet" på läsaren, dumpa ut datan, skriv till valfria kort
Citera
2022-09-04, 12:15
  #6
Medlem
Citat:
Ursprungligen postat av PalmeKiller
Med tanke på att Blåa kortet snart är historia, så är det meninglöst.

Ja, enda sättet att åka på ett blått kort då blir att vara en pensionär och stå och gorma till busschauffören att "det är banditfasoner att inte få åka på något man betalat för med sina med sitt anletes svett surt förvärvade slantar!!!" - Såg det göras med en remsa (!!!) förra året, gubben fick åka!

De nya gröna korten har biljettinformationen lagrad som databas på Internet så verifikationen går inte längre att hacka på detta sätt. Mifare gjordes för en tid Internetuppkoppling inte var lika tillförlitligt och man inte riktigt kunde förlita sig på det i en buss utanför Söderhall men det är nu förlegat.
Citera
2022-09-04, 13:59
  #7
Avstängd
PalmeKillers avatar
Citat:
Ursprungligen postat av Dryckeshorn
Ja, enda sättet att åka på ett blått kort då blir att vara en pensionär och stå och gorma till busschauffören att "det är banditfasoner att inte få åka på något man betalat för med sina med sitt anletes svett surt förvärvade slantar!!!" - Såg det göras med en remsa (!!!) förra året, gubben fick åka!

De nya gröna korten har biljettinformationen lagrad som databas på Internet så verifikationen går inte längre att hacka på detta sätt. Mifare gjordes för en tid Internetuppkoppling inte var lika tillförlitligt och man inte riktigt kunde förlita sig på det i en buss utanför Söderhall men det är nu förlegat.

Du kan vara hotten tott och dra rasistkortet, då öppnas alla dörrar på SL.
Citera
2022-09-04, 21:03
  #8
Medlem
Citat:
Ursprungligen postat av PalmeKiller
Med tanke på att Blåa kortet snart är historia, så är det meninglöst.

De gäller till mars 2023.
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback