szukaj

11.12.2017 | 22:08

avatar

Przemysław Sierociński

Poniedziałek z trenerem – ciekawe ataki na nagłówki wiadomości

Oprócz testów aplikacji i systemów czasem potrzeba (i opłaca się) sprawdzić odporność na ataki samych pracowników. Nie znaczy to jednak, że nie warto wspomagać się w takich działaniach wiedzą techniczną.

Jeśli chodzi o ataki na użytkowników bardzo popularne (i skuteczne) okazują się zwyczajne wiadomości e-mail. Typowo zawierają one odnośnik do fałszywej strony lub złośliwy załącznik. Odkładając na bok jednak samą zawartość wiadomości, zaufanie budzi głównie jej nadawca. Jeśli serwer poczty z którego korzystamy nie jest zabezpieczony odpowiednimi mechanizmami, bez problemu przyjmie wiadomości o sfałszowanym nagłówki From:. Takie wiadomości mogą wyglądać identycznie jak pochodzące z wybranego przez napastnika adresu. Całe szczęście w dzisiejszych czasach duża liczba serwerów zabezpieczona jest przy pomocy odpowiednich mechanizmów weryfikacji nadawcy (DMARC). Podejrzane e-maile są oznaczane jako SPAM, niebezpieczne, lub usuwane przed dostarczeniem.

W poprzednich odcinkach

W cyklu Poniedziałek z trenerem opisywaliśmy już:

Jak podrobić nagłówek

Jak poprawić skuteczność ataków socjotechnicznych z wykorzystaniem wiadomości e-mail? Z pomocą przychodzą twórcy Mailsploit. Jest to projekt skupiony wokół błędów w samych klientach poczty, a więc krok dalej niż mechanizmy zabezpieczeń w serwerach ją przekazujących. Przypomnijmy, że zależy nam na sfałszowaniu adresu nadawcy wiadomości. W zasadzie wystarczy, że program pocztowy z którego korzysta ofiara odpowiednio go wyświetli! Mailsploit jest zbiorem takich tricków dla ponad 30 klientów, m.in. Apple Mail, Mozilla Thunderbird, czy ProtonMail.

Główny błąd polega na przetwarzaniu znaków spoza ASCII w nagłówkach wiadomości. Większość klientów poczty (również aplikacji webowych) nie przetwarza poprawnie takich nagłówków, co pozwala na fałszowanie nadawcy. Reprezentacja takiego ciągu może wyglądać tak:

=?utf-8?b?[BASE-64]?=

lub tak:

=?utf-8?Q?[QUOTED-PRINTABLE]?=

Wykorzystując kombinacje sekwencji i znaków specjalnych, np. znaków nowej linii czy null-byte możliwe jest ukrycie lub usunięcie domeny z pola nadawcy. Na przykład klient na iOS podatny jest na wstrzykiwanie null-byte, a klient na macOS wyświetla wartość zawartą w nawiasach. Wyobraźmy sobie taki nagłówek:

From:
=?utf-8?b?${base64_encode('adam[at]zaufanatrzeciastrona.pl')}?==?utf-8?Q?=00?==?utf-8?b?${base64_encode('(p.sierocinski[at]logicaltrust.net)')}[email protected]

który po faktycznym zakodowaniu base64 można wysłać w wiadomości:

From:
=?utf-8?b?YWRhbUB6YXVmYW5hdHJ6ZWNpYXN0cm9uYS5wbA==?==?utf-8?Q?=00?==?utf-8?b?KHAuc2llcm9jaW5za2lAbG9naWNhbHRydXN0Lm5ldCk=?=@domena.atakujacych

Po odczytaniu przez program przybierze formę:

From:
adam[at]zaufanatrzeciastrona.pl\0(p.sierocinski[at]logicaltrust.net)@domena.atakujacych

Wyświetlony pod iOS nadawca e-maila będzie wyglądał jak

adam[at]zaufanatrzeciastrona.pl

podczas gdy wyświetlony na macOS będzie to

p.sierocinski[at]logicaltrust.net

Kliknij tutaj, aby wyświetlić treść z YouTube.
Dowiedz się więcej w polityce prywatności.

Dodatkowo może być pomocne dodanie odpowiedniego nagłówka Reply-To:, na wypadek jeśli ofiara postanowi odpowiedzieć na naszą wiadomość. Wysyłając w ten sposób spreparowane wiadomości warto skonfigurować na serwerze DMARC, bo podczas sprawdzania domeny na serwerze (domena.atakujacych) będzie się ona zgadzać. Może to wręcz uwiarygodnić nasze wiadomości, przynajmniej na początku działania kiedy nasza domena nie będzie oznaczona jako podejrzana.

Kto był podatny – lub raczej kto nie był

Statystyki projektu podają, że błąd dotykał przynajmniej 33 różnych produktów. W 8 z nich błąd został poprawiony, w 12 przyjęty do wiadomości przez producentów. Dwóch z nich (Mozilla i Opera) nie zamierza poprawić błędu, podczas gdy jeden (Mailbird) zamknął komunikację bez odpowiedzi. 12 pozostałych otrzymało informacje o błędzie, lecz nie określiło czy udostępni poprawkę. Odkrywcy ataków prowadzą dokładna listę podatnych programów i usługodawców.

Na stronie odkrywców można przetestować różne wersje na własnej skórze – demo. A jak się bronić? Dobrze jest podpisywać (oraz szyfrować) nasze wiadomości przy pomocy PGP. Poza tym na pewno warto aktualizować oprogramowanie z którego korzystamy.

Jako bonus twórcy projektu wykryli podatności XSS w kilku klientach poczty, np. Hushmail. Payload wyglądający w taki sposób:

From:
=?utf-8?b?c2VydmljZUBwYXlwYWwuY29tPGlmcmFtZSBvbmxvYWQ9YWxlcnQoZG9jdW1lbnQuY29va2llKSBzcmM9aHR0cHM6Ly93d3cuaHVzaG1haWwuY29tIHN0eWxlPSJkaXNwbGF5Om5vbmUi?==?utf-8?Q?=0A=00?=@mailsploit.com

czyli po odkodowaniu:

From: [email protected]<iframe style="display: none;" src="https://www.hushmail.com" width="300" height="150">

Powodował dopisanie kodu HTML do strony. Po kliknięciu w przycisk „Create a rule” kod wskazany przez atakującego był uruchamiany.

Kliknij tutaj, aby wyświetlić treść z YouTube.
Dowiedz się więcej w polityce prywatności.

Wygląda na to, że badania wciąż trwają, a kolejni badacze zainspirowani przez pwnsdx rozszerzają je o następne produkty.

Naucz się zabezpieczać swoje aplikacje

Wielu programistów nie posiada umiejętności pozwalających im na wykrywanie podobnych scenariuszy ataku. Na naszych szkoleniach pokazujemy wiele przykładów zagrożeń, dzięki którym autorzy aplikacji lepiej przewidują takie sytuacje jak opisana powyżej.

Bezpieczeństwo aplikacji WWW - atak i obrona

Wroclaw
Wrocław, 10 – 12 stycznia 2018

Warsaw-center-free-license-CC0
Warszawa, 19 – 21 lutego 2018

Czas trwania: 3 dni (20h), Prowadzący: Adam z z3s, Przemysław Sierociński
Liczba uczestników: maksymalnie 12 osób, cena: 3900 PLN netto

Szczegółowy opis szkolenia
Powrót

Komentarze

  • avatar
    2017.12.12 01:13 Użyszkodnik poczty

    Halo, Houston mamy problem. Kto nie jest odporny? Dlaczego mozilla nie chce poprawić? Dacie linka do ichniego bugtrakera z tym błędem?

    Odpowiedz
    • avatar
      2017.12.12 18:43 Janusz

      Komentarz do pola „Mozilla Thunderbird” na liście podatnych programów.
      „We discussed over email using PGP. No bugzilla report was made.”

      Odpowiedz
  • avatar
    2017.12.16 17:31 Bug tracker

    Mozilla zarzekła się, że w ciągu półtora tygodnia będzie nowa wersja 52.5.1 ESR pozbawiona tej dziury.

    Odpowiedz

Zostaw odpowiedź

Jeśli chcesz zwrócić uwagę na literówkę lub inny błąd techniczny, zapraszamy do formularza kontaktowego. Reagujemy równie szybko.

Poniedziałek z trenerem – ciekawe ataki na nagłówki wiadomości

Komentarze