Podróże kosztują…

Artykuł ku przestrodze zze strony Niebezpiecznik.pl

 

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_9B2https://niebezpiecznik.pl/wp-content/uploads/2016/07/opowiadanie_9B2-350x245.jpg 350w, https://niebezpiecznik.pl/wp-content/uploads/2016/07/opowiadanie_9B2-768x538.jpg 768w, https://niebezpiecznik.pl/wp-content/uploads/2016/07/opowiadanie_9B2.jpg 954w" sizes="(max-width: 600px) 100vw, 600px" style="margin: 0px auto; padding: 0px; border-width: initial; border-style: none; outline: 0px; vertical-align: baseline; display: block; background: transparent;">

– I jak tu nie kochać braku internetu w pociągu? – pomyślał Janusz i skonfigurował ataksslstrip, 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ą…