Pięć sztuczek na omijanie filtrów pocztowych na przykładzie Office365

dodał 27 sierpnia 2018 o 08:57 w kategorii Info, Włamania  z tagami:
Pięć sztuczek na omijanie filtrów pocztowych na przykładzie Office365

O bezpieczeństwo naszych skrzynek pocztowych dbają różne systemy filtrowania treści. Filtry mają jednak to do siebie, że można je ominąć. Poniżej znajdziecie opisy pięciu różnych scenariuszy ataku, w których przestępcy ominęli filtry Office365.

Office365 zyskuje popularność na rynku – także jako cel przestępców. Tylko w ostatnim czasie pojawiły się trzy nowe wektory ataku: PhishPoint, czyli złośliwe linki ukrywane w plikach programu SharePoint, manipulacja tekstem (ukrywanie tekstu przy użyciu tagów kodu HTML, wykorzystanie zapisu unicode czy heksadecymalnego) oraz baseStriker (również wykorzystanie tagów HTML, deklarowanie głównego trzonu linku na początku kodu, a w dalszej części łączenie go z inną jego częścią). Poniżej znajdziecie opis tych technik – może zainspiruje on Was do wymyślenia nowych metod omijania mechanizmów bezpieczeństwa.

PhishPoint, czyli obchodzimy filtry MS Office

Microsoft, aby zapobiegać potencjalnym zagrożeniom, skanuje linki zamieszczone w e-mailach np. pod kątem domen zawartych na czarnych listach. Niestety, gdy podejrzany link umieszczony jest wewnątrz dokumentu SharePoint, to nie jest on już weryfikowany. Jak wygląda taki atak?

Krok 1: Ofiara otrzymuje e-mail z linkiem do dokumentu SharePoint. Sama korespondencja wygląda jak standardowe zaproszenie do współpracy, które można wysłać z tego programu pakietu Office.

(obrazek za avanan.com)

Krok 2: Po wejściu w link automatycznie otwiera się dokument SharePoint, który w tym przypadku imituje standardową stronę logowania do pliku OneDrive, ale niestety po wejściu w link użytkownik zostaje przekierowany na spreparowaną stronę.

(obrazek za avanan.com)

Krok 3: Po wpisaniu danych logowania na fałszywej stronie są one przechwytywane przez przestępców.

(obrazek za avanan.com)

Literujemy, czyli manipulacja tekstem i HTML-em, część 1 – ZeroFont Phishing

Niezależnie od wielkości tekstu wszystkie znaki są czytane przez filtry bezpieczeństwa Microsoftu, lecz w przypadku wykorzystania tej podatności podejrzany e-mail wygląda na losowy ciąg znaków. Najczęściej stosowany scenariusz dla tego ataku to korespondencja o wykorzystanym limicie miejsca w zasobie sieciowym. Przykład takiego e-maila:

(obrazek za avanan.com)

Dopiero zaglądając w źródło wiadomości, możemy zauważyć ukryty tekst, dzięki któremu omijane są filtry.

(obrazek za avanan.com)

Zobaczcie różnicę: na pierwszym obrazku mamy to, co widzi użytkownik, na drugim – to, co widzi filtr bezpieczeństwa, czyli losowy ciąg znaków.

(obrazek za avanan.com)

Aby tego dokonać wystarczy podstawowa znajomość kodu HTML i wykorzystanie tagu:

Teraz przekonajcie się o tym na własnej skórze – skopiujcie poniższy tekst do notatnika i zobaczcie, co Wam wyszło:

UWAGA! Konkurs na zniżkę na szkolenie z3s – wpisujcie miasta w komentarzach – ale zniżkę 10% dostaną tylko ci, którzy wpiszą miasto wspak :)

Literujemy, czyli manipulacja tekstem i HTML-em, część 2 – Puny-Phishing

Punycode jest konwersją znaków, aby były one obsługiwane przez serwery DNS.  Dzięki podmianie znaków atakujący mogą zmienić wygląd linku na taki, który nie będzie podejrzany. Przykład:

http://www.pаypal.com/

Link wygląda wiarygodnie, prawda? Jednak odnosi się on do zupełniej innej strony:

http://www.xn--pypal-4ve.com/

Dla użytkownika link wyświetla się poprawnie i jest wiarygodny. Podobnie widzą to również filtry antyspamowe, które nie konwertują adresu. Dla przykładu poniżej znajduje się e-mail, który był rozsyłany w jednej z akcji phishingowych. Korespondencja przeszła bez problemu przez filtry. Ostatecznie jedyną różnicą jest to, że przenosi na stronę stworzoną przez atakującego.

(obrazek za avanan.com)

Tak to wygląda w kodzie HTML e-maila:

(obrazek za avanan.com)

Głównym problemem Office365 jest to, że traktuje on link jako zwykły kod ASCII, dzięki czemu łączy się z poprawnym adresem strony. Dla skanera strona: xn--sicherheit-schlsseldienst-twc.de odnosi się do adresu IP 81.169.145.66 (w lokalizacji Berlin, Germany). Wszystko jest w porządku. Natomiast po wejściu w link przez użytkownika jest on tłumaczony na kod Unicode wykorzystywany przez serwery DNS i tutaj zaczyna się problem. Przeglądarka widzi ten link jako sicherheit-schlüsseldienst.de znajdujący się pod adresem IP 92.242.140.21 (w lokalizacji Belfast, Northern Ireland). To już problem, gdyż jest to odnośnik do spreparowanej strony logowania do aplikacji Office 365.

Literujemy, czyli manipulacja tekstem i HTML-em, część 3 – kod szesnastkowy zamiast e-maila

W tym przypadku otrzymujemy e-mail wraz załącznikiem, w który wpleciony jest JavaScript zakodowany systemem szesnastkowym. Treść e-maila jest OK, załącznik też jest OK, skaner nie widzi niczego podejrzanego. E-mail wygląda poprawnie, załącznik został przepuszczony przez filtry, które nie rozpoznały zagrożenia (screen poniżej):

(obrazek za avanan.com)

Natomiast użytkownik widzi – jak gdyby nigdy nic – „prawdziwą” stronę, tylko z kopią lokalną (patrz pasek adresu):

(obrazek za avanan.com)

Opisywany atak jest pod tym względem ciekawy, gdyż omija podstawowe zabezpieczenia Office365, ale udaje mu się obejść również te bardziej złożone, jak np. Microsoft Advance Threat Protection (ATP).

Po pierwsze, skanery nie wykrywają tej korespondencji jako podejrzanej ze względu na brak linków, makr i podobnej zawartości. Po drugie, nawet jeśli zostaną znalezione łącza, to przez skanery nie są one traktowane jako podejrzane, gdyż są zagnieżdżone w załączniku, który jest kodem HTML – przycisk i jego łącze nie jest weryfikowane, stąd link oznaczany jest jako poprawny. Po trzecie, w samej treści e-maila nie ma żadnych odnośników, więc omija on wszystkie metody sprawdzania linków, podmiany linków itp.

baseStriker, czyli lepimy bałwana

Atakujący wykorzystują w tym ataku tag <base>, który na początku tworzonej strony WWW pozwala wstawić pierwszy, bazowy człon linku:

Następnie w zaplanowanym miejscu jest wstawiana dalsza część linku i łączona z bazowym członem:

Gotowy kod takiej strony / e-maila wygląda tak:

(obrazek za avanan.com)

Skanery bezpieczeństwa takie rozwiązanie przepuszczą, gdyż każdy człon linku weryfikują oddzielnie, ale za to MS Outlook już połączy linki i przekieruje nas „poprawnie” na stronę atakującego.

Jak się przed tym zabezpieczyć?

Opisane powyżej sposoby omijania zabezpieczeń pakietu Office365 zostały już przez Microsoft ograniczone lub wyeliminowane, jednak mogą stanowić inspirację dla prób omijania innych filtrów. W przypadku usług chmurowych nie ma konieczności aktualizowania oprogramowania – mechanizmy bezpieczeństwa są wdrażane centralnie. Administratorom pozostaje zatem edukowanie użytkowników, monitorowanie ich zachowań oraz podniesienie poziomu bezpieczeństwa kont pocztowych przez wdrożenie dodatkowych mechanizmów bezpieczeństwa, takich chociażby jak uwierzytelnienie wieloskładnikowe. Lub wyciągnięcie kabla.