Menu dostępności

MS Outlook as C2 client via IFilter

Użycie Outlooka jako klienta C2 do uruchamiania poleceń na uprawnieniach „Local System” w Windows. Wystarczy wysłać odpowiednią wiadomość e mail!

Dzisiaj mamy dla Was infosecową bombę – opisujemy nowy, nietypowy wektor ataku na organizacje, wykorzystujący aplikację kliencką Microsoft Outlook, która posłuży do wykonywania dowolnych poleceń po stronie komputera z Windows. Wystarczy wysłać do użytkownika odpowiednią wiadomość e-mail ze złośliwym załącznikiem (zwykłym plikiem tekstowym), a w tle systemu operacyjnego zostaną z niego automatycznie przeczytane i uruchomione komendy!

UWAGA! W opisywanym ataku użytkownik nie musi wykonywać żadnych aktywności, ponieważ podczas automatycznego odbierania poczty przez aplikację Outlook system operacyjny Windows uruchomi polecenia z załącznika w tle. Co ważne, polecenia zostaną uruchomione na najwyższych uprawnieniach w systemie – czyli jako „NT AUTHORITY\LOCAL SYSTEM”.

Microsoft Outlook jako klient serwera C2. Jak to możliwe?

Jak wykorzystać Microsoft Outlook do uruchamiania dowolnych poleceń na komputerze? Z pewnością wielu z Was łapie się w tym momencie za głowę i zadaje sobie pytanie – jak to możliwe? Odpowiedź jest prosta – przy pewnych warunkach (opisujemy je poniżej) jest to możliwe i w dodatku pokochacie lub znienawidzicie tę metodę. Nadmienimy, że jedną z podobnych (Follina) pokazywaliśmy tutaj.

Na wstępie warto wspomnieć, że nowy wektor ataku przedstawił na swoim Twitterze Grzegorz Tworek. Zamieścił też krótkie demo pokazujące, jak za pomocą zarejestrowanej dodatkowej biblioteki „iFilter” w Windows można przeprowadzić atak z wykorzystaniem oprogramowania Outlook na komputerze, przesyłając na niego maila z załącznikiem zawierającym linie kodu, które automatycznie uruchomią się po dotarciu na skrzynkę odbiorczą adresata.

atak z wykorzystaniem Outlooka i biblioteki iFilters
Źródło: Twitter (@0gtweet)

Jak się okazuje, winowajcą jest tutaj pewna usługa – Windows Search, indeksująca na dysku wszystkie pliki, które potrafi rozpoznać i przeczytać lub takie, jakie jej wskażemy za pomocą specjalnej biblioteki.

W ostatniej części powyższego zdania zawarte jest całe sedno ataku. Chodzi tutaj o mechanizm (API) w Windows zwany iFilter.

iFilter – co to takiego?

iFilter to udokumentowane przez Microsoft proste API napisane w C (filter.h), które skanuje dokumenty w poszukiwaniu tekstu i właściwości (zwanych także atrybutami). Wyodrębnia z nich fragmenty tekstu, odfiltrowując osadzone formatowanie i zachowując informacje o położeniu tekstu. Wyodrębnia również fragmenty wartości, które są właściwościami całego dokumentu lub jego dobrze zdefiniowanych części. IFilter zapewnia podstawę do tworzenia aplikacji wyższego poziomu, takich jak indeksery dokumentów i przeglądarki niezależne od aplikacji.

Dzięki iFilter, wpisując dowolne słowo w wyszukiwarce Windows, otrzymujemy w wyniku dokumenty, maile lub inne dane, które wcześniej zostały odnalezione i zindeksowane. Warto dodać, że system operacyjny Windows jest dostarczany z kilkoma standardowymi iFilterami (filtrami indeksującymi). iFiltry te umożliwiają szybkie wyszukiwanie pełnotekstowe w plikach Microsoft Office, dokumentach tekstowych, plikach HTML i innych.

Biblioteki dla iFilters oferują także inni producenci oprogramowania, między innymi Adobe, Corel czy Foxit. Dzięki nim Windows wie, jak ma je indeksować.

Grzegorz wpadł na pomysł, aby napisać własny iFilter i zainstalować go w systemie Windows.  Stworzył w ten sposób backdoor, który oczekuje pojawienia się określonego typu pliku. W momencie gdy ten się pojawi, Windows automatycznie przeczyta go i uruchomi z niego kod. Najprostszym sposobem na przesłanie takiego pliku na komputer użytkownika jest poczta, lecz musi on mieć zainstalowany ów dodatkowy iFilter.

Opis ataku z wykorzystaniem iFilter oraz Outlooka

UWAGA W celu przeprowadzenia ataku należy zarejestrować w Windows dodatkową bibliotekę iFilter. Aby było to możliwe, musimy posiadać uprawnienia administracyjne do systemu.

Poniżej prezentujemy wektor ataku na system Windows z wykorzystaniem specjalnej biblioteki iFilter oraz Microsoft Outlook do przesłania ładunku (pliku tekstowego z komendami do uruchomienia).

Krok 1. Tworzymy specjalną bibliotekę iFilter

Stworzona przez Grzegorza biblioteka nosi nazwę „MalFilter.dll”. W swoim kodzie zawiera informację, że musi rozpoznawać pliki o rozszerzeniu „*.filtertest”. Ciekawe przykłady na to, jak utworzyć taką bibliotekę, znajdziecie tutaj.

Krok 2. Wgrywamy bibliotekę iFilter na komputer użytkownika i instalujemy ją w systemie.

Poleceniem „regsvr32.exe MalFilter.dll” wgrywamy do systemu bibliotekę. Wykonujemy to na uprawnieniach administratora systemu. Od tej pory system monitoruje pojawiające się pliki o rozszerzeniu *.filtertest.

Wgrywanie biblioteki IFilter
Źródło: Twitter (@0gtweet)

Krok 3. Tworzymy plik tekstowy z payload do uruchomienia zewnętrznego polecenia

Tworzymy plik tekstowy o nazwie „command1.filtertest”. Rozszerzenie pliku jest tak naprawdę dowolne, ponieważ zdefiniuje je i rozpozna wgrana wcześniej do systemu biblioteka iFilter.

W pliku tekstowym zamieszczamy polecenie „net.exe”, za pomocą którego z linii wiersza poleceń Windows (cmd.exe) będziemy chcieli utworzyć w systemie użytkownika „hacker”. Przykład takiego polecenia zamieszczamy poniżej.

Tworzenie pliku tekstowy o nazwie „command1.filtertest”.
Źródło: Twitter (@0gtweet)

Krok 3. Przesyłamy plik pocztą do wskazanego użytkownika

Załączamy utworzony plik do wiadomości e-mail i przesyłamy do użytkownika. Pamiętajmy, że na jego komputerze musi być zainstalowany powyższy iFilter, ponieważ bez niego system nie będzie mógł rozpoznać pliku, a w szczególności zaindeksować jago treści.

Wysyłanie pliku do użytkownika
Źródło: Twitter (@0gtweet)

Krok 5. Automatyczne uruchomienie payload na komputerze

Po automatycznym odebraniu maila przez aplikację Outook na stacji użytkownika wykona się polecenie z pliku tekstowego.

Wykonanie polecenia z pliku tekstowego
Źródło: Twitter (@0gtweet)

Dzieje się tak, ponieważ system Windows przeczytał i zaindeksował załącznik w mailu.

Grzegorz udowadnia to poprzez uruchomione w tle narzędzie DebugView.

Potwierdzenie w narzędziu DebugView
Źródło: Twitter (@0gtweet)

W zaznaczonych na powyższym ekranie na czerwono linijkach widzimy, jak w tle systemu operacyjnego ma miejsce proces „SearchFilterHost.exe” (na uprawnieniach Local System) i dodatkowo uruchamiane jest polecenie (linijka z pliku tekstowego).

Demo opisanego ataku możecie zobaczyć na poniższym nagraniu, którego autorem jest Grzegorz.

Jak sobie radzić z problemem?

W przypadku opisywanego ataku istotną kwestią jest zainstalowana w systemie specjalna biblioteka iFilter, która umożliwia utworzenie w nim backdoora i uruchomienie dowolnego polecenia z pliku podczas procesu jego indeksowania. Z pewnością wyszukanie niestandardowych iFiltrów będzie wyzwaniem, ale możemy spróbować napisać własne polecenie sprawdzające konkretne wpisy w rejestrze systemowym. Na przykład iFilter dla PDF znajduje się w lokalizacji: „HKEY_CLASSES_ROOT\.pdf\PersistentHandler”. Można też użyć narzędzia FiltReg.

Popularne

Grupa ransomware zyskuje pełną kontrolę nad platformą Azure! Analiza ataku

Grupa ransomware zyskuje pełną kontrolę nad platformą Azure! Analiza ataku

Ciekawe informacje przynoszą badacze Microsoft. Opisali oni, w jaki sposób często omawiane przez nas ataki na AD mogą posłużyć do przejęcia całego środowiska chmurowego. Jako przykład służy Storm-0501 ...
PromptLock – pierwszy ransomware oparty na sztucznej inteligencji!

PromptLock – pierwszy ransomware oparty na sztucznej inteligencji!

MalwareAI, czyli złośliwe oprogramowanie oparte na sztucznej inteligencji, jest bliżej, niż oczekiwano. Odkryto pierwszą rodzinę ransomware wykorzystującą systemy sztucznej inteligencji do operacji lokalny...
Cyberprzestępcy sięgają po formularze „Contact Us” – nowy atak phishingowy na firmy produkcyjne

Cyberprzestępcy sięgają po formularze „Contact Us” – nowy atak phishingowy na firmy produkcyjne

Najnowsza kampania phishingowa, ujawniona przez badaczy z Check Point, koncentruje się na firmach z sektora produkcyjnego oraz innych kluczowych elementach łańcuchów dostaw. Jej szczególna złośliwość polega n...
Popularne oszustwa na WhatsAppie i jak ich uniknąć

Popularne oszustwa na WhatsAppie i jak ich uniknąć

Z ponad dwoma miliardami użytkowników WhatsApp oferuje ogromną pulę potencjalnych celów dla scamerów. Aby jeszcze bardziej skomplikować sprawę, oszuści cały czas zdobywają nowe wyrafinowane umiejętno...
Masowy wyciek danych PayPal – 15,8 miliona haseł w rękach cyberprzestępców

Masowy wyciek danych PayPal – 15,8 miliona haseł w rękach cyberprzestępców

16 sierpnia br. na forum cyberprzestępczym pojawiła się oferta sprzedaży ogromnej bazy danych, zawierającej ponad 15,8 miliona par adresów e-mail i haseł w formacie jawnego tekstu powiązanych z konta...