EasyPark – Easy API abuse

Kort å greit, enda en kveld med MITM proxy + SSL certificate. Leker litt med “EasyPark” Android appen

Appen autoriserer mot sin API tjeneste via typiske GET og POST requests, (Heldigvis over HTTPS) og forventer JSON tilbake.

Det som derimot ikke er så flott er at denne autorisering er av typen “Basic access authentication” som foregår over HTTP/HTTPS, og etter hva min testing kan si meg har de implementert absolutt null inntreffende restriksjoner ved et høyt antall forespørsler. (SPAM is …ok…?)

Passordene appen/tjenesten tildeler hver bruker (Når du resetter passordet ) er på 8 alfabetiske “chars”, store og små, med tall og ingen spesialtegn, brukernavnet er telefonnummeret brukeren har registret.

Dette i seg selv er vell litt på “kanten” med tanke på at ganske så kraftige datamaskiner kan generere alle ulike kombinasjoner av denne syntaxen på litt over 21 timer (i følge http://random-ize.com/how-long-to-hack-pass/)

Men så lenge man ikke bestemt vet hvilke telefonnummerer finnes i databasen, er det jo vanskelig å gjette både kombinasjonen av brukernavn og passord.. eller?

Det viser seg nemlig at passord gjenopprettings systemet hos EasyPark er ganske så optimistisk til både bruk og input.

 

 

 

 

 

 

 

Alt du trenger å gjøre er å sende en GET request med nummeret du ønsker å gjenopprette passordet til ,som en enkelt parameter, fra hvor som helst, når som helst, hvor mange ganger du vil, uten noen som helst form for bekreftelse / verifikasjon. Om det finnes en bruker i databasen med dette nummeret vil de umiddelbart få tilsendt en sms med et nytt passord.

La oss si at du eksempelvis hadde laget et lite python script som grabbet norske offentlige telefonnummere fra Internett, og testet disse mot EasyPark passord recovery API’en. I tilfelle vil du ikke bare spammet alle Norges EasyPark kunder, men du vil også kunne generere en liste over mobilnummere som er registrert i databasen hos EasyPark, dette fordi responsen fra requesten så fint bekrefter om nummeret finnes i databasen eller ikke

 

 

 

 

 

 

 

Konklusjon?

Med de riktig midlene vi det ta maksimalt 21 timer å bryte seg inn på hvilken som helst EasyPark kontoen, så sant telefonnummerert ligger offentlig ute (Eller du via andre midler finner det)

 

Men… hva med å registrere parkeringsbilletter på andre brukere en deg selv?(aka free parking)

 

 

 

 

 

 

 

 

 

 

To be continued….. 😉

Norsk Tipping – Oddsen for trojaner er høyere!

Tilfeldigvis lekte jeg meg litt med MITM proxy for å avlytte trafikken og se hva slags sikkerhets standard mange av Android appene mine benytter.
Det var helt tilfeldig av Norsk Tipping appen varslet meg om en oppdatering jeg kunne installere.
Data-trafikken Norsk Tipping ellers sender i form av bruker og spill data håndereters over HTTPS, så jeg fikk se fint lite av mine egen sensitive information (Konge!)
Men in-app oppdateringer derimot, det håndteres over HTTP, å det er det vell heller ikke noe problemer ved? Eller?

 

Selve oppdaterings “sjekken” som sammenligner app-versjonen med den nyeste foregår over HTTPS (Etter hva jeg kan forstå), men selve nedlasting av filen skjer over HTTP, i tillegg er det heller ingen bekreftelse fra appen mot webserveren at appen den er i ferd med å laste ned / kjøre, faktisk er riktig app.
Dette gjør det enkelt for en angriper å utføre et MITM angrep og ved benyttelse av DNS “spoofing” utgi seg for å være “mobile.buypass.no” sin server som hoster filen.
Norsk-Tipping appen vil derfor laste ned en .apk som angriper hoster på sin lokale maskin, isteden for Norsk tipping sin!
Dette kan føre til at angriper kan få full tilgang til smarttelefonen og alt den relative sensitive informasjonen den inneholder. Som angriper kan vi ikke direkte “utløse” oppdateringer for telefoner på nettverket, men vi kan vi tvinge alle som forsøker å oppdatere på nettverket til å bruke den falske appen isteden for den ekte.

Angriperen kan i tillegg ha forberedte en kopi av den nye oppdatering med en skjult “bakdør”, appen blir faktisk oppdatert og alt ser tipp topp ut, men skadevare har blitt installert i bakgrunnen samtidig.

 

Steg #1 – Appen spør serveren om det er en ny versjon tilgjengelig basert på den nåværende, dette er over HTTPS og kan derfor ikke leses.
Steg #2 – Appen har bekreftet at det er en ny app tilgjengelig og sender deretter en request mot “mobile.buypass.com/ams/176/NorskTipping.apk” og kjører appen (uten å bekreftet at dette er riktig app)
Steg #3,4 – Appen installeres og åpnes som deretter gir angriperen full tilgang telefonen, her vill en angriper åpenbart modifisert både icon og tittel fra “MainActivity” til noe mer passende. (Eks NorskTipping)

 

 

 

I Bettercap loggen til høyre ser vi at domenet “mobile.buypass.no” ble omdirigert til vår falske server (hostet på angriper maskinen), det er derfor vår apk som nå har blitt kjørt og vi har fått full kontroll via en reverse-TCP-shell (Meterpreter i tilfelle) Vi kan nå fritt dumpe SMS,Bilde,Notater osv…

Forslag på løsning ville hvert å unytte en SHA256 hash “verdi” av filen som hentes over HTTPS og som sjekkes før filen kjøres, matcher ikke hashen er det ikke riktig fil.

 

 

Safe Exam Browser Cheater

Hva er Safe Exam Browser?

“Safe Exam Browser is a webbrowser-environment to carry out online exams safely. The software changes any computer into a secure workstation. It regulates access to resources like system functions, other websites and applications and prevents unauthorised resources being used during an exam.”

Sikkert?
Fra første eksamen jeg utførte i “Safe Exam Browser” har jeg hatt flere ider og tanker om hvordan man kan “jukse” seg igjennom eksamen i SEB systemet. Fakta er at det finnes ikke et trygt sted i datamaskinens minne (RAM), så lenge du opererer i minne kan jeg lese å modifisere data i minne til å gjøre akkurat det jeg vil (Man kan gjøre det veldig vanskelig, men ikke umulig)
(Eks https://github.com/Cybellum/DoubleAgent). Men dette tror jeg også de bak SEB er fullstendig klar over. Målet med SEB må være å gjøre det så vanskelig og ekstremt teknisk, at det rett og slett ikke er noe poeng. Så om jeg skal finne en feil, måtte den være simple,effektiv og ikke være avhengig av kompliserte teknikker som eks innebærer low-level ASM / C og minneoperasjoner.

Jeg fant jeg fant!
Noe av det første jeg la merke til var friheten SEB ga deg til å kopiere og lime-inn tekst data, du har altså full kontroll over det samme “utklippstavlen” som alle andre prosesserer på datamaskinen har, sammen med SEB. Lese og sette data fra utklippstavlen kan enklere og mye mindre tekniske programmeringsspråk som VB og C# gjøre. Også script-språk som VBS,Python og Powershell kan lese og modifisere data i utklippstavlen. Konseptet er enkelt, vi benytter oss av utklippstavlen som en tekst basert chat. Vi lar andre lese og modifisere data via et webpanel. 100 linjer VB , noe PHP,js og SQL senere var det klart. Programmet kan også kjøre usynlig i bakgrunnen.

Demo 1

Demo 2

“Skal man bli best til å bygge sterke hus, må man først lære hva som kan rive dem.”

Så formålet bak denne plattformen som jeg dessverre må underkaste kategorien “Blogg” er å kunne gi alle relevante målgrupper et innblikk i hvordan ferske morderne angreps-vektorer på IT fronten påvirker oss. Enten du er IT verdens “ildsjel” eller en av de med mindre datakunnskaper skal du kunne lese innlegget å se risikoen i å være en optimistisk nett-surfer.

Hovedsakelig har jeg ingen planer om å komme med guider eller lange innlegg om hvordan du skal bruke ditten og datten for å kunne beskytte deg. Saken er slik, det beste Antiviruset er ikke Norton, Avast eller AVG, det er din egen hjerne. Det at du ikke klikker på den linken eller ikke kjører den programvare, er langt mer effektiv enn den aktive “beskyttelsen” (legg merke til “”) til dagens moderne antivirus. les,lær og tenk!

Jeg skal ta for meg diverse prosjekter, oppdagelser og teknikker bak det man kaller «Offensive Security». “Skal man bli best til å bygge sterke hus, må man først lære hva som kan rive dem.”

Man har over de siste moderne ti-år sett en økning i «cyber» angrep rettet mot virksomheter i alle sektorer, ofte er målet ren økonomiske skade eller tilgang til informasjon. Det er blant annet dette som har dratt frem behovet for virksomheter med en eller annen form for IT-relatert infrastruktur, å leie inn profesjonelle «Hackere» for å teste sine systemer på en langt mer tryggere og mindre kostbare premisser.

Såkalte «Red-Teams»

 

Så Anti-Virus, hvor bra er de egentlig?

To be continued…