15:55
8/7/2016

Podróże kosztują…

Janusz zajął miejsce możliwie najbliżej środka wagonu i wyciągnął mały bezprzewodowy router. Szybko dokręcił do niego antenę i podpiął baterrypacka. Kiedy urządzenie zaczęło migać diodami, schował je do plecaka, który umieścił na górnej półce na bagaż. Po minucie urządzenie rozpoczęło swoją pracę — czyli kradzież danych ze smartphonów, tabletów i laptopów współpasażerów Janusza. Nikt, kto miał Wi-Fi nie mógł czuć się bezpieczenie.

opowiadanie_9B

Router wykorzystywał słabość sieci bezprzewodowych, a dokładnie mechanizm znany pod nazwą “auto join”. Prawie każde urządzenie wyposażone w sieć Wi-Fi domyślnie zapamiętuje sieci bezprzewodowe, do których w przeszłości się łączyło i — o czym niewielu wie — co jakiś czas wysyła w eter na częstotliwościach charakterystycznych dla sieci Wi-Fi kilka(naście) ostatnich nazw sieci. Upraszczając, urządzenia wysyłają zapytanie w stylu:

Czy w pobliżu są znane mi sieci o nazwach: “dom”, “praca”, “mcdonalds”, “hotel-z-grecji-w-ktorym-byłem-rok-temu”, …

A jeśli w pobliżu taka sieć się znajduje, to Access Point z takim SSID, odpowiada

“tak, jestem, połącz się ze mną”

…i urządzenie automatycznie łączy się ze “znaną” sobie siecią. Ten mechanizm można zaobserwować, wracając do domu i patrząc jak telefon automatycznie przepina się na domową sieć Wi-Fi.

Żeby było piękniej, w zależności od producenta, niektóre z urządzeń “zapytania” o znaną sieć wysyłają regularnie, nawet jak są uśpione i spoczywają w kieszeni niczego nieświadomego podróżnego. A że router Janusza był wyposażony w modem GSM, to wszystkich przechwyconych klientów łączył z internetem.

Urządzenia ściągały sobie maile, łączyły się z serwerami aplikacji, a Janusz był w stanie podsłuchiwać nieszyfrowany ruch swoich współpasażerów. To jednak, w czasach post-Snowdenowych, nie pozwala na zdobycie interesujących informacji — obecnie prawie każdy szyfruje, prawie wszystko. Dlatego Janusz wyciągnął swojego smartphona i podpiął się do interfejsu zarządzającego routerem. Okazało się, że w przeciągu paru minut, lista “przechwyconych” urządzeń urosła do kilkudziesięciu.

opowiadanie_9B2

I jak tu nie kochać braku internetu w pociągu? – pomyślał Janusz i skonfigurował atak sslstrip, wydając następujące polecenie:


$ iptables -t nat -A PREROUTING -p tcp –destination-port 80 -j REDIRECT –to-port 6666
$ sslstrip -l 6666

Dzięki temu, był w stanie przejmować dane logowania do wszystkich serwisów internetowych, które niepoprawnie przekierowywały użytkowników na HTTPS. Po kilkunastu minutach w logach miał kilkadziesiąt haseł.

Zauważył jednak, że jeden z serwisów jest bardzo popularny wśród współpasażerów i choć poprawnie implementuje formatkę logowania, tak że atak sslstrip nie jest możliwy, to nie ustawia nagłówka HSTS. Postanowił więc wzbogacić swoją konfigurację innym atakiem typu man in the middle – pharmingem. Pod adresem 172.16.42.1 przygotował stronę udającą stronę logowania do znanego portalu dla biznesu, a na router wydał następujące polecenia:


$ cat /root/config/spoofhost
172.16.42.1 znanybiznesowyserwisspolecznosciowy.pl


$ dnsspoof -i br-lan -f /root/config/spoofhost

Atak ten polegał na skierowaniu ofiary, która wpisze jakąś domenę nie na prawdziwy adres IP, a na kontrolowany przez siebie, gdzie strona logowania co prawda będzie wyglądać identycznie jak prawdziwa, ale wpisany login i hasło zostanie poznane przez Janusza. Po kilku minutach w logach zauważył pojawiające się dane logowania na kilka kont. “Będzie co sprawdzać jak wrócę do domu“. Zazwyczaj ludzie korzystają z jednego hasła do wielu serwisów, więc Janusz podejrzewał, że wykradzione dane będą także pasować do skrzynek pocztowych przynajmniej części współpasażerów.

Bilecik poproszę! – głos konduktora oderwał Janusza od przeglądania logów z ataku. Dwa kliknięcie i na telefonie Janusza pojawił się kod Aztec, z jakiego korzysta system rezerwacji biletów.

Awarię mamy, nie mogę czytać kodów, niech mi Pan poda nazwisko i ten numerek transakcji, nad kodem jest – odburknął konduktor, a Janusz dopiero teraz zauważył, że zamiast czytnika podszedł do niego z kartką i długopisem.

Czyli błąd w systemie rezerwacji biletów dalej nie jest usunięty – zachichotał w duchu Janusz, dyktując konduktorowi fałszywe dane. Tuż przed wejściem do pociągu, w internetowym systemie rezerwacji biletów wyklikał bilet nie za 150 PLN, a za 24 PLN, na zniżkę pracownika kolei, a w polu nazwiska wpisał znak “#“.

Kiedy lista pasażerów jest importowana z systemu rezerwacji na urządzenia konduktorów, znak ten powoduje błąd parsera i konduktorzy są pozbawiani możliwości weryfikacji poprawności biletów w danym pociągu. Co to oznacza? Podróż za prawie darmo, a patrząc na wykradzione w trakcie biegu pociągu dane, nawet ze sporą dopłatą…

dffaeae9-a0cb-4af6-a063-cb4dc2294a54

Komentarz eksperta

Bezpłatne hotspoty są obecnie sporym udogodnieniem dla użytkowników. Niestety, darmowy dostęp do sieci nie zawsze idzie w parze z bezpieczeństwem. Jak zatem skutecznie ograniczyć ryzyko ataku i utraty danych? Po pierwsze, należy wyłączyć w naszych urządzeniach funkcję automatycznego łączenie się z siecią. Dzięki temu uchronimy się przed zalogowaniem bez naszej zgody do nieznanego i niezabezpieczonego hotspotu. Po drugie, korzystajmy z prywatnej sieci VPN (Viral Private Network). Dzięki funkcji VPN nasz ruch w wirtualnej przestrzeni będzie kierowany poprzez bezpieczne sieci, a nasze dane będą chronione,nawet podczas korzystania z niezabezpieczonych punktów dostępowych. Po trzecie, należy upewnić się, czy nasze urządzenie posiada aktywny program antywirusowy. Warto wybrać aplikację, która dodatkowo będzie blokowała szkodliwe strony internetowe, co dodatkowo ograniczy ryzyko ataku.
Nie zapominajmy, że smartfon czy tablet również należy chronić, w taki sam sposób jak komputer! Aby zapewnić sobie jak najlepszą ochronę, warto więc wybrać program, który integruje wyżej wymienione narzędzia. Zastosowanie się do powyższych zasad powinno uchronić nas przed atakiem i kradzieżą danych.Zawsze jednak powinniśmy zachować ostrożność. W przypadku wątpliwości co do bezpieczeństwa sieci, warto potwierdzić nazwę sieci u pracownika czy właściciela miejsca, w którym chcemy skorzystać z Internetu.
— autorem wypowiedzi jest Michał Iwan, dyrektor zarządzający F-Secure w Polsce

PS. To opowiadanie jest 10 częścią cyklu “CSI Stories” — zbioru historii, które przygotowaliśmy na zamówienie firmy F-Secure. Poprzednie odcinki możecie przeczytać w tym miejscu — z racji prostego i obrazowego języka, zachęcamy do przesyłania ich mniej technicznym znajomym. Wszystkie historie zawierają elementy wydarzeń, które zdarzyły się naprawdę.

Przeczytaj także:

69 komentarzy

Dodaj komentarz
  1. Jak malo osob umie zmienic nazwe urzadzenia (iPhone) na inna niz domyslna iPhone-IMIE :D

    • Nawet, gdyby umieli, to nie zrobiliby tego – tak mogą chwalić się swoimi iPhonami nie tylko bezpośrednio, ale również przez WiFi :D

    • Ale w androidzie nie możesz zmienić nazwy w łatwy sposób.

    • W Androidzie 6 to nie jest takie trudne – trzeba się trochę naklikać, ale można łatwo znaleźć tę opcję. Ustawienia > Sieci > Wi-Fi > pionowy wielokropek :) > Zaawansowane Wi-Fi > Wi-Fi Direct > Dotknij, aby zmienić nazwę urządzenia

    • już w androidzie 4.4 da się to łatwo zrobić. urządzenie ma jedną nazwę, na wifi drugą nazwę, a w BT trzecią nazwę.

  2. “Main in the middle”
    “(Viral Private Network).”

    Nie ma co, nbzp. Pogratulować.

    • A czy mógłbyś wyjaśnić tę kwestię? Jestem po prostu ciekawy ;)

    • @Kamil, nie czytałeś opowiadania powyżej, czy nie wiesz co znaczy MitM albo VPN?
      Tak z ciekawości pytam…

    • Ciekawe czy to celowo czy przeoczone…

    • Ty to chyba pierwszy raz czytasz CSI Stories? Zdajesz sobie sprawę z tego, że dodatkowy fun tych opowiadań to “easter eggi”? :P

  3. W Androidzie domyślna konfiguracja to wyłączenie WiFi w trybie uśpienia. Ale jak ktoś odbiera telefon to mu może się podłączyć do takiego fałszywego hotspota, tyle że powinien zauważyć ikonę. Na szczęście ja u siebie ustawiam, aby poczta łączyła się po SSL. Wtedy bez fałszywego certyfikatu danego usługodawcy atak MITM nie jest straszny.

    • Z tego co widzę w moim nexusie z androidem 6.0.1 domyślna opcja dla:
      “Wi-Fi WŁĄCZONE w trybie uśpienia” to “Zawsze”, a nie przypominam sobie abym to zmieniał. Oczywiście możemy zmienić na “Tylko, gdy podłączony” lub “Nigdy”

    • Z tego co pamiętam to tak było w Androidzie 2.3, w 4.0 juz nie.

  4. Podał konduktorowi fałszywe dane – więc miał i dowód tożsamości z fałszywymi danymi?

    • Konduktor chciał tylko nazwisko i numerek, więc po co Januszowi dowód?

    • Nadgorliwy- mógł po prostu zobaczyć “jest jakiś kod? jest” i pójść dalej

  5. Wyłączyć całkowicie WiFi i korzystać tylko z 3G/LTE. Drożej ale pewniej!

    • Prościej korzystać z kieszonkowego routera, który przy okazji może być power bankiem, i używać telefonu tylko po wifi. Dłuższa praca na baterii i nie ma problemu z podłączaniem się do lewych routerów.

  6. “obecnie prawie każdy szyfruje, prawie wszystko” – niestety to bzdura :( Większość społeczeństwa (nawet ci, którzy posiadają szczególną wiedzę i umiejętności w zakresie informatyki) nie dba o swoją prywatność – przechowują niezaszyfrowane pliki w chmurze, wysyłają niezaszyfrowane wiadomości itd. Większość moich znajomych ma konto na Facebooku, na Minds (oferującym szyfrowany komunikator) prawdopodobnie nikt. Od nikogo nie dostałem klucza publicznego GnuPG. Chyba, że za wystarczające szyfrowanie uznamy protokół HTTPS (chroniący przed podsłuchem na linii klient-serwer, ale niezabezpieczający prywatnych danych przed dostępem adminów), wtedy rzeczywiście wszyscy szyfrują. A może jeszcze uwzględnimy HDCP? :D

    • Przeciez wiadomo, ze mowimy u szyfrowaniu klient-server (np. HTTPS), niby jak inaczej serwer mialby przetwozyc ządanie o strone/pocztę/cokolwiek czy dane logowania kliena bez możliwości zdeszyfrowania ruchu?! Chroni to przez właśnie takimi Januszami z fake AP, szemranymi ISP czy rozmaitymi agencjami podsłuchującymi ruch na IXP.

      Co do ‘pełnego’ szyfrowania danych end-to-end przy wymianie wiadomości, to akurat dużo się ostatnio zmieniło: np. Whatsapp czy Facebook Messenger w pełni coś takiego wspierają.

    • Powiem tak – jako programista, a poza tym wolnorynkowiec jestem zwolennikiem zasady “cuius regio, huic imperio” w odniesieniu do stron/serwisów internetowych. Właściciel serwisu określa, co jego serwis robi i w jaki sposób i jeżeli serwis nie świadczy np. usługi szyfrowania punkt-punkt, to jego święte prawo. Nie można narzucać usługodawcom (wolnym podmiotom gospodarczym) świadczenia usług określonego typu, tak samo jak nie wolno przymuszać klientów do korzystania z usług określonego usługodawcy.

    • @wombat tylko, że protokół HTTPS był już powszechnie stosowany przed Snowdenem, a to o nim była mowa przy okazji tego fragmentu :P Czy ja pisałem, że jestem przeciwnikiem HTTPS albo że użytkownik powinien zabezpieczyć przed dostępem serwera (zaszyfrować innym kluczem) dane, które są niezbędne do jego pracy? Nie przypominam sobie. A jeśli chodzi o szyfrowanie w Facebook Messenger, to Minds ma tutaj przewagę. Szyfrowanie działa nie tylko w aplikacji mobilnej, ale również w przeglądarkach. Poza tym, skąd wiadomo, że Messenger rzeczywiście stosuje szyfrowanie end-to-end, skoro ma zamknięty kod źródłowy? Aplikacja Minds jest open-source. Wersja przeglądarkowa również – trudno, żeby nie była, skoro jest zaimplementowana w HTML, CSS i JavaScript :D
      @Lukasz032 też jestem zwolennikiem takiej zasady – ingerencja państwa zwykle nie przynosi nic dobrego. Od dawna używam Privacy Badger – wtyczki do Mozilli blokującej śledzące “ciasteczka”, wtyczki portali społecznościowych itp., a mimo to dalej muszę się męczyć z ostrzeżeniami wymuszonymi przez Eurokołchoz (szczególnie denerwujące podczas przeglądania stron na smartfonie). Jednak nie zapominajmy, że nie wszystkie strony internetowe są prywatne – niektóre z nich są utrzymywane przez państwo (z pieniędzy podatników) i nie powinny niepotrzebnie udostępniać informacji o obywatelach zewnętrznym przedsiębiorstwom, np. umieszczając na nich wtyczki Facebooka, które informują ten serwis, że np. dany użytkownik wszedł na stronę.

  7. Ja przy dluzszym wyjściu z domu wyłączam WiFi w smartfonie – szczerze mowiac glownie z uwagi na baterię. Po co ma niepotrzebnie szukac caly czas WiFi podczas gdy w terenie korzystam z 3G/LTE

    • BTS spoofing

    • BTS spoofing duzo drozszy w realizacji niż wyzej opisana sytuacja

  8. Fajnie ,że ostrzega Niebezpiecznik,szacun. Może by jakiś dział,żeby ludziska mogli się obronić . Dla zwykłego użytkownika internetu to kosmos.

  9. Mala literowka : VPN (Viral Private Network).

    Pozdrowienia

  10. Niestety Janusz dostał by z marszu kare za brak biletu ponieważ na bilet pracownika kolei potrzebna dodatkowo legitymacja pracownika… to tak tylko do sprostowania :-)

    • Chyba jednak nie zczaiłeś co zrobił Janusz. Kliknij w link i doczytaj.

  11. Proszę o wyjaśnienie. Jeżeli sieć wifi zapamiętana w telefonie wymaga hasła do autoryzacji połączenia, to co komu pi kradzieży SSID skoro i tak nie zna hasła. Autopolaczenie nie nastąpi .

    • Nastapi. Wiekszosc urzadzen akceptuje dany ssid w wersji open

    • W10 wyrzuci “niezgodność zapisanego profilu sieci” i dalej nie pójdzie. Obojętnie, jaka platforma sprzętowa.

    • W OS X dostaniesz okno modalne z warningiem “was wpa2 and now is open”

  12. Zastanawiam sie w jaki sposob Ci wszyscy “podrozujacy” mieliby sie polaczyc z “fake AP” skoro kazdy telefon szukal innej nazwy SSID. Wychodzi na to, ze sprzet Janusza zawieral megawypasiony soft, ktory potrafil w locie generowac kolejne AP dla kazdego, szukajacego SSID swojego telefonu :-) Albo jakis skrot myslowy zrobiliscie, albo poplyneliscie po bandzie :)

    • Google karma

    • Da się to zrobić, jeden router spokojnie może generować kilka nazw sieci i działać jako osobne, to nie problem, musi być tylko szybki procesor i wystarczająco RAMu.

    • Mikrotiki spokojnie potrafią takich sieci udźwignąć kilka/kilkanaście w zależności od modelu :)

  13. Niestety, ja się nie boje, mam VPN i co chce to robię :D

  14. W tej linijce z REDIRECT to chyba chcieliście –dport 443, a nie 80.

    • Nie, jest dobrze – sslstrip wycina “s” z “https” w adresach wczytywanych na stronach nieszyfrowanych, a sam stanowi proksiarza, na którym ewentualna “wymuszona” przez serwer sesja SSL jest terminowana i dalej leci plaintekstem.

  15. Ekspert mówi:
    > VPN (Viral Private Network)

    I call autocorrect BS on that! ;)

    • Ja myślę, że tutaj pun intended :)

  16. super, że ktoś opisuje takie procedury, ale naprawdę brakuje wielu ważnych informacji dla ludzi z ulicy dotyczących bezpieczeństwa danych. jak kodować, czym kodować, co to vpn, myślę że poradnik w tym zakresie by się naprawdę przydał.

  17. To już pineapple nano pozwala na sslstrip ? Myślałem ze tylko mkV dawało z tym radę

  18. Prośba o krótkie info czy link.

    Jak skonfigurować / jakiego narzędzia użyć na linuksie by ten nie rozgłaszał listy sieci z którymi chcę łączyć się automatycznie, a próbę nawiązanie połączenia rozpoczynał wyłącznie po pasywnym wykryciu obecności danej sieci?

  19. Ja bym zauważył, że smartfon się niespodziewanie przełączył na WiFi. Zwłaszcza w pociągu gdzie częsta się zerka na tryb 2g/3g/lte i zasięg czy nie uciekł.

  20. Chwila. W 802.11abgn to raczej AP rozgłasza beacony do potencjalnych klientów co jakiś czas (kilkaset ms), a nie klienci w eter bez ładu i składu. Inaczej airodump łapałby niepodłączonych do niczego klientów.

    • No właśnie rozgłasza, w airdumpie często można zobaczyć klientów szukających AP.

    • Z tego, co zdążyłem sprawdzić organoleptycznie, airodump zaczyna śledzić klienta w momencie “złapania” pierwszego wysłanego pakietu w stronę dowolnego AP. A pierwszym w chwili, gdy nie jest klient połączony, zwykle jest “connect” (wyszukiwanie sieci jest operacją pasywną – w ciągu pewnego czasu t łapane są beacony od nadających w pobliżu AP i określane są ich parametry (RSSI, SNR, dane z beacona, ale nie CCQ – ta wartość może być określona tylko na połączeniu zestawionym)).

  21. Artykuł opisuje atak “Karma” ale już rzadko wykorzystywany:

    1. To AP rozgłasza beacony nie klient. No poza OS X który nadal rozsyła probe requesty. Window 7 ma to wyłączone. (Z artykułu wynika jakby wszystkie karty sieciowe w każdym urządzeniu rozsyłały probe’y a tak nie jest)
    2. Chyba już nikt nie ustawia WPA na swoich AP tylko WPA2 więc jeśli hasło jest dostatecznie długie to nie ma się czego bać. Atakującemu nic nie da podrobienie SSID bo do połączenia i tak nie dojdzie

    Problem tylko jeśli ktoś używa otwartych sieci bez hasła np. w kawiarni. No ale to już proszenie się o kłopoty na własne życzenie.

    • Nie rozumiem jednej rzeczy, jeśli chodzi o bezpieczeństwo WiFi. Jeśli użytkownik chce się połączyć z siecią niewymagającą hasła, to większość urządzeń wyświetla ostrzeżenie, że inni mogą podsłuchać jego transmisję danych. Jednak w wielu miejscach publicznych sieci są zabezpieczone hasłem, ale hasło to jest wywieszone na ścianie tak, że każdy (zarówno zwykły użytkownik, jak i haker) może je zobaczyć. Czy to nie jest absurd? I czy nie jest absurdem fakt, że wszyscy się do tego przyzwyczaili? Skoro sieć jest dostępna dla wszystkich, to po co zabezpieczać ją hasłem? Czy nie dałoby się zaszyfrować transmisji danych pomiędzy urządzeniami użytkowników a routerem bez ręcznego wpisywania hasła?

    • Protokół 802.11 jest skonstruowany tak, a nie inaczej, i obecnie ciężko byłoby to zmienić. Chociaż jeżeli chcemy targetować konkretne urządzenia, np. telefony, można by było użyć EAP-SIM z radiusem akceptującym wszystko. Tylko, że konfiguracja serwera radius już nie jest trywialna i samo jego postawienie to już dodatkowe urządzenie i bynajmniej nie jest to jakiś tani router czy AP.

  22. No i w końcu coś w 100% z mojej hobbistycznej szuflady niebezpiecznikowej :D podziękować. Jakieś info na temat tej antenki ?

  23. Jestem uzytkownikiem ajfona i maca (najnowsze softy), jedyny ruter z ktorego korzystam to moj domowy. Poza domem zawsze uzywam tylko sieci komorkowej. Jest mozliwe ze ajfon bez pytania polaczy sie z takim Januszem? Czy jest inny sposob niz opcja “ask to join” zeby tego uniknac? Chcialbym oznaczyc moj domowy ruter jako jedyny zaufany ale chyba nie da sie tak zrobic…

    • Najlepiej sprawdź w kodzie źródłowym IOS, a gdyby nie było to dopisz co trzeba i skompiluj :D

  24. Ten artykuł nie ma taga csi-stories i nie pokazuje się na liście artykułów tej serii.

  25. Te opowiadania są świetne. Weźcie wrzucajcie więcej, chociaz jedną tygodniowo :)

  26. Skądinąd przydałby się jakiś artykulik ze zdaniem **niebezpiecznika** na temat czy rzeczywiście konieczny jest antywirus na telefony i tablety. Mamy tutaj zdanie eksperta F-Secure, ale ono akurat jest tutaj niewiele warte ze wzgl. na konflikt interesów – nie wiadomo, na ile jest to próba reklamowania F-Secure Mobile Security. Zdanie niezależnego od firm antywirusowych eksperta zabrzmiałoby o wiele mocniej jeśli faktycznie antywirusy na urządzenia mobilne są niezbędne.

    • Szczerze mówiąc nie rozumiem, w artykule nic nie ma na temat AV na urządzenia mobilne?

      Jeśli ten artykuł ma dowodzić, że Niebezpiecznik jest niezależny od firm antywirusowych – świetnie, ale problem polega na tym, że powyżej o konieczności posiadania AV na urządzenia mobilne pisze nie redakcja Niebezpiecznika, ale Michał Iwan, dyr. F-Secure…

  27. Nigdy w życiu nie korzystałem z WiFi i żyję.

  28. Z tego co rozumiem ten atak zadziała tylko jak zapamiętana jest co najmniej jedna sieć niezabezpieczona (lub sieć z hasłem znanym atakującemu), zgadza się?

  29. swoją drogą, co to za routerek na zdjęciu, wie ktoś? :)

    • Wygląda na Alfa AP121U

  30. Zrobiłem z 10 lat temu podobną prezentację na ćwiczeniach z informatyki ;] Dostałem 5 :D

  31. Będzie więcej?

  32. Czyli F-Secure zamawia opowieści jak można wykonać atak na użytkownika. Genialne! wszystko ładnie opisane krok po kroku…o 15:30 mam pociąg :) se tylko wezme komendy spisze…

  33. Mam kilka pytań.

    1. W windows 10 jest automatycznie ustawiona opcja, żeby łączyć się z otwartymi sieciami i rozumiem, że taki laptop może podłączyć siè do hot-spota Janusza ale jak telefon z androidem który ma np zapmiętaną sieć “dom” i w tej sieci jest hasło połączy się z Januszem?

    2. Pod koniec sierpnia jadę PKP i sprawdzę czy # dalej działa :p. A co — może zrobić?

Twój komentarz

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