21:00
20/2/2014

W sieci pojawił się moduł do popularnego frameworka Metasploit, który znacząco upraszcza wykonanie ataku wykorzystującego dziurę obecną w smartphonach z Androidem do wersji 4.2 (czyli z API starszym niż 17). Dzięki niemu z łatwością można wykraść wrażliwe dane z telefonu lub tabletu ofiary.

Ta dziura ma już 14 miesięcy…

Sama dziura nie jest najnowsza — została odkryta 14 miesięcy temu — a Google poprawkę wydało. Ale… jak wiemy, aktualizacja urządzeń mobilnych to nie lada problem i najnowsze statystyki pokazują, że wciąż dziurawych jest 70% urządzeń pracujących pod kontrolą Androida.

“E-Z-2-Use”

E-Z-2-Use pozwala wykonać kod JavaScriptowy w przeglądarce Androida oraz w innych podatnych aplikacjach (wykorzystujących kontrolkę WebView). Odpowiednie payloady pozwalają atakującemu otrzymać zdalny dostęp do:

  • wbudowanej w telefon kamery,
  • systemu plików smartphone’a,
  • danych geolokalizacyjnych,
  • zawartości karty SD,
  • książki adresowej

Wystarczy, że atakujący zachęci ofiarę do odwiedzenia specjalnie przygotowanej strony (np. jeśli czytasz nas na Androidzie, który jest podatny, to moglibyśmy Ci w tym momencie zrobić zdjęcie przez Twój aparat). Na stronę zawierającą kod exploita zwabić ofiarę można także poprzez podesłanie wiadomości e-mail zawierającej link albo poprzez umieszczenie podstawionego kodu QR, który ofiara zeskanuje swoim urządzeniem. Kolejną z możliwości jest wykonanie ataku MITM na sieciach Wi-Fi (np. w restauracjach lub hotelach), którego efektem będzie wstrzyknięcie payloada w oglądane przez ofiarę strony WWW.

Sesja w metsploicie

Sesja w metsploicie

Samo wykorzystanie modułu jest dziecinnie proste i sprowadza się tylko do kilku komend wprowadzonych w Metasploicie:


msf > use exploit/android/browser/webview_addjavascriptinterface
msf exploit(webview_addjavascriptinterface) > set TARGET
msf exploit(webview_addjavascriptinterface) > exploit

Jak żyć?

Smartphony są coraz bardziej popularne, a co za tym idzie — coraz więcej słyszymy o dziurach w aplikacjach mobilnych. Na łamach Niebezpiecznika informowalismy juz o realnych błędach w aplikacjach mobilnych, które mogły posłużyć do ataków np. na bankowość internetową.

Telefony komórkowe, podobnie jak i komputery, są podatne na ataki i posiadają błędy w oprogramowaniu (zarówno systemie jak i samych aplikacjach). Dlatego też również w trakcie przeglądania internetu z poziom “komórki” należy zachować daleko idącą ostrożność i zastanowić się przed uruchamianiem jakichkolwiek linków lub fotografowaniem kodów QR nieznanego pochodzenia.

Przede wszystkim jednak, jak wielokrotnie wspominaliśmy (np. w naszym poradniku), kluczowe jest abyście aktualizowali systemy operacyjne na swoich telefonach — bo o ile dziury się pojawiają, to patche również są dostępne, czasem tylko trzeba im pomóc w dotarciu do naszego urządzenia.

21.02.2014, 9:00
Jak słusznie zauważył nasz czytelnik szo, błąd występu do wersji 4.2, API 17, ale nie ma go w samej wersji 4.2. Skorygowaliśmy tytuł postu.


Przeczytaj także:

78 komentarzy

Dodaj komentarz
  1. Jako, że producenci sprzętu nie rozpieszczają swoją polityką aktualizacyjną pozostaje głosić ewangelię Cyanogenmode’a.

    • Prawda, Cyanogenmod jest fajną alternatywą, lecz niestety nie działa na wszystkich urządzeniach. Ja na przykład nie mogę znaleźć żadnego Custom ROM-a do mojego Pentagram Quadra 7 Ultra Slim. A szkoda, bo by się przydał :(

    • Amen.

    • @Tajmon – się kupuje chińszczyznę bez wsparcia to się ma, hehe.

    • Możesz przecież przeportować, tak samo możesz zrobić custom recovery. Kwestia tego, jak bardzo Ci zależy na sprzęcie i ogarniasz linuxa.

    • @spaq
      Ja mam note 10.1 (N8010) od Samsunga, nie jest to chiński badziew i od momentu zakupu miałem jedną aktualizację do 4.1.2 :)
      I teraz cisza, zapewne na zawsze.

    • @Tajmon
      Słabo szukasz. Ja znalazłem co najmniej 4 customromy do Quanty. Hula jak marzenie

    • @Konrad
      Samsung udostępnił listę urządzeń które w pierwszym rzucie dostaną 4.4 – seria Note’ow 10.1 jest na tej liście.

  2. Opera Mini nie rozwiązuje problemu? ;)

    • Emacs i wget na pewno.

    • Opera mini śmierdzi.

    • Po co emacs z wgetem, skoro jest lynx? ;)

    • Jestem przekonany, że tak. Problem dotyczy komponentu WebView używanego we wbudowanej przeglądarce http://developer.android.com/reference/android/webkit/WebView.html#addJavascriptInterface(java.lang.Object, java.lang.String) . WebView wykorzystywany jest również w aplikacjach do wyświetlania hypertekstowej pomocy, ale tutaj nie ma problemu bo renderowana jest lokalny dokument. Tak więc Opera raczej nie powinna mieć tej przypadłości, podobnie jak Mozilla czy Chrome. No chyba, że celowo dodają taką możliwość, w co wątpię.

  3. Tak, zaktualizuję moje urządzenie samodzielnie i gwarancja poszła się pierniczyć. A ja swój telefon dostałem zaktualizowany dopiero po oddaniu na gwarancję po ponad roku użytkowania (i to z 2.3.3 na 4.1.2 bo to ostatni release brandowanego softu)… Wcześniej nie dało się tego wykonać z poziomu telefonu.

    • Chyba, że swoją prywatność cenisz bardziej, niż gwarancję na telefon.

    • Jedna z sieci komórkowych już przegrała sprawę “o gwarancję” przed ETS – wystarczy się nie bać i ignorować adnotacje w stylu “jak zmienisz firmware, to po gwarancji”…

    • Niezupełnie, zgodnie z prawem UE na gwarancie spoczywa obowiązek udowodnienia, że nasze manipulacje wpłynęły na wystąpienie usterki. Miałem takie przejście z HTC, po wgraniu custom ROMa okazało się, że kamera padła (robiła fioletowe zdjęcia – znany problem z hardwarem) i dostałem rachunek na 570PLN netto za ingerencje. Napisałem uprzejmego maile żeby powiązali wgranie sofu z usterką i “po ponownym rozpatrzeniu sprawy” naprawa została wykonana w ramach gwarancji.

  4. Może jest strona by sprawdzić swoja podatność? Która nie zrobi ku ku …

    • Menu -> System Settings -> About phone

  5. Jeśli producent aktualizacjami nie rozpieszcza, zostaje CyanogenMod. (np LG) Wtedy no problem nawet z 4.4

    • Niestety nie kazdemu to dziala. Przykladowo w niektorych S3 istnieje problem z brakiem sieci po updacie. We wczesniejszych wersjach androida pomagal arizapatch, ale od 4.3 znow pomaga tylko w niektorych przypadkach, w cyanogenmod niestety nie zadzialal.

    • @Wuta
      Jeśli mówisz o IMEI 0049… to ten problem pojawia się też przy update na vanilla S3.

  6. Mam wersję 2.3.4.
    Pomimo że przy zakupie na pudełku była naklejka o możliwości upgrade do 4.0 to producent nie przygotował aktualizacji dla niektórych serii telefonów tego modelu (w tym mojej).

    • O jezus, nie licz na aktualizacje brandu tylko wgraj cyana albo niebrandowanego ICSa. Takie narzekanie daje mi wrażenie że jesteś osobą niezaradną życiowo która nie potrafi sobie wgrać niczego. Do komputera też nic nie aktualizujesz bo nie wyświetla Ci oficjalnej aktualizacji do nowego Windowsa?

    • @nemo333 W przypadku uszkodzenia systemu na PC, po ponownym uruchomieniu wita cię BIOS. Przy zmianie oprogramowania smartfona często trzeba kombinować z bootloaderem i w razie popełnienia błędu telefon przestaje reagować. Wtedy zostaje tylko programator JTAG + przejściówka (unikalna dla każdego producenta). Do tego w smartfonach nie ma bezpośredniego dostępu do kostki pamięci flash tak jak to jest w PC. Wszystko jest zintegrowane w jednym SoC.

    • @nemo333 – o jezu, to teraz mam pol zycia spedzac na szukaniu jak sie podpiac emacsem przez sendmail do lodowki, i czy przypadkiem szwagier kuzyna producenta nie wypuscil nowszego firmware, ktory nie zjada marchewki?

      soft ma miec opcje autoupdate, a nie zmuszac usera do kopania pol dnia czy do wyszedl nowy update do zegarka albo piekarnika, ktory wgrywa sie po rs232 schowanym pod zaworem od gazu…

    • @AdireQ co ty pieprzysz? jakie programowanie przez jtag? ty chyba nie miałeś w rękach urządzenia z androidem albo nawet nie próbowałeś jego modyfikować. w telefonie z androidem jak coś spieprzysz to wita cię bootloader, z niego wystarczy wejść do custom recovery i wgrać dobrą aktualizację i działa. ciemnota.. wszędzie ciemnota…

    • To oddaj na niezgodność towaru z umową.

    • COXD?

      Dawno nie słyszałem takich bredni :E Nawet nie chce mi się tego komentować.

      Wchodzę na jakiekolwiek forum mojego systemu/telefonu, sprawdzam jaki jest najnowszy soft do mojego telefonu, ściągam plik i wgrywam odpowiednim programem. Pół godziny roboty wraz z przywróceniem backupu kontaktów i aplikacji.

      A jak to jest za trudne to cóż, Google wypuściło Nexusa dla takich umysłowych ameb i prostszej aktualizacji do najnowszego Androida się już nie da zrobić.

    • @nemo
      Ciekawe czy jakoś sprawdzasz przed wgraniem, bo jak nie używasz oryginałów albo cyjana tylko jakieś romy które ktoś gdzieś wstawił to czy to się tak bardzo różni w kwestii bezpieczeństwa od nieaktualizowania?

  7. Czy jeśli korzystam z Firefox for Android który ma całkiem inny, nie powiązany z przeglądarką systemową silnik jestem bezpieczny?

    • Nie do końca. Z systemowej kontrolki WebView korzystają wszystkie aplikacje, które wyświetlają treści HTML. Czyli np. klient poczty.

    • Raczej wątpię by Opera czy Firefox używały systemowej kontrolki.

  8. O, fartem niedawno wgrałem Cyanogen’a z 4.4 na SGS2 (0 problemów jbc), jednak mimo wszystko nogen jest dostępny właśnie do takich mainstreamowych telefonów (na ZTE jest tylko 7ka dla 3 modeli, a np. znajomy kupił inny model by mieć Aero2 cały czas)

    Kwestią modyfikacji cyana jest chyba tylko podmiara plików ze sterownikami?

  9. Dzięki, miałem aktualizować, ALE mi się nie chciało… zmotywowaliście mnie :D

  10. Na czym polega ta dziura już tak konkretniej w backendzie?

  11. >bo o ile dziury się pojawiają, to patche również są dostępne, czasem tylko trzeba im pomóc w dotarciu do naszego urządzenia.

    Taaa. Kto może aktualizować, ten aktualizuje. Ludzie, którzy mają rzadsze modele skazani są na łaskę producenta. Między innymi dlatego nigdy już samsunga nie kupię.

    • Tylko w Samsungu czekasz/nigdy nie dostajesz update.

  12. A jak ktoś ma HTC Desire X to albo niestabilna alfa zrobiona przez zapaleńca cyanogenmoda w której niewiele działa albo dziurawe 4.1 …

  13. w andku 4.2 i starszych, czyli na 4.2.1/4.2.2 już nie ?

    • wg. tych linków w artykule, to andki 4.2 nie są podatne, a tylko wersje przed API 17 (< 4.2) – macie błędny tytuł i część treści :P

    • Podatne są wszystkie androidy o ile telefon będzie zawierał aplikację zbudowaną z targetSdk niższym niż 17 (co jest często dość częstym mykiem i jak by sprawdzić market to ponad połowa apek będzie to posiadać), przed tym nie uratuje was żadna aktualizacja systemu. Android 4.4 też jest podatny w tym przypadku.

  14. No dobra spoko tylko co jeśli mam Samsunga którego najnowsza wersja systemu Android to 4.0.4 i próba aktualizacji kończy się komunikatem “Brak nowych aktualizacji”?

    • Custom rom, jak np. CM.

    • Zawsze zostaję CM – musisz mieć tylko nadzieję, że nie będzie się “gratisowo” losowo restartował.

  15. Dlatego warto kupować Nexusy, przynajmniej one otrzymują ostatnie aktualizacje…

    • Podoba mi się twoje myślenie, Galaxy Nexus nie otrzyma Kit Kata pomimo tego że spełnia on jego wymagania.

  16. Najlepiej jest używać innej przeglądarki niż zainstalowana domyślnie, np. Firefoxa. Aktualizacja jest w jej wypadku automatyczna, działa nawet jeśli producent telefonu o nas zapomniał.

  17. a jaki payload aby móc korzystać z dobrodziejstw kamry/mikrofonu/etc? :)

  18. Hm, jak zmusić metasploita aby tego użyć? Dałem msfupdate, nie ma. Wrzuciłem ręcznie w ~/.msf4/… i dalej nic – nie mam kategorii exploits/android/… :/
    Jakaś dodatkowa magia do tego jest potrzebna?

  19. Ciekawe jaki efekt przyniosło by umieszcze takiego exploita robiącego fotki na jakiej mobilnej wersji redtuba itp ;)

    • ch***wy

  20. Jak rozumiem z opisu pod jednym z podanych linkow (http://50.56.33.56/blog/?p=314) WebView sluzy do tego, aby aplikacja mogla latwo wyswietlic dowolna strone. Ale jak widze, WebView jest w podanym przykladzie w calosci odpowiedzialne za zaladowanie i przetworzenie strony, lacznie z obsluga JavaScript.
    Wiec nasuwa sie pytanie: czy jesli uzywam Chrome/Firefoxa/Opery/innej przegladarki nie-systemowej, to one chyba nie powinny uzywac WebView? Bo po co, skoro maja wlasne silniki przetwarzajace strone?
    I druga watpliwosc: jesli juz nawet uzywaja, to czy robia wspomniaby bridge do interfejsu Javy i po co? Bo jak rozumiem tylko swiadome utworzenie takiego bridga przez programiste wystawia uzytkownika na atak.

    • WebView może służyć do obsługi wyświetlania hypertekstowej zapisanej w urządzeniu, a bindingi pozwalają napisać aplikację działającą w przeglądarce i dającą dostęp do systemu. Głupotą jest to, że któryś z programistów zarejestrował binding Javowy w przeglądarce używającej WebView i łączącej się z dowolnym serwerem WWW. Niezłym niedopatrzeniem jest pozwolenie na dostęp do mechanizmu refleksji, a przez to dostęp do innych obiektów. (fragment kodu z exploita top[i].getClass().forName(‘java.lang.Runtime’);)

  21. Ciekawe co na to twórcy androida. Pewnie mają wyje…ne

  22. Kolejna “dziura” pozwalajaca na grzebanie w sprzecie bez ograniczen. Ktora to juz, bo sie pogubilem?

    BTW: gwarantuje, ale to GWARANTUJE, ze taka sama “dziura” jest tez w > 4.2 tyle, ze jeszcze nie odkryta.

  23. 4.2 czy 4.2.X ?
    Bo to dosyć istotne.

  24. Dlatego kupuję tylko Nexusy tam zawsze jest aktualny system bez łaski.

  25. “oraz w innych podatnych aplikacjach (wykorzystujących kontrolkę WebView)” – a to ciekawe, bo ja właśnie na Androidzie najczęściej piszę aplikacje hybrydowe i mógłby mi ktoś wyjaśnić co oznacza słowo “podatnych” oraz czy piszący ten artykuł wie do czego służy addJavascriptInterface? Ale nie z teorii, czyli dokumentacji, ale z własnego doświadczenia, czyli kawałka kodu, konkretnej aplikacji napisanej własnoręcznie? Porządną mobilną aplikację na Androida do Niebezpiecznika, hybrydową aplikację, można zrobić w kilka godzin tak na marginesie. Sumując – oczywiście problem dotyczy chyba tylko natywnej przeglądarki, nie dotyczy FF i raczej, z naciskiem na raczej, Chrome i Opery.

    • A to nie przypadkiem podatne są tylko te aplikacje z webview które wystawiają interfejs dla JavaScriptu przez addJavascriptInterface ?

      Przynajmniej tak wynika z opisu exploita ;)

    • ***pix – no właśnie nie. Pytanie było podchwytliwe i miało na celu sprawdzenie orientacji w temacie autora. Nie ma absolutnie żadnego znaku równości pomiędzy aplikacją używającą addJavascriptInterface a potencjalną podatnością na ten atak. Dlaczego? Bo aplikacja hybrydowa korzysta wedle własnego (autora aplikacji) uznania i potrzeb z niezbędnych dla jej poprawnego działania zasobów które są integralną częścią aplikacji i znajdują się lokalnie w folderze assets/www, pliki JavaScript, html, obrazy, arkusze stylów, dodajmy do tego brak uprawnień do korzystania z internetu i wyciągnijmy wnioski… A idę o zakład, że większości jeśli nie wszystkim zdaje się, że WebView to kontrolka w której wyświetla się zawsze na potrzeby aplikacji “gdzieś tam” istniejącą stronę internetową, i li tylko na tym się kończy. Nie jest dobrze kiedy ktoś sieje, jeśli już nawet nie panikę, to co najmniej zaniepokojenie a nie ma podstawowej (!) wiedzy w temacie. No chyba, że autor newsa miał, ale nie chciało mu się tego napisać/mi odpisać, acz szczerze wątpię. Szkoda.

  26. Czy moduł zawiera już odpowiednie ładunki?

  27. dlatego lepiej uzywac iPhona

  28. Android nadaje się jedynie do tabletu dla dziecka :P i to niezbyt dużego

  29. Suchar…

    Wędkarz złowił złotą rybkę i w nagrodę za wypuszczenie jej na wolność mógł wypowiedzieć jedno życzenie:
    – Życzę sobie, żebym na moim gruncie znalazł złoża ropy.
    – Daj mi mapę i kalkulator – mówi rybka. Zaczyna liczyć, głowi się, zastanawia i mówi, że życzenie jest niemożliwe do wykonania.
    – Masz jakieś inne życzenie? – pyta rybka.
    – Mam telefon z androidem, może byś sprawiła, żeby nie mulił i żebym nie marnował całego życia na wgrywanie romów – mówi wędkarz.
    – Pokaż mi ten telefon, zobaczę jak działa
    Wędkarz odblokował po minucie Samsunga, dał jej a rybka na to:
    – No dobra daj mi jeszcze raz tę mapę i kalkulator.

  30. Na swoim Samsungu Galaxy S3 swietnie działa Android 4.4.2 i nie mam problemów z CyanogenModem 11 :3

  31. A jak sie moge przed tym bronic?

  32. Jeśli z Androidem do wersji 4.2 to z API do 17

  33. A może spójrzmy prawdzie w oczy: smarkfona nie używasz do niczego poza dzwonieniniem, bo nie jestes w stanie go kontrolować. Jesteś tylko nosicielem urządzenia podsłuchowego firm trzecich.

    Jak umiesz sam sobie zmienić OS w telefonie na Replicanta/Linuksa/Cokolwiek i sam taką zabawkę serwisujesz, to może wtedy jest nikła szansa na prywatność i bezpieczeństwo.

  34. A co z Apple i jej nową łatą?

    “Oznacza to, że w praktyce każdy użytkownik z dostępem do ruchu sieciowego użytkowników produktów Apple mógł podsłuchiwać i modyfikować ich zaszyfrowany ruch sieciowy. Przyczyną jest brak walidacji na jednym lub wielu etapach procesu weryfikacji połączenia. Na czym jednak polegał błąd, który otrzymał nr CVE-2014-1266? Od jak dawna był obecny w produktach Apple? Czy ktoś wykorzystywał go w praktyce? Nie jest łatwo znaleźć odpowiedzi na te pytania.”

  35. @Roll – doucz się chłopaku

  36. […] przedwczoraj informowaliśmy o dziurze dotyczącej 70% użytkowników Androida, niektórzy z Was przewidywali, że niebawem pojawi się równie krytyczny i powszechny błąd w […]

  37. W ustawieniach mojego tabletu i telefonu nie ma nic na temat API.
    Jedno ma wersję Androida 4.2.2, a drugie 2.3.4. Mam się już zacząć bać?

  38. Wykonalem eksperyment na telefonie z Androidem 4.0.3, uzywajac prostego skryptu wykorzystujacego opisywana podatnosc. Moge na podstawie tego stwierdzic, ze o ile systemowa przegladarka www jest na to podatna i mozna przez nia wywolywac polecenia na telefonie, to juz Google Chrome NIE JEST na to podatny. Z duzym prawdopodobienstwem FIrefox/Opera inne przegladarki rowniez nie sa (ale ich nie testowalem). A wiec najprostsza odpowiedz na pytanie “Jak sie bronic” jesli nie mozesz zaktualizowac Androida brzmi: nie uzywaj systemowej przegladarki. Zainstaluj chociazby Chrome. Pozostaje jeszcze kwestia innych aplikacji, ktore uzywasz, ale zazwyczaj to przegladarka jest najbardziej narazona na ataki, z racji ladowania stron z najrozniejszych zrodel.

  39. Czytajac niektore wpisy mam wrazenie, ze to nie profesjonalny serwis zajmujacy sie bexpieczenstwem, a forum kibicow klubow pilkarskich. Taka dygresja. Co do meritum to mam pytanie czy jest opcja stworzenia w androidzie vm i zainstalowania linuxa? Taki odizolowany, okrojony linux do przegladania netu etc. Jakie sa mozliwosci dodatkowej ochrony dla np. bankowosci w telefonie?

  40. Możesz zainstalować linuxa na androidze. Poszukaj w markecie Linux Installer. ;) Twój ROM musi obsługiwać loop device.

  41. Testowałem exploit’a pod metasploitem (dostarczany wraz z ładunkami) i nie ma tam czegoś takiego jak ‘wstrzyknięcie payloada w oglądane przez ofiarę strony WWW’. Exploit działa na innej zasadzie, czy redakcja testowała go osobiście?

Twój komentarz

Zamieszczając komentarz akceptujesz regulamin dodawania komentarzy. Przez moderację nie przejdą: wycieczki osobiste, komentarze nie na temat, wulgaryzmy.

RSS dla komentarzy: