Tweets by @buherablog
profile for buherator at IT Security Stack Exchange, Q&A for IT security professionals

A BitBetyár Blog

Túljártál a nagyokosok eszén? Küldd be a mutatványodat! (e-mail a buherator gmailkomra jöhet)

Full-Disclosure / Névjegy / Coming out


Promó

H.A.C.K.

Címkék

0day (110) adobe (87) adobe reader (21) anonymous (26) apple (60) az olvasó ír (49) blackhat (20) botnet (22) bug (200) buherablog (44) buhera sörözés (39) bukta (49) deface (38) dns (22) dos (29) esemény (82) facebook (26) firefox (64) flash (33) gondolat (31) google (59) google chrome (36) hacktivity (37) hírek (117) incidens (224) internet explorer (88) iphone (35) java (50) jog (22) kína (21) kriptográfia (68) kultúra (21) linux (24) malware (43) microsoft (142) móka (48) mozilla (23) office (26) oracle (40) os x (43) patch (197) php (20) politika (31) privacy (58) programozás (22) safari (34) sql injection (62) windows (85) xss (77) Címkefelhő

Licensz

Creative Commons Licenc

Samsung mókázás a "tel:" protokollkezelővel

2012.09.26. 19:09 | _2501 | 16 komment

Ez egy igazi gyöngyszem.

Amikor először megláttam Ravi Borgaonkar előadását, igencsak elcsodálkoztam rajta, hiszen manapság már viszonylag ritkán lát az ember ilyen banális bugot. Kezdetben hitetlenkedve olvastam, majd pár másodpercnyi meghökkenés és homlokráncolás után ez hamar átfordult derültségbe. Nem a kárörvendés, szó nincs erről, inkább a lehetőségek felismerésének felvillanyozó érzése materializálódik kaján vigyor formájában. Szóval miről is van szó? A Samsung "tel:" protocol handlere HTML környezetben a dialer appnál landol, ami annyit tesz, hogy ha egy támadó rá tudja venni a telefont hogy nyisson meg egy megfelelően kraftolt weboldalt, tetszőleges hívást tud kezdeményezni. Igen, eredetileg erre szolgálna ez a feature, viszont a dialerrel nem csak hívást indítani lehet, a demonstrációban a fiatalember USSD (Unstructured Supplementary Service Data) kódokkal játszadozik... na de mi ez?

Ha előkapod a telefonodat, és betárcsázod hogy "*#0000#" akkor azonnal láthatod a telefonod mindenféle paramétereit és verzióit, vagy *#06# esetén az imei számodat. Egyik másik ilyen kódot közvetlenül a telefon értelmez, míg mások megjárják a hálózatot és a központban landolnak. Van amelyikkel infókat lehet lekérdezni, és van ami beállításokat intéz. A fenti bemutatóban a "*2767*3855#" (Samsung Galaxy S3) specifikus kóddal a Samsung egyik okostelefonjában triggerel egy Factory Data resetet, aminek eredményeképpen a telefon minden beállítása végérvényesen elvész. Ehhez elég a felhasználót egy olyan oldalra irányítani ami tartalmazza a következő kódot:

<iframe src="tel:*2767*3855%23" />

A hwsw így fogalmazta meg:

A helyzetet súlyosbítja, hogy a tárcsázón keresztül a telefon más funkciói is elérhetőek, így például cserélhető a PIN-kód is. Mivel triviális annak megoldása, hogy a támadó háromszor hibásan próbálkozzon PIN-cserével, a telefon SIM-kártyája is kivonható forgalomból. A hibát felfedező biztonsági szakemberek igazolták a fenti forgatókönyv működését a Galaxy S II esetében, Twitter-felhasználók visszajelzései szerint pedig működik Galaxy S III, valamint a Galaxy Beam, Galaxy S Advance és Galaxy Ace esetében is.

Na igen... feltéve hogy tudod a régi pint. "**04*RÉGI_PIN*UJ_PIN*UJ_PIN#" vagy ugyanez a pin2 -vel csak **04 helyett **042. De letilthatod/jelszóval korlátozhatod a kimenő hívásokat, tilthatod a bejövőket, és egy sor minden mást. Elég egy QR kódos matricára rázoomolni a metrón, és beng: elvesztek az adataid, vagy dobhatod ki a sim kártyádat. A telefon böngészője elküldi az User-Agent headert, így mint támadó, el tudom küldeni a típusnak megfelelő kódokat a csóró ember telefonjára, szóval vannak lehetőségek... Ezeknek a kódoknak a márkaszervizekben biztos utána tudnak nézni. Vagy a google.

Hagyjuk most a telefon specifikus kódokat. Nálunk a szolgáltatók nem szeretik használni az USSD kifejezést, helyette inkább azt mondják hogy "(digitális) kényelmi szolgáltatások". Ezek szolgáltatónként és a központok típusától függően változ(hat)nak, de van néhány ami kb mindenhol fix. Az Axe10 és EWSD rendszerek alap szolgáltatásai pl a híváskorlátozás, vagy a CF* (CFU/CFB/CFNR) amelyek lehetővé teszik az előfizetők számára ezeknek a funkcióknak a használatát. Ahogy elnézem semmi akadálya hogy az előfizető vonalán efféle huncutságokat lehessen beállítani. Állítsak be ébresztést hajnal 4:15-re (*55*0415#), vagy csak indítsak egy emeltdíjas hívást? Vagy irányítsam át a bejövő hívásokat a fővárosi elmegyógyintézethez (**62*TELSZÁM#)? A tata docomo pl elérhetővé tette a facebookot és a twittert a *325# és *515# kódok segítségével.

Mindent összevetve nagyon bájos kis bug... Valahogy elfogott az érzés, hogy nosztalgikusan és végleg elköszöntek az oldschool phreakelés kivénhedt veterán szellemei, utolsó pár hamuba sült pogácsa gyanánt suttogva tippeket a hitech kor gyermekeinek a letűnt idők reneszánsz technikáiról. Nincs már több patch panel fölött görnyedés, kábel szúrkálás gombostűvel, "at" parancsokkal zsonglőrködés... minden digitális.

Címkék: bug samsung

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

gombost 2012.09.26. 20:41:56

Ez nem Samsung probléma. Rengeteg Androidos eszközzel mûködik, de Jelly Bean-ben már javították, plusz van workaround is.

_2501 2012.09.26. 21:17:53

@gombost: masok is ezt mondtak :)

gombost 2012.09.26. 21:20:47

@_2501: Tényleg javítva, van tesztoldal (factory reset kód helyett IMEI kiíratás) és nálam nem mûködik.

Joe80 2012.09.26. 21:58:06

Nem kell neki megerősítést (dial) nyomni? Egyből tárcsáz?

_2501 2012.09.26. 21:58:24

@gombost: ja, mi is epp azt csekkoljuk Axxal...

_2501 2012.09.26. 22:02:02

@Joe80: a video szerint nem.

ixc 2012.09.26. 22:33:58

Az intent filterre a default androidos dialer van feliratkozva. a 4.1 is meg felvan iratkozva, de nem futtatja a kodot.

a problemas intent filter:
android.googlesource.com/platform/packages/apps/Phone/+/jb-release/AndroidManifest.xml
201-es sor

bovebb info az action-rol:
developer.android.com/reference/android/Manifest.permission.html#CALL_PRIVILEGED

SH4RK 2012.09.26. 22:41:49

Mai irodai gyorstesztben működik SE Ray-en, SE X10 Minin, ZTE-n, és HTC Sensationön.

ixc 2012.09.26. 22:47:51

kozbe kicsit tovabb neztem (persze lusta vagyok mar este vegigbogaraszni a kodot, ezert par ellenorzes pl.: emergerncy szam; miatt ugy gondolom, hogy) 4.1-be a kapott adatokat tuzetesebben atvizsgalja mar a google

#385-nel processIntent gondoskodik par ellenorzesrol
android.googlesource.com/platform/packages/apps/Phone/+/jb-release/src/com/android/phone/OutgoingCallBroadcaster.java

a korabbi verziokban ez a resz nem volt benne

gphilip · http://search-download.com 2012.09.27. 02:12:01

4.0.3-on meg siman mukodik! elkepeszto!

tanatosz 2012.09.27. 10:05:58

Konkrétan miért nyomják mindenhol ezt "Samsung" bugként?

Hisz ez egy sima android probléma nem?

ixc 2012.09.27. 10:18:03

a cyanogen modba kuldtek egy patch-t (meg review alatt)

review.cyanogenmod.com/#/c/23978/

Venona project (törölt) 2012.09.27. 16:20:19

Legfrissebb gyári S3-on nem működik. Feljön a dialer, de nem eszi meg a kódot.

Mr. X 2012.09.27. 17:01:52

Ideje lesz előfizetnem egy emeltdíjas számra. Csak teríteni kell egy linket spamben, facebookon cicis képeket ígérve, XSS-el és még mittudomén mivel és már dől is a lé.

Nem is értem, hogy gondolta ezt, aki kitalálta.

Hunger 2012.09.28. 12:33:34

"Na igen... feltéve hogy tudod a régi pint."

Ha sokszor próbálkozol rossz pin kóddal, akkor letilt és a PUK kódot kéri, nem?

_2501 2012.09.28. 19:42:09

@Hunger: igen, igy kéne működnie, vagy ha nem hát bruteforce ftw, de picinkét meglepődnék.