Online version

Talk detail

Lidé často zveřejňují různé kódy, nejen ty čárové. Z nich lze vyčíst spousta věcí. Jeden člověk ukázal fotku svých hodinek a dal tak možnost nabourat jeho účet u letecké společnosti. Prozradím vám, jak se to stalo a co byste měli a neměli dělat, aby vám podobné věci nehrozily.

Date and event

21. 6. 2017, Internet a Technologie 17 (talk duration 25 minutes, 21 slides, video)

Slides

Data ze Star Treku

#1 Dnešní svět je plný big dat, pořád se o nich mluví. Zajímavosti najdeme ale i v těch “obyčejných” datech, v těch, která denně zveřejňujeme, často aniž bychom tušili, co v těch datech vlastně je.

"Vrchol mé lenosti: Přišel mi výpis z banky, chráněný PINem. Než abych ho hledal, radši jsem bruteforcem uhádl heslo a nezvedl zadek z křesla" — Tomáš Heřmanský‏

#2 Na konci dubna 2017 si Tomáš Heřmanský na Twitteru povzdechl nad svojí leností. Že prý místo hledání PINu pro otevření výpisu z banky to heslo raději cracknul pomocí nástroje PDFCrack. Najít ty čtyři číslice zabralo PDFCracku pár vteřin, takže se nemůžeme ani divit, že se Tomášovi nechtělo vstávat z křesla.

pdfcrack, fileID, U, O, found user-password '▒▒▒▒'

#3 Tomáš k povzdechu přidal screenshot běhu pdfcrack, na kterém byly nějaké ty identifikátory jako FileID a další divné hodnoty U a O. A také zjištěné heslo, které Tomáš rozmazal. Při pohledu na ty hodnoty FileID, U a O jsem si říkal, co asi tak znamenají a jestli náhodou…

"Myslim, ze do te banky budete muset stejne zajit. Vas PIN se da zjistit aplikaci tohto patche..." — Pavol Rusnak

#4 Předběhl mě Pavol Rusnak, který už věděl, co ty hodnoty znamenají, a zjistil, že Tomášovo heslo bylo 1033. Naštěstí to prý nebyl PIN ke kartě, ale jen poslední čtyři číslice z čísla karty, které banka použila jako heslo pro otevření PDF.

diff --git a/pdfparser.c b/pdfparser.c

#5 Pavol vzal ty hodnoty FileID, U, O z Tomášovo screenshotu a přidal je do zdrojového kódu PDFCracku tak, že se jakékoliv crackované PDF tvářilo jako to Tomášovo. Takto upravený pdfcrack pak spustil, čímž zjistil heslo k souboru, který vlastně ani nikdy neviděl.

@petrmara, Letiště Praha

#6 Petr Mára se věnuje nasazování iOS a macOS ve firemním prostředí, školí a přednáší. A taky docela dost pracovně cestuje. Se svou ženou se v květnu 2016 vydali do Hong Kongu oslavit její narozeniny. Před odletem na Instagram dal tuhle fotku.

British Airways, MARA/PETR MR, YJVFKG

#7 Petr se bohužel nezmínil, na jak dlouho do Hong Kongu letí, jenže mě to strašně moc zajímalo. Všiml jsem si, že na palubních vstupenkách je vidět rezervační kód YJVFKG a čárový kód. Obojí jsou informace, které byste neměli zveřejňovat.

Log in to your booking

#8 V Petrovo případě stačilo jít na web British Airways a rezervační kód zadat do správného políčka. Jen na pět dní? Takovou dálku?

Passport number: Completed

#9 Po zadání rezervačního kódu jsem se mimo jiné dozvěděl, že Petr má správně vyplněné všechny údaje. No aby taky ne, když už odletěl. A pak jsem si všiml toho červeného tlačítka View or change details. A tak jsem na něj kliknul.

Date of birth for Mr Petr Mara: [ __ ] [ __ ] [ ____ ]

#10 Aerolinky chtěly ověřit, že já jsem Petr. Chtěli po mě číslo pasu, to jsem (zatím) neměl, nebo datum narození. Petr má narozeniny uvedené na svém Facebookovém profilu, dá se také najít třeba v obchodním rejstříku nebo živnostenském rejstříku. Vaše datum narození je veřejná informace, často je součást DIČ živnostníků, není to nic tajného.

Passport number: [ ██████████ ]

#11 Ha, konečně mám to číslo pasu! A hele, můžu ho i změnit. V tu chvíli mě napadlo, že bych mohl Petrovi oslavu narozenin jeho ženy o pár dní prodloužit. Stačilo by zadat číslo pasu nějakého mezinárodně hledaného zločince nebo něco takového.

"Máš samozřejmě pravdu. Dokonce to někdo zkoušel a já se 24h nemohl přihlásit. Naštěstí to dopadlo dobře a pro mě je to poučení. Moc si cením, že mi to píšeš" — Petr Mára

#12 Žádná data jsem ale nezměnil a Petrovi to všechno napsal. Zároveň jsem se mu omluvil, protože jsem mu na 24 hodin zablokoval přístup, to když jsem zkoušel tipnout datum narození jeho ženy. Později jsem si ho samozřejmě vygůgloval, jak jinak. Petr to všechno vzal skvěle, patří mu za to velký dík. Podle další fotky palubních vstupenek zveřejněné o pět měsíců později se i poučil.

Palubní vstupenka na Instagramu

#13 Spoustu fotek boarding passů najdete na Facebooku i na Instagramu. Někteří lidé dokonce část údajů rozmažou, ale čárové kódy ponechají v původní podobě. Třeba jako slečna Anna.

FERENCAKOVA/ANNAMRS PRG-BEG

#14 Slečna Anna Ferenčáková, která v dubnu 2017 cestovala do Bělehradu. Po oskenování čárového kódu z fotky se to dozvíte. Čárové kódy také najdete na palubních vstupenkách “zapomenutých” v letadlech nebo na jiných místech.

Aztécký kód na hodinkách

#15 S příchodem “chytrých” zařízení se čárové kódy z palubních vstupenek najdou třeba i na fotkách rukou s hodinkami. Tohle je palubní vstupenka s aztéckým kódem (Aztec code), který obsahuje stejné nebo podobné údaje jako kódy vytištěné na papíře. Boarding pass tedy nemusíte tisknout, stačí pak jen přijít ke skeneru a vykloubit si ruku při přikládání kódu ke snímači.

FENECH/STEPHEN MR SFO-JFK AA 4708760

#16 Ruka (i hodinky) patří Stephenovi Fenechovi, který letěl ze San Francisca do New Yorku. To jsme se dozvěděli po oskenování toho aztéckého kódu a potvrdili si to přečtení článku o nástrahách používání palubních vstupenek v “chytrých” hodinkách, které se i s rukou do některých snímačů nevejdou. Aztécký kód obsahuje i další důležitou věc: číslo věrnostního programu (frequent-flyer program). Pan Fenech má ve věrnostním programu American Airlines číslo 4708760.

Reset your password

#17 Na Facebooku jsem našel vyfocený aztécký kód od člověka, který si nepřál být jmenován, ale je v určitých kruzích vcelku známý, na Twitteru má asi 120 tisíc followerů a založil něco v Evropě i v Americe. Kód na fotce obsahoval číslo věrnostního programu United Airlines. Tahle letecká společnost se k takovému číslu chová jako by to byl nějaký tajný přístupový kód. Když už ho na nějakou oficiální korespondenci vytisknou, tak jen poslední 3 číslice a zbytek je “zahvězdičkován”. V aztéckém kódu byl v celé své kráse a tak mě napadlo toho využít k únosu United Airlines účtu toho člověka. Na webu United Airlines jsem zvolil, že jsem zapomněl heslo, zadal jsem jméno, příjmení a číslo z aztéckého kódu. Následovaly dvě jednoduché bezpečnostní otázky, na které se odpovědi daly zjistit během pár vteřin: “první navštívené velké město” bylo to, ve kterém se ta osoba narodila a “oblíbený zimní sport” v zemi alpských velikánů nebyl golf. Systém správně poznal, že jsem on a pak už jsem mohl nastavit nové heslo k účtu.

"Wow! Thanks my friend I deleted the pic to begin with" — osoba

#18 Nové heslo jsem nenastavil, nechtěl jsem nikomu způsobit nějaké trable. Té osobě jsem to napsal, stejně jako Petrovi Márovi. Obrázek z Facebooku smazal (je pořád na Twitteru), ale nevěřil mi, že bych mohl unést celý účet. Domníval se, že by systém poslal nové heslo jemu.

"Oh shit you're right. You could have just changed the password. This is crazy." — osoba

#19 Po chvíli vysvětlování to pochopil. Do háje, máš pravdu. Právě jsi mohl to heslo změnit, to je šílený. Jo, to je. Jenom proto, že někam dal fotku palubní vstupenky jsem mohl unést jeho účet. Třeba by tam mohl mít uloženou platební kartu na nákup letenek nebo bych se mohl postarat, aby někde zůstal.

Oh, shit.

#20 Uživatelé často zveřejňují data, o kterých neví, co znamenají. Na první pohled není totiž vidět, co to je za data nebo k čemu slouží. Někomu se mohou na něco hodit, v nejhorším případě je možné unést nějaký účet.

Bacha na data, lžete, používejte správce hesel

#21 Dávejte si pozor na data, která zveřejňujete. Když úplně přesně nevíte, co data na fotkách a screenshotech znamenají, raději je začerněte (rozmazání někdy nemusí stačit), nebo obrázky raději nezveřejňujte. V odpovědích na bezpečnostní otázky lžete a odpovědi si pamatujte v password manageru, stejně jako vaše hesla. A taky nenechávejte palubní vstupenky v letadlech.

Video recording

https://www.youtube.com/watch?v=YdXBO7S2nTI

Česky