creativiteit met c5sed - hacking bankkaarten

CREATIVITEIT met c5sed
Hacking bankkaarten

Hoe zit de beveiliging in elkaar?

Het gebruik van een kredietkaart wordt langs alle kanten aangemoedigd. De overheid kan feilloos alle geldsporen in kaart brengen, de banken hebben veel minder dure geldautomaten nodig en de consumenten spenderen meer omdat ze niet het gevoel hebben dat er iets verdwijnt. Ze kunnen zelfs meer uitgeven dan ze bezitten. Iedereen wordt blijer als de vieze bankbiljetten verdwijnen.

Maar zijn deze plastiek kaarten met een platte chip wel zo veilig?

Iedere belanghebbende beweert van wel. Je hoort wel eens van die phishing verhalen waarbij geniepige oplichters de pincode van gebruikers proberen buit te maken maar in elk van die verhalen zit tussen de lijnen dezelfde moraal verweven, je bent een domoor als je pincode aan andere doorgeeft!

Algemeen geadviseerd besluit, voor wie zijn pincode goed weet te bewaren, zijn kredietkaarten veilig!

Eens heel interessant om dit in een c5sed dimensie te onderzoeken. Is er een strategie om deze kredietkaarten te hacken?

Om een strategie voor het hacken te ontwikkelen moet je natuurlijk eerst begrijpen hoe de beveiliging in elkaar zit.

Alles draait om encryptie. Je kent dat wel, encryptie is niets anders dan een algoritme (wiskundige bewerking) dat wordt losgelaten op een boodschap zodat deze onleesbaar wordt. Deze algoritmen maken gebruik van een geheime sleutel om de encryptie uit te voeren.

Een eenvoudig voorbeeldje,

Elk letter in het alfabet heeft een volgnummer. A is de eerst letter, B is de tweede letter. Om een boodschap te coderen kun je een vast getal bij optellen. Stel dat je voor een vast getal 3 kiest, je wilt de letter A coderen dat tel je bij de A met volgnummer 1, 3 bij en krijg je het nummer 4. Dan ga je kijken welke letter bij het volgnummer 4 hoort en dit is de letter D. Dus wanneer je A codeert dan krijg je de letter D. Doe je dit met elke letter in je boodschap dan is je boodschap onleesbaar.

Nu plakken we er wat naampjes op,

- Het optellen van een vast getal bij het volgnummer noemen we het algoritme.

- Het vast getal 3 is onze geheime sleutel.

Wie de boodschap onderschept zal eventjes moeten zoeken naar het algoritme en de geheime sleutel om de boodschap te ontcijferen.

In de praktijk is het algoritme meestal gekend en goed gedocumenteerd. Men heeft een hele reeks algoritmen bedacht om boodschappen te versleutelen.

Het bovenstaande algoritmen noemt men een symmetrisch encryptie algoritme. Eenvoudig voor de niet nerds betekent dit dat je eenzelfde sleutel gebruikt om de boodschap te coderen en te decoderen. In de praktijk betekent dit dat de ontvanger op voorhand op de hoogte moet zijn van de geheime sleutel wat een zeer beperkende factor is voor het internet.

Een aantal genieën hebben hiervoor een oplossing gevonden door een algoritme te ontwerpen met 2 sleutels. Een sleutel om de boodschap te coderen en een andere sleutel om de boodschap te decoderen. Dit zijn de zogenaamde asymmetrische algoritmen.

In de praktijk worden deze sleutel aangeduid met een publieke en een privé sleutel. Met de publieke sleutel codeer je het bericht en met de privé sleutel kun je het opnieuw leesbaar maken.

Dus als je over het internet gevoelige informatie wil versturen zoals je bankrekeningnummer, naam... via een website dan krijg je van die website over het internet een publieke sleutel toegestuurd. Een sleutel die niet geheim is en iedereen mag kennen.

Je webbrowser gebruikt deze sleutel om al je informatie te coderen en dan door te sturen naar de website.

Enkel de website kan nu deze boodschap ontcijferen met de privé sleutel die enkel zij in hun bezit hebben en enkel door hen is gekend. Iemand die voor je deur een putje heeft gegraven en je internet kabel zit af te luisteren kan de boodschap niet ontcijferen. Hij kan perfect in het bezit geraken van de publieke sleutel net als jij maar hij kan de boodschap hiermee niet ontcijferen.

Dus wanneer je inlogt op de website van een bank dan wordt op deze manier je gegevens die je op de website invult beveiligd.

Nu een volgende stap van de beveiliging is de identificatie van de gebruiker. Iedereen kan een gestolen bankrekeningnummer invullen en een opdracht geven voor een betaling uit te voeren. Hoe weet de bank of zij te doen hebben met de echte eigenaar of een gevolmachtigde echtgeno(o)t(e)?

Wanneer je de rekeningnummer en het bedrag van de overschrijving hebt ingevuld op de website moet je deze digitaal ondertekenen zodanig de bank weet dat jij het wel degelijk bent.

Hiervoor wordt de bankkaart met een digipass van de bank voor gebruikt. Op de kaart bevindt zich een persoonlijke geheime sleutel die je kunt ontgrendelen door je pincode in de digipass te geven. De bank stuurt je via de website een getal (challenge)) op dat is samengesteld met informatie uit de bankrekeningnummer en het bedrag dat je wilt overschrijven.

Wanneer je dit getal ingeeft in de digipass dan berekent deze met behulp van je geheime sleutel en de ogenblikkelijke tijd een respons die je moet terugsturen. De computer van de bank heeft ook jouw geheime sleutel en een synchrone tijd waarmee ze een zelfde berekening doet en de uitkomst vergelijkt wat met jij hebt doorgestuurd. Zijn beide het zelfde dan wordt de overschrijving uitgevoerd.

Klinkt heel veilig...

-> Je gegevens die je doorstuurt naar de bank worden gecodeerd door een publieke sleutel van de website van de bank.

-> Elke verrichting moet je ondertekenen met uitwisseling van een responscode.

Door heel dit mechanisme eens in mijn c5sed dimensie te gooien komt het volgende zwak punt in dit mechanisme naar boven.

Je bent niet zeker van wat je als gebruiker intikt op je pc en op het scherm ziet verschijnen ook werkelijk die gegevens zijn die naar de bank worden gestuurd.

Stap I

Hackers zouden een virus of malware kunnen ontwikkelen die deze gegevens op je pc aanpassen zonder dat je weet.

Je tikt de rekeningnummer in van de overschrijving, je ziet deze op het scherm verschijnen maar de malware op je pc zorgt ervoor dat een andere rekeningnummer wordt doorgegeven. Hetzelfde met het bedrag.

Jij geeft 50 euro in, de malware vervangt deze door 10000 euro. De bank stuurt een challenge die jij in je digipass invult en de respons terugstuurt. Op deze manier onderteken je zelf de frauduleuze overschrijving en ben jij dit bedrag voorgoed kwijt.

Als malware kan de hacker de software van een bestaande brouwser aanpassen en deze dan als malware op de pc van het slachtoffer laten installeren. De aangepaste browser doet precies hetzelfde als een normale browser maar wanneer je naar een gekende website van een bank surft, komt deze in actie en voert de nodige vervangingen uit.

Een andere methode is knoeien met de DNS settings van je pc. Wanneer je een webadres invult dan moet dit worden omgezet in een ip adres. Hiervoor stuurt je pc een request naar de DNS-server, de locatie staat geconfigureerd in je pc.

Wanneer de hacker deze configuratie naar een fake DNS-server kan configureren dan kan je doorgewezen worden naar een fake website die identiek oogt aan de website van de bank maar volledig onder controle valt van de hacker.

Een koud kunstje om dan de gegevens aan te passen en dan door te sturen naar de bank en daarna de valse overschrijving te laten ondertekenen.

Stap II

Nu de malware nog op de pc van het slachtoffer installeren of de pc settings aanpassen. Ik zoek enkele basisbegrippen uit social engineering op, gooi deze in mijn c5sed dimensie en kijk hoe we deze op een creatieve manier kunnen misbruiken.

Door creatief om te gaan met enkele basisbegrippen kun je deze eindeloos gaan combineren, integreren en toepassen in nieuwe strategieën.

Hoe kun je iemand iets laten uitvoeren zonder dat de alarmbellen afgaan?

Als je iemand opbelt met enkel een goed verhaaltje dan is die persoon steeds op zijn hoede en niet meteen bereidt om iets uit te voeren of je informatie te geven. Het wordt totaal anders wanneer je werkt vanuit een noodzaak. Niemand zit graag in de problemen. Mensen worden aangetrokken door plezier maar mijden angstvallig onaangenaamheden.

Zo kan de hacker naar de pc van het slachtoffer grote datapakketten sturen zodat zijn internetverbinding heel traag wordt en regelmatig wegvalt. Als hij na enkele uren van het uiten van krachttermen een verlossend mailtje krijgt van zijn zogenaamde provider dan zal hij veel bereidwilliger zijn om alle instructies in de mail braaf uit te voeren om het probleem snel op te lossen.

Zo kan je hem zelf de malware laten installeren en de configuratie laten aanpassen.

Nog een klein detailtje...

Het ip adres voor de grote datapakketten te sturen en het emailadres van het slachtoffer is eenvoudig te achterhalen vanuit een inschrijvingen in een nieuwsbrief.

Elke website aast op jou emailadres en wanneer je een website bezoekt is automatisch je ip adres en type besturingssyteem gekend bij de website eigenaar.

Moraal van dit gedachten experiment...

Bankkaarten zijn destijds ontwikkeld voor de veiligheid, cash was toen veel gevaarlijker, maar nu zijn we op een punt gekomen dat de kans vele malen groter is om opgelicht te worden via de moderne technologie dan overvallen te worden door een ouderwetse bandiet met knuppel in de bosjes.

creativiteit vlieger Da Vinci

c5sed > creativiteit met c5sed > hacking bankkaarten - creativiteit met c5sed