Showing posts with label mitm. Show all posts
Showing posts with label mitm. Show all posts

Monday, November 14, 2011

Danske Banks udokumenterede smartphone API

Halløj

Nu hvor jeg har fået sat min android emulator op så jeg kan læse krypteret ssl trafik mellem emulatorens applikationer og internettet, har jeg været ved at rode med Danske Banks Mobilbank app for at hitte ud af hvordan den snakker med banken, så jeg selv kan snakke med banken! Jubii.

Grundene til det er mange, men mest af alt lysten til at lære hvordan de har lavet kommunikationen også tilfredsstille personlige krav som f.eks:

  1. At have adgang til mine egne bank data, og gøre med dem hvad jeg vil.
  2. Lave et vækkeur der donere penge når man sover over
  3. Android widgets der viser ens balance eller måske 3-4 sidste transaktioner.
  4. Dashboard widgets med balance og transaktioner.
  5. Lave et stort led display til lejligheden der viser fælleskontoens balance - Så man let kan finde ud af om man skal gå ud og spise eller lave noget selv, desværre er de halv dyre, så det ender nok med at blive et meget lille lcd display :)
Der er flere tools der tilbyder at lave mitm attacks, wireshark, fiddler (desværre kun til windows) og så vidre, jeg har dog fundet Charles web proxy meget let at gå til specielt på mac'en, men hvis der er tale om andet end http(s) trafik er wireshark formentlig at fortrække. 


Oven over ses et pr screenshots af hvordan det forgår, man starter først Charles op og enabler SSL proxying, starter sin emulator med parameteren -http-proxy fra dokumentationen og derefter sender den alt tcp trafik igennem charles. 

Efter at ha luret lidt på hvordan den snakker med banken, lavede jeg mit eget lille terminal app som en slags proof of concept ... ting.

Appen er implementeret i php og skulle kunne køre direkte fra en hver Mac. (Eller andet grej med PHP 5.3 eller højere).
Kildekoden findes her: mobilbank.php og DanskeBank.php

Lad mig endelig høre om spændende brug af api'et :)