-15% na nową książkę sekuraka: Wprowadzenie do bezpieczeństwa IT. Przy zamówieniu podaj kod: 10000

Niezałatany 0-day w Zimbra 8.x. XSS-em kradną e-maile ofiar…

04 lutego 2022, 10:28 | Aktualności | komentarzy 6

Tutaj dość rozbudowany opis trwającej kampanii o dość mało oryginalnej nazwie: EmailThief.

Celem jest Zimbra, czyli:

Secure Private Business Email & Collaboration

Badacze nadmieniają, że wśród organizacji które są atakowane, znajdują się m.in. europejskie instytucje rządowe oraz media.

Napastnicy wykorzystują lukę XSS (pod tym linkiem dajemy za darmo cały rozdział z naszej książki, dotyczący XSS), która było zgłoszona wcześniej do twórców, ale nie została jeszcze załatana w wersjach 8.x Zimbry. Atak nie działa na wersję 9.0.0:

Volexity can confirm and has tested that the most recent versions of Zimbra—8.8.15 P29 & P30—remain vulnerable; testing of version 9.0.0 indicates it is likely unaffected.

Jak działa atak?

  1. Rekonesans. Atakujący wysyłają całkiem niewinnego e-maila na dany adres, jednak zawierającego linki do tego typu plików graficznych (kto rozpoznaje nazwy użyte w domenach? ;-)

Jeśli zostanie wysłana komunikacja HTTP do jednego z tych linków – e-mail jest prawdziwy oraz aktywny. Można przejść do fazy 2:

2. Atak. Tutaj wysyłane są maile, które wykorzystują XSSa:

Ktoś klika w linka, nieświadomie uruchamiając kod JavaScript (XSS), który wykonuje żądanie POST atakowanej instalacji Zimbry. Użytkownik jest zalogowany (ofiara nie wylogowała się z webmaila, tylko patrzy co ciekawego dostała np. od Amazona), więc przeglądarka sama dodaje potrzebne ciasteczka. Nota bene, kod JS wykrada również token CSRF, potrzebny do wykonania żądania HTTP:

Efekt? Kradzież e-maili:

The functionality of the attacker code is simple: (…) For each email encountered, send the email body and any attachments to the configured callback address (mail.bruising-intellect[.]ml) via HTTP POST requests.

Cały atak w graficznej formie wygląda tak:

Na marginesie warto wspomnieć, że jakiś czas temu namierzyliśmy podobną podatność w YetiCRM. Praktycznie nie wymagała żadnej interakcji od ofiary. Poniżej wykonuje się niewinny kod JS: alert(document.domain) – ale równie dobrze mogłoby to być coś bardziej złośliwego (np. wykradającego e-maile):

Punkt 2. XSS i wykonywanie dowolnego kodu w systemie operacyjnym przez załącznik w mailu

~Michał Sajdak

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



Komentarze

  1. Klub Pana Rysia

    Biedny Dworczyk ;)

    Odpowiedz
  2. adrb

    Jak ktoś nie lubi użytkowników to może im wyłączyć wyświetlanie html-a i obrazków :)

    zmprov getAllCos | xargs -I CNAME zmprov modifyCOS CNAME zimbraPrefDisplayExternalImages FALSE
    zmprov getAllCos | xargs -I CNAME zmprov modifyCOS CNAME zimbraPrefMessageViewHtmlPreferred FALSE

    Odpowiedz
    • dar_ek

      Tyle że to „uchroni” tylko przez fazą „rekonesans”.
      Jeśli atakujący zna email to może od razu wysłać mail z linkiem i JSem.
      Dopiero kliknięcie w link powoduje atak.

      Odpowiedz
      • adrb

        > Jeśli atakujący zna email to może od razu wysłać mail z linkiem i JSem.

        To prawda. Jednak przy wyłączonym wyświetlaniu html-a musiałbyś otworzyć źródło email-a i wyszukać w treści html-a link. Tego się nie da zrobić przypadkiem.

        btw:
        Wyżej jest tylko pół rozwiązania bo jeszcze trzeba wyłączyć indywidualnie per skrzynka.

        Odpowiedz
    • olszeww0

      Super! Tylko że dla tych co mają support, a reszcie zostaje tylko upgrade do niepodatnej wersji – co wymaga pewnie mega czasu i testów.

      Odpowiedz

Odpowiedz na olszeww0