Nietypowe metody wykorzystywane w atakach phishingowych

27 marca 2017, 15:09 | Teksty | komentarzy 7
: zin o bezpieczeństwie - pobierz w pdf/epub/mobi.

Wstęp

W ciągu ostatnich lat phishing bardzo ewoluował. Powstanie wielu nowych technik – i w związku z tym modyfikacja dostępnych rozwiązań – przeniosło ten typ ataku na wyższy poziom. Atakujący coraz częściej do jego dystrybucji wykorzystują pocztę elektroniczną, strony WWW lub wiadomości prywatne w komunikatorach. W tym artykule postaram się przybliżyć jedne z najpopularniejszych metod wykorzystywanych obecnie w kampaniach phishingowych.

Celem artykułu jest zwiększenie powszechnej świadomości, że phishing to już nie tylko proste wysłanie wiadomości z podrobioną stroną WWW i próba wyłudzenia naszego hasła do poczty – czasami jest to znacznie bardziej zaawansowany i lepiej zaplanowany strategicznie atak. Warto poznać te „nietypowe” metody, ponieważ być może ich znajomość uchroni nas przed niebezpieczeństwem.

Typosquatting

Typosquatting polega na rejestrowaniu domen z zastosowaniem prostych błędów literowych, które mogą zostać popełnione przez internautów podczas wpisywania nazwy strony w pasku adresu przeglądarki. Przykładem mogłoby być pominięcie jednej z liter lub wprowadzenie takiej, która sąsiaduje z daną literą na klawiaturze.

Inne proste zastosowania tej techniki to:

  • wwwnazwadomeny (bez kropki pomiędzy „www”, a nazwą domeny)
  • www-nazwadomeny (kreska pomiędzy „www”, a nazwą domeny)
  • nazwadomeny-dowolnanazwa (kreska pomiędzy nazwą oryginalnej domeny, a nazwą domeny)

Warto dodać, że w przeszłości najbardziej popularne było umieszczanie na „przejętej” przez atakującego domenie katalogu z nazwą domeny, pod którą chciał podszyć się atakujący.

Z ciekawą analizą typosquattingu, opartą na przeglądzie ponad 500 popularnych stron, można się zapoznać pod poniższym adresem:

Homoglyph & homograph

Atak polega na wykorzystaniu podobieństw w wyglądzie danej litery, cyfry bądź znaku, poprzez użycie zestawu innych znaków, m.in. cyfr i liter. Często stosowaną metodą jest używanie tych samych liter z innych języków bądź kodowań (pisaliśmy o tym np. tutaj: https://sekurak.pl/rosjanie-przejeli-%c9%a2oogle-com/ i tutaj: https://sekurak.pl/sekurak-pl-przejety-przez-polskich-hackerow/).

Najprostszą techniką tego typu jest łączenie liter oraz znaków i ich zamiana na inne. Do najpopularniejszych przykładów możemy zaliczyć poniższe (w nawiasie przedstawiono czytelniejszą wersję):

  • rn jako m (małe litery R i N jako mała litera M)
  • cl jako d (małe litery C i L jako mała litera D)
  • q jako g (mała litera Q jako mała litera G)
  • cj jako g (małe litery C i J jako mała litera G)
  • vv jako w (podwójna litera V jako litera W)
  • ci jako a (małe litery C oraz I jako mała litera A)
  • I jako l (duża litera i jako mała litera L)
  • l jako I (mała litera L jako duża litera i)
  • 1 jako l (cyfra 1 jako mała litera L)
  • 1 jako I (cyfra 1 jako duża litera i)
  • l jako 1 (mała litera L jako cyfra 1)
  • I jako 1 (duża litera i jako cyfra 1)

W przypadku innego języka i kodowania na poniższej stronie znajdziemy dużą listę odpowiedników znaków:

Warto wykorzystać również windowsowe narzędzie „Windows Character Map” (charmap.exe).

Dodatkowe linki:

Punycode

Punycode to specjalne kodowanie, które jest wykorzystywane w celu konwersji Unicode na zestaw dozwolonych znaków w nazwie (tj. litery ASCII, cyfry i myślniki). Domenę, która zawiera znaki spoza ASCII, nazywamy Internationalized Domain Name (IDM) – dzięki Punycode jesteśmy w stanie przedstawić jej nazwę w wersji obsługiwanej przez serwery DNS:

Unicode Punycode
seĸuraĸ.pl xn--seura-v5ad.pl

IDN Conversion Tool: http://mct.verisign-grs.com/

Bitsquatting

Bitsquatting to technika polegająca na rejestracji domeny różniącej się o jeden bit od tej „popularnej”, pod którą chciałby się podszyć atakujący. Całość opiera się na oczekiwaniu na losowe błędy spowodowane sprzętem komputerowym (najczęściej RAM-em).

Ciekawe opracowanie tego zagadnienia zostało przedstawione pod linkiem: http://dinaburg.org/bitsquatting.html.

Natomiast domenę stosującą ww. metodę można wygenerować, korzystając np. ze skryptów: https://github.com/benjaminpetrin/bitsquatting lub https://github.com/artemdinaburg/bitsquat-script.

Right-to-Left Override [RTLO / RLO]

Przez ostatnie kilka lat mogliśmy widzieć różne metody na wykorzystanie znaku „Right-to-Left Override” (Kod: U+202E):

  • od zmiany rozszerzenia pliku:

Rysunek 1. Widok aplikacji EXE z umieszczonym w nazwie znakiem RTLO, tak aby podszywał się pod rozszerzenie JPG

Notatka: Jako że rozszerzenia plików, np. EXE i SCR, w przypadku użycia znaku RTLO są wyświetlane odwrotnie, tj. EXE i RCS (w tradycyjnej technice bez zaciemniania oryginalnego rozszerzenia różnymi metodami), przestępcy często wykorzystują słowa, które mają ww. zakończenia (lub podobne), np.: Annexe, Forexe, Reflexe, Arcs, Orcs, Marcs.

Dzisiaj przedstawię mniej popularną metodę, którą atakujący mogą wykorzystywać do „spoofowania” linków z adresem e-mail.

Napisałem „mogą”, ponieważ nie jestem pewien, czy rzeczywiście ją stosują. Na taką możliwość użycia znaku RTLO wpadłem samemu – jednakże jest to dość proste wykorzystanie, więc prawdopodobnie ktoś inny również już to odkrył.

Atakujący umieszczają na stronie WWW kod HTML zawierający link „mailto:” ze znakiem RTLO (URL Encode – %E2%80%AE):

Celem powyższego przykładu było zaprezentowanie e-maila „lp.karukes@rozwal.to” w programie pocztowym, np. Microsoft Outlook, ale docelowo wysłanie go na adres „ot.lawzor@sekurak.pl”.

W momencie kliknięcia przez ofiarę ataku w powyższy link w programie pocztowym zobaczymy:

Rysunek 2. Okno tworzenia nowej wiadomości w programie Microsoft Outlook 2013 z fałszywym adresem w polu „Do…”

Jednak po kliknięciu przycisku „Wyślij” e-mail zostanie wysłany na inny adres. Jeżeli ofiara ataku przesunie myszkę na pole z adresem, również zobaczy „fałszywy” e-mail:

Rysunek 3. Szczegóły adresu e-mail po najechaniu na niego wskaźnikiem myszy

Zawsze uważnie sprawdzajmy adresata naszej wiadomości e-mail. Jeżeli to możliwe postarajmy się ręcznie przepisać adres e-mail, na który chcemy wysłać wiadomość i nie klikać w nieznane nam linki.

URI scheme

Uniform Resource Identifier (URI) to ciąg znaków wykorzystywanych do identyfikacji zasobów. Dzięki niemu możemy m.in. umieścić obrazek na stronie (w kodzie HTML) bez potrzeby dołączania dodatkowych plików graficznych. To znacznie ułatwia przestępcom wiele działań, a jednocześnie zmniejsza wykrywalność (generowany jest mniejszy ruch, sprowadzający się do pobrania 1 strony HTML) i sprawia, że nic nie jest ładowane z zewnątrz.

Do najpopularniejszych schematów wykorzystywanych przez „phisherów” należy zaliczyć:

  • data:MIME,WARTOSC
  • data:MIME;charset=KODOWANIE;base64,WARTOSC_W_BASE64
  • data:,WARTOSC

Pole WARTOSC uzależnione jest od typu pliku lub zastosowanego kodowania.

Znając ogólny schemat, możemy przystąpić do prezentacji realnych przykładów. Na poniższej stronie znajdziemy prostsze i bardziej zaawansowane zastosowanie Data URI:

HTML5 Fullscreen API Attack

Atak „HTML5 Fullscreen API” wykorzystuje mechanizm prezentowania zawartości stron WWW w trybie pełnoekranowym. Autorem „nietypowej” prezentacji implementacji ww. API jest Feross Aboukhadijeh (http://feross.org). Przestępcy, stosując mechanizm, są w stanie zaprezentować fałszywy widok górnego paska przeglądarki oraz załadować dowolną dolną treść, dzięki czemu mało uważny użytkownik może nie zauważyć „podmiany”.

Demo: https://sekurak.pl/przyklady/html5_fullscreen_api_attack/

Blankshield & Reverse Tabnabbing

Atak polega na podmianie zawartości zakładki, z której nastąpiło kliknięcie (target=”_blank”) na inną stronę.

Jak atak działa w praktyce, możemy sprawdzić, otwierając w przeglądarce (najlepiej Google Chrome) stronę: https://sekurak.pl/przyklady/blankshield_reverse_tabnabbing/, a następnie sprawdźcie poprzednią kartę.

Na stronie: https://samiux.blogspot.com/2016/09/firefox-480-does-not-vulnerable-to.html zaprezentowano ciekawe podsumowanie tego, jakie przeglądarki są podatne na ww. atak.

Warto wspomnieć, że Google postanowił, aby nie wypłacać nagród (Bug Bounty) za błędy tego typu: https://sites.google.com/site/bughunteruniversity/nonvuln/phishing-with-window-opener.

Clickjacking

Atak polega na stworzeniu elementu (najczęściej ramki iframe), który zostanie wyświetlony ponad inną funkcjonalność serwisu. Implementację tego ataku mogliśmy wielokrotnie obserwować jakiś czas temu, gdy powstało wiele stron, które przykrywały przycisk „Lubię to!” z portalu Facebook (obecnie popularność tego ataku zmalała). Nieświadomy użytkownik, klikając w dany link, tak naprawdę zgadzał się na polubienie danej strony fanpage.

Prostą prezentację działania ataku można zobaczyć tutaj:

URL Redirect

Technika polega na wykorzystaniu zaufania do innej witryny oraz znalezieniu na niej błędu lub funkcjonalności umożliwiającej wprowadzenie adresu, na który nastąpi przekierowanie (OWASP TOP 10 z 2013 roku, punkt A10). W związku z tym schemat ataku mógłby wyglądać następująco:

  1. Atakujący znajduje na zaufanej stronie funkcjonalność przekierowania, która nie weryfikuje adresu docelowego.
  2. Atakujący tworzy na swoim serwerze fałszywą stronę phishingową.
  3. Atakujący wysyła „socjotechniczną” wiadomość e-mail do ofiary ataku wraz z linkiem:

lub (aby link był dłuższy i ukrył stronę atakującego)

Ofiara ataku, najeżdżając myszką na hiperłącze, widzi na początku adres „https://zaufanastrona/”, co może utwierdzić ją w przekonaniu, że strona jest bezpieczna.

Content Warning Bypass

Prawdopodobnie czytelnik miał już okazję zobaczyć komunikat informujący o tym, że zostały wyświetlone jedynie treści dostępne za pośrednictwem HTTPS. Dzieje się tak głównie w momencie, gdy jesteśmy na stronie z HTTPS, ale np. w ramce iframe zostaje wyświetlona strona, która nie posiada szyfrowanego połączenia (HTTP). Poniżej zamieszczam przykład:

Rysunek 4. Przeglądarka z komunikatem informującym, że jedynie treści dostępne za pośrednictwem HTTPS zostały załadowane

Jakiś czas temu pojawił się jednak artykuł na stronie BrokenBrowser.com, na której autor informuje o ciekawej sztuczce. W celu załadowania na stronie z HTTPS np. ramki iframe ze źródłem HTTP wystarczy, że wykorzystamy inną stronę z HTTPS, która posiada funkcjonalność przekierowania użytkownika na dowolną witrynę.

Przykładowy kod mógłby wyglądać następująco:

Rysunek 5. Ominięcie blokady ładowania treści z nieszyfrowanego adresu HTTP na stronie z HTTPS

Dzięki tej technice przestępcy mogą w prosty sposób ominąć to ograniczenie.

Favicon & Green Padlock

Jest to prosta technika, obecnie już prawie niewykorzystywana z powodu zmian prezentacji miejsca wyświetlania ikony strony. Atakujący tworzyli favicon z zieloną lub żółtą kłódką, która sugerowała, jakoby strona posiadała bezpieczne połączenie HTTPS.

Rysunek 6. Podmieniona ikona strony WWW w celu stworzenia złudzenia w postaci bezpiecznego połączenia HTTPS

Content Injection

Podmiana treści na stronie może nastąpić w wyniku pełnego włamania na serwer lub istnienia podatności, np. Cross-Site Scripting (XSS) czy SQL Injection. Atakujący, który zidentyfikuje podatność, wpływa na zawartość strony i modyfikuje ją, tak aby przechwytywała dane logowania lub wykonywała inne złośliwe działania.

HTTP Auth

Jakiś czas temu opisywaliśmy narzędzie Phishery, pozwalające na dodanie do istniejącego dokumentu Word „odniesienia” do szablonu umieszczonego na „zdalnym serwerze”, mające na celu kradzież/przechwycenie danych wprowadzonych przez użytkownika w oknie podobnym do poniższego:

Rysunek 7. Dokument programu Microsoft Word z wyświetlonym oknem do podania poświadczeń

Jeżeli ofiara ataku poda dane logowania, np. do swojego konta domenowego, to atakujący automatycznie je otrzyma:

Rysunek 8. Widok uruchomionego serwera atakującego wraz z fragmentem logu z przechwyconymi danymi do logowania

Warto wiedzieć, że ten typ ataku można również wykorzystać w wiadomościach e-mail – w aplikacji Microsoft Outlook po przesłaniu wiadomości z linkiem, który zabezpieczony jest przez HTTP Basic Authentication. Ofiara ataku, która otrzyma tak przygotowany e-mail, zobaczy ekran podobny do poniższego (w zależności od konfiguracji):

Rysunek 9. Podgląd wiadomości e-mail w programie Microsoft Outlook z widocznym oknem z prośbą o podanie loginu i hasła

Atakujący liczy na to, że ofiara ataku wpisze w takie wyskakujące okno swoje dane logowania.

Domyślnie komunikat posiada schemat: „The server NAZWA_SERWERA_ATAKUJĄCEGO at WARTOŚĆ_AUTHNAME_Z_PLIKU_.HTACCESS requires a username and password”. W polu wartości AuthName z pliku .htaccess atakujący najczęściej wpisuje swoją prośbę. W powyższym przykładzie prośba, tj. „The connection was lost. In order to connect with mail in Outlook, it is…”, została napisana w taki sposób, aby „łączyła się” z domyślnym tekstem, tj. „requires a username and password”.

Pamiętajmy, aby NIGDY nie wpisywać haseł w takich wyskakujących oknach, których domeny nie znamy! Uważajmy na ten typ ataku, ponieważ staje się on coraz bardziej popularny!

Pole „Name” z adresem e-mail i spacje

Kilka lat temu (ok. 2011 roku), realizując testy socjotechniczne dla jednego z klientów, wpadłem na pomysł związany z wykorzystaniem „ukrywania adresu e-mail”, jeżeli pole „Name” jest zbyt długie.

Nie widziałem wykorzystania tej techniki w praktyce ani nie czytałem o niej, jednakże warto mieć na uwadze taką możliwość. W celu wykonania tego ataku przestępca wprowadza w pole „Name” wartość w schemacie:

Czyli po wysłaniu wiadomości z powyższym polem (ale bez 300 spacji) odbiorca zobaczy:

Rysunek 10. Podgląd wiadomości e-mail z nietypowym polem „Name” bez spacji

Oczywiście prawdziwy adres został zamazany jedynie na potrzeby rysunku do tego artykułu.

Co się jednak stanie, gdy dodamy wspomniane 300 spacji? Widok będzie następujący:

Rysunek 11. Podgląd wiadomości e-mail z nietypowym polem „Name” z dodanymi ok. 300 spacjami

Dzieje się tak, ponieważ w zależności od rozdzielczości znaki, które się nie mieszczą na ekranie, są ukrywane przez program Microsoft Outlook – w związku z tym nasza „długa wartość” pola „Name” nie jest widoczna (w większości przypadków wystarczy 300–500 spacji).

A tak wygląda widok, gdy klikniemy przycisk „Odpowiedź”:

Rysunek 12. Okno odpowiedzi na e-mail „fałszywy@adres.mail” z widocznym „prawdziwym” adresem w treści odpowiedzi

.LNK

Pliki .LNK zyskały ostatnio ponownie na popularności w trakcie kampanii ze złośliwym oprogramowaniem typu „ransomware” (m.in. Locky). Atak polega na stworzeniu skrótu do danego oprogramowania wraz z dodatkowymi poleceniami, które uruchomią bardziej zaawansowane komendy. Przyjrzyjmy się zasadom działania tej techniki, aby wiedzieć, jak się przed nią bronić.

PowerShell 

PowerShell jest chętnie wykorzystywany w związku z szerokimi możliwościami obfuskacji danego polecenia. W przypadku tej metody atakujący wykonuje prawdopodobnie następujące kroki:

  • Tworzy nowy skrót wraz z poleceniem PowerShell:

Rysunek 13. Tworzenie nowego skrótu w systemie Microsoft Windows

  • Po stworzeniu link wygląda następująco:

Rysunek 14. Skrót do programu PowerShell z domyślną ikoną

  • Następnie zmienia jego nazwę i ikonę na inną, np.:

Rysunek 15. Zmieniona ikona dla skrótu do programu PowerShell

Nasz link nie jest „złośliwy”, ponieważ zawiera jedynie wyświetlenie prostego komunikatu. W normalnym wykorzystaniu atakujący może umieścić tam np. pobieranie innego pliku EXE i jego uruchomienie.

Warto dodać, że dawniej częściej spotykaliśmy link:

Jeżeli atakujący ma już przygotowany link, to kolejnym krokiem jest sposób jego dostarczenia: 

  • .LNK + dokument Microsoft Office

Jedną z opcji jest dokument Word:

Rysunek 16. Dokument programu Microsoft Word z dołączonym skrótem (jako obiekt)

  • .LNK + archiwum

Oczywiście tak przygotowany link (plik .LNK) może zostać umieszczony w archiwum, np. ZIP:

Rysunek 17. Archiwum ZIP z skrótem w środku (warto zwrócić uwagę na brak charakterystycznej strzałki widocznej w standardowym widoku)

  • .LNK + plik wykonywalny ze zmienionym rozszerzeniem

Kolejną techniką jest zmiana rozszerzenia pliku wykonywalnego, np. EXE na PNG. Następnie atakujący musi już tylko stworzyć skrót, z komendą podobną do poniższej:

Rysunek 18. Widok aplikacji EXE z zmienionym rozszerzeniem na PNG oraz skrótem z przezroczystą ikoną

Pozostałe techniki

Spójrzmy na jeszcze jedną, mało znaną technikę, która ma wiele wad (m.in. nie podmienia pełnego paska, tylko ścieżkę) – wielokrotnie spotkałem się z jej implementacją. Mam na myśli wykorzystanie metody z „replaceState” w JavaScript do manipulacji paskiem adresu.

Przygotowałem prosty przykład zastosowania tej techniki:

Po kliknięciu w powyższy link powinniśmy zobaczyć automatycznie „zaktualizowany” pasek adresu.

Podsumowanie

Mam nadzieję, że artykuł pomoże czytelnikom lepiej rozpoznawać phishing. Oczywiście nie zapominajmy również o socjotechnice, a także złośliwym oprogramowaniu, które dość często dołączane jest m.in. do wiadomości e-mail. Należy mieć na uwadze, że artykuł nie wyczerpuje listy wszystkich ataków – wspomniane zostały jedynie te „najciekawsze”.

Polecam lekturę tego artykuły wszystkim osobom, które są zainteresowane zwiększeniem swojej świadomości na temat możliwych ataków.

Źródła i dodatkowe linki:

~ Artur Czyż, pentester, prowadzi szkolenie cyberawareness – dla pracowników nietechnicznych

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

  1. pm

    „Zawsze uważnie sprawdzajmy adresata naszej wiadomości e-mail.”
    Trochę dziwne stwierdzenie biorąc pod uwagę to:
    „Jeżeli ofiara ataku przesunie myszkę na pole z adresem, również zobaczy „fałszywy” e-mail:”
    Znaczy, ja bym chętnie sprawdzał, ale artykuł nie wyjaśnia jak…

    Odpowiedz
    • ac

      Dzięki za cenny komentarz. Dodałem dodatkowe zdanie.

      W przypadku wspomnianego ataku wykorzystującego znak RTLO, najbezpieczniejszą opcją wydaje się ponowne przepisanie adresu e-mail, na których chcemy wysłać wiadomość. Z uwagi na to, że zarówno aplikacja Microsoft Outlook, jak i Mozilla Thunderbird posiadają „obsługę” znaku RTLO, to nie jesteśmy w stanie „wizualnie” zobaczyć różnicy w wyświetlanym adresie. W związku, z tym nie powinniśmy klikać na nieznane nam linki i zawsze starać się przepisać dany adres e-mail.

      Za „metodą” w postaci przepisania na nowo adresu e-mail, przemawia również fakt ochrony przed innymi atakami, np. „Homoglyph & Homograph”.

      Odpowiedz
  2. Ale Windows XP to już dawno powinien być martwy.

    Odpowiedz
  3. Wojtek

    Podrzucę Wam jeszcze jeden trik, pewnie go znacie ale w artykule nie było.

    Zawidziany parę miesięcy temu na jakimś wpisie na Twitterze.

    Używanie spacji też jest przydatne do maskowania prawdziwego rozszerzenia nazwy pliku:

    mrok_i_zlo.exe na

    mrok_i_zlo.pdf[60 spacji].exe

    teraz taki plik o zmienionej nazwie pakujemy do archiwum zip.

    I teraz cel phishingu otwierając archiwum używa w większości przypadków domyślnego podglądu do przeglądania spakowanych plików, który nie pokazuje tych xx spacji i prawdziwego rozszerzenia pliku.

    Mało tego domyślny widok plików pod eksploratorem Win7 też nie pokazuje rozszerzenia choć pisze już z boku, że to np. aplikacja a nie dokument.

    W win8 i win10 już są dodane kolorki i inne pierdoły łatwiej to zauważyć, ale domyślny podgląd zawartości archiwum zachowuje się tak samo jak w Win7.

    Można to połączyć np. ze zmianą ikony dla skompilowanego pliku .exe i przed ostatecznym mrokiem_i_zlem chroni użytkownika jeden komunikat z UAC (win7) czy uruchomić dany plik. W tym komunikacie widać już prawdziwe rozszerzenie ale większość użytkowników i tak nie przeczyta i kliknie uruchom.

    Dodatkowym profitem z pakowania plików do .zip jest to, iż w ostatnich aktualizacjach zarówno Thunderbird jak i Firefox, a także Chrome ( nie wiem jak Outlook) zbiesiły się na różne ciekawe rozszerzenia (np.: .WSC, .HTA, chyba .PS1 i .LNK też) i jeżeli wiadomość e-mail zawiera taki plik żywcem to oprogramowanie zablokuje jego otwarcie / ściągnięcie raportując userowi podejrzany plik.

    Ale już archiwum.zip zawierający taki plik łykają jak pelikan rybę :D.

    Pod win8/win10 dużo bardziej restrykcyjnie podchodzą do plików .exe (te straszące monity na całą stronę) więc pewnie dlatego taka popularność wszelkich skryptów phishingu obecnie.

    Google ma śliczną listę plików, które blokuje można się sporo nauczyć analizując czemu i jak dane pliki są pod windą odpalane.

    https://support.google.com/mail/answer/6590?hl=en

    Odpowiedz
  4. Andy

    Prezentowany HTML5 Fullscreen API Attack ma ciekawy błąd: skalowanie okna przeglądarki brane jest ze wskazanej domeny. Jeśli jest powiększone to górny powiększony pasek przeglądarki wygląda ciekawie.

    Odpowiedz
  5. Dj.E.lot

    Solidnie i jasno opisane. Dzięki za wasz czas i chęci.

    Odpowiedz
  6. Krzysiek

    Super zestawienie wielu metod w jednym miejscu :)

    Odpowiedz

Odpowiedz

Time limit is exhausted. Please reload CAPTCHA.