Ewolucja 4-letniego zagrożenia Emotet: Od niesławnego trojana do skomplikowanego dystrybutora zagrożeń

Kampania szkodliwego oprogramowania Emotet istnieje już od dłuższego czasu. Występuje regularnie w pewnych odstępach czasu z różnymi technikami i wariantami dostarczenia złośliwego oprogramowania do ofiary. Atakujący są inteligentni i używają złożonych technik, aby uniknąć wykrycia. Na początku 2017 r. widzieliśmy kampanię emotet rozpowszechniającą się przez załączony do maili plik PDF i plik JS. Tym razem rozprzestrzenia się w dokumentach MS Office Word z mocno zamaskowanym makro wewnątrz.

Łańcuch ataku

Mechanizmem rozprzestrzeniania się tej kampanii jest phishingowy email wyłudzający informacje. Używa on tematów maili, takich jak „Faktura”, „Szczegóły dostawy”, „Szczegóły przesyłki”, „Szczegóły płatności” itp., żeby skłonić ofiarę do otwarcia wiadomości. Takie e-maile zawierają witryny kompromisowe lub phishingowe, które pobierają dokument Word. Innym sposobem jest bezpośrednie dołączanie dokumentu do wiadomości e-mail lub dołączenie skompresowanego pliku z dokumentem.

Analiza szczegółów makra

Złośliwy dokument biurowy osadzony w makrze po kliknięciu opcji „Włącz edycję”, kod makra zostanie uaktywniony. Pobraliśmy jedną próbkę. ma w środku dwa mocno zamaskowane makra, takie jak „prMzoHTQ” i „zdXXRhCd”, kod posiada funkcję Sub AutoOpen () wykonującą makra.

W pierwszym makro „zdXXRhCd” jest jedna funkcja FAUzvR (), która przyjmuje ciąg jako argument. W fazie dezfumacji stwierdziliśmy, że użyto kodu śmieciowego, aby wykonać komplikacje odwrotnością kodu, On Error Resume Next, oznacza to, że istnieje kod śmieciowy, a jeśli istnieje, zignoruj ​​go. Powłoka używa tego do wykonania kodu, obok niej znajduje się vbkeyP, co oznacza literę „P”. Wartości MIqCuXCZPMl, SOznt i 4 inne są parametrami przekazywanymi do funkcji FAUzvR (), jak pokazano na rysunku. Są one zadeklarowane jako funkcja w drugim makrze. Zadaniem drugiego makra jest łączenie łańcuchów i zwracanie wartości funkcji FAUzvR () do pierwszego makra. Funkcja FAUzvR () tworzy obiekt powłoki WScript, wykonuje funkcje za pomocą vbkeyP, aby uzyskać wynik poniżej.
„PowersHeLL-KABuAEUAVwAtAG8AYgBKAEUAYwBUACAAIABT ……”

Otrzymujemy ostateczne polecenie PowerShella, jak pokazano na poniższym rysunku.

Przeglądając polecenie, znaleźliśmy PowerShell z zakodowanym łańcuchem base64. Po dekodowaniu łańcucha base64, otrzymujemy:

Następnie pokazuje skrypt Powershell. Jego zawartość skompresowała łańcuch Base64 z parametrami Powershell. Tutaj przy użyciu skryptu IO.StreamReader inicjuje nową instancję klasy StreamReader dla określonego pliku, z określonym kodowaniem znaków IO.compression.compressionMode jest ustawiany tryb kompresji na dekompresję. Deflate stream będzie streamował zdekompresowane bajty z MemoryStream. [SySTem.tExt.encodIng] :: ASCII Ustawione na kodowanie ASCII. REadtOEND () odczytuje cały strumień i zwraca zawarty w nim ciąg znaków ASCII.

W przypadku dezfumacji skryptu musimy najpierw dekodować ciąg znaków z base64, a następnie dekompresja osiągnie taki efekt:

W końcu dostajemy czysty skrypt. Zawiera listę złośliwych adresów URL. Skrypt pobiera złośliwe oprogramowanie z adresów URL i generuje losowe nazwy plików, wybierając od 1 do 994915, a następnie przechowuje je w %temp% jako plik z rozszerzeniem .exe. Następnie złośliwe oprogramowanie zostaje wykonane przy użyciu Start-Process.

Natrafiliśmy na różne sposoby maskowania, jak pokazano na poniżej:

Analiza ładunku

Pobrany ładunek „{losowy_numer} .exe ” jest następnie uruchamiany z lokalizacji % temp%.

W tym przypadku zidentyfikowaliśmy nazwę ładunku jako „iwamregutilman.exe”. Zmieniło to nazwę instancji i wywołało kopię nazwy „wsdquota.exe” z lokalizacji „C:\Windows\system32”.

Ten plik ponownie tworzy nową instancję i pokazuje jej działanie.

Pobrany ładunek ma wstępnie zdefiniowaną listę słów, przy użyciu kombinacji 2 słów z tej listy tworzy nazwę drugiej samodzielnej kopii wykonanej z odpowiednich lokalizacji. Jeśli system jest 32-bitowy, to wykonał jego autoprzesłanie z folderu „C:\Windows\System32”, jeśli jest 64-bitowy, wówczas lokalizacja to „C:\Windows\SysWOW64”.

Poniżej znajduje się lista nazw przechowywanych w tym pliku.

Łącząc pierwsze słowo jako „wsd” i drugie słowo „quota”, tworzy nazwę pliku „wsdquota.exe”.

Pierwsza instancja upuszczonego pliku zawiera ogromną ilość zaszyfrowanych danych. Te dane zostaną odszyfrowane w czasie wykonywania i zapiszą 2 inne pliki PE w pamięci, które mogą być wykorzystane przez plik nadrzędny do dalszego przetwarzania.

Następnie proces nadrzędny sprawdza, czy proces jest tworzony samodzielnie, czy też nie. Jeśli nie, tworzy jeden mutex i zamyka proces nadrzędny i działa samodzielnie.

Zrodzony proces wyświetli wszystkie działające i zapisze je w pamięci. Następnie rozpoczyna się wyliczanie każdego procesu.

Korzystając z funkcji CreateToolhelp32Snapshot, wykonuje migawkę każdego procesu oraz wątków, stert i modułów używanych przez te procesy.

Po wykonaniu każdego procesu, szkodliwe oprogramowanie zaczyna szyfrować dane i wysyła je do złośliwego serwera w żądaniu POST.

Ponieważ nie wszystkie złośliwe serwery są aktywne, nie możemy znaleźć aktywności po wystąpieniu odpowiedzi złośliwego oprogramowania.

Poniżej znajduje się lista złośliwych adresów URL obecnych w złośliwym oprogramowaniu, które wysyłają żądanie POST do każdego adresu URL.

IOCs

4154619d2075d3f6c9e73bf4cdccdb17 (DOC)

6f86fa7d95fed4472ad03eb77cb6a9a4 (DOC)

2dcf064d40ef8fda90193fb00d306020 (DOC)

8249D414627D3DDE168318C92A63F74A (PE)

7B6E1369FF14E16A4815AE1DB32F0794 (PE)

Statystyki wykrywania

Szybkie leczenie pozwoliło wykryć spam będący początkowym wektorem kampanii Emotet. Jest to specjalny rodzaj wykrywania oferowany przez Quick Heal do wykrywania tego typu kampanii.

Poniżej znajduje się ostatnia miesięczna statystyka wykryć w wiadomościach e-mail.

Ponieważ Quick Heal wykrywa początkowy wektor kampanii Emotet, zaobserwowaliśmy mniej trafień z drugiego i trzeciego wektora tej kampanii.

Wykryte nazwy

  • MIME.Emotet.Downloader.31464
  • MIME.Emotet.31831
  • MIME.Emotet.31617
  • MIME.Emotet.31618
  • W97M.Emotet.31645
  • W97M.Emotet.31769
  • X97M.Emotet.32092
  • Trojan.Emotet.Y4
  • Trojan.Emotet.X4

Wniosek

Rozprzestrzenianie szkodliwego oprogramowania Emotet za pośrednictwem poczty spamowej, które wykorzystuje sztuczki z zakresu inżynierii społecznej, aby łatwo zaszkodzić użytkownikowi.

Quick Heal zapewnia wielowarstwową ochronę przed każdą warstwą kampanii Emotet.

Środki bezpieczeństwa do naśladowania

  • Nie otwieraj żadnego linku z treści wiadomości wysłanej przez nieznane źródło.
  • Nie pobieraj załączników otrzymanych z niezaufanych źródeł.
  • Zawsze włącz ochronę poczty e-mail w oprogramowaniu antywirusowym.
  • Nie włączaj „makr” lub „trybu edycji” otwierając dokument.
X

FreshMail.pl