wykorzystanie natywnych procesów Windows przez malware – WerFault.exe

Niedawno specjaliści z K7 Lab zidentyfikowali interesującą technikę wykorzystywaną przez cyberprzestępców do uruchamiania narzędzia typu Remote Admin Tool (RAT). Wszyscy wiemy, że WerFault.exe jest używany do raportowania błędów systemu Windows. Jednak w tym wpisie zobaczymy, w jaki sposób cyberprzestępcy wykorzystują ten legalny plik binarny do uruchamiania malware „Pupy RAT” na komputerze ofiary.

Poniżej przedstawiamy schemat całego ataku.

Uruchamianie malware „Pupy RAT” na komputerze ofiary
Źródło: labs.k7computing.com

Analiza 3 etapów infekcji

Infekcja zaczyna się od ciekawie nazwanego obrazu ISO – „recent inventory & our specialties.iso”, odkrytego przez użytkownika Twittera SBousseaden. ISO zawiera cztery pliki: legalny plik WerFault.exe, złośliwą bibliotekę DLL o nazwie faultrep.dll, plik skrótu lnk o nazwie takiej jak ISO oraz plik XLS o nazwie File.xls. Kiedy ofiara otwiera plik skrótu, używa on LOLBina scriptrunner.exe przez cmd, aby uruchomić WerFault.exe z obrazu ISO.

Zawartość obrazu ISO oraz właściwości skrótu LNK
Zawartość obrazu ISO oraz właściwości skrótu LNK; źródło: labs.k7computing.com

W kolejnym etapie inicjowany jest Pupy RAT Loader. Pierwotnie Faultrep.dll to nazwa biblioteki DLL używanej przez WerFault.exe, która znajduje się w domyślnym folderze systemu Windows. Gdy WerFault.exe zaczyna się uruchamiać, wykorzystuje technikę DLL Side-Loading do załadowania pliku Faultrep.dll z ISO i zawiera fikcyjną funkcję eksportu WerpInitiateCrashReporting, podobną do oryginalnej biblioteki DLL. Złośliwy plik Faultrep.dll jest kompilowany w języku C.

Biblioteka DLL ma niestandardową funkcję rozwiązywania interfejsu API z dwoma argumentami, skrótem biblioteki DLL i skrótem funkcji.

Malware Pupy RAT - inicjowanie biblioteki dll
Źródło: labs.k7computing.com

Zauważono, że program ładujący używa tej samej funkcji rozwiązywania API, co program Guloader. Rozwiązane biblioteki DLL to kernel32 i advapi32.

Po rozwiązaniu interfejsów API zaczyna spełniać swoje zadanie. Używając rozwiązanej funkcji CreateThread, tworzy dwa wątki. Pierwszy wątek otwiera przynętę – arkusz programu Excel o nazwie file.xls z ISO.

Malware Pupy RAT - działanie - otwarcie wątków
Źródło: labs.k7computing.com

Podczas ręcznego rozwiązywania funkcji można zauważyć, że jedna z nich to SystemFunction032 z pliku advapi32.dll. Niestety funkcja ta jest nieudokumentowana w MSDN i niełatwo dowiedzieć się o jej zastosowaniu. Ostatecznie z dokumentów WineAPI wiadomo, że służy do szyfrowania RC4 i przyjmuje dwa argumenty: klucz i dane. Podczas dalszej analizy wykryto funkcję deszyfrującą RC4, która jako klucz zawiera dane i zakodowany ciąg znaków.

Malware Pupy RAT - działanie -  SystemFunction032
Źródło: labs.k7computing.com

Dane są wskazywane na adres nakładki. Po ich zrzuceniu i odszyfrowaniu potwierdzono, że jest to plik PE (Portable Executable) z magicznymi bajtami.

Malware Pupy RAT - działanie -  plik PE
Źródło: labs.k7computing.com

Dane zostały wrzucone jako wejściowe do pliku PE. Został on skompilowany za pomocą C i Python i okazało się, że to Pupy RAT. Cały trik polega na tym, że RAT jest ładowany do pamięci i wykonywany, podczas gdy WerFault.exe wykonywany jest z przodu jako legalny proces Windows.

Malware Pupy RAT - działanie -  plik PE - potwierdzenie
Źródło: labs.k7computing.com

Pupy RAT to wieloplatformowe narzędzie do zdalnej administracji typu open source dostępne na Githubie od 2013 roku. Prawdopodobnie używane jest przez APT33 i APT35 z Iranu do operacji cyberszpiegowskich, takich jak ta, która została wykryta w 2020 roku i wymierzona w dużą europejską organizację energetyczną.

Repozytorium Pupy RAT na GitHubie
Repozytorium Pupy RAT na GitHubie

W tym scenariuszu RAT próbuje nawiązać połączenie C2 w tle, gdy ofiara uważa, że działa legalny WerFault. Ponieważ C2 był wyłączony w czasie analizy, RAT nie był w stanie nawiązać połączenia w celu przeprowadzenia dalszych złośliwych działań. Sądząc po arkuszu XLS w języku chińskim, ofiara mogła pochodzić z Chin.

Zapraszamy do zapoznania się z listą IOC takich jak skróty plików oraz serwer C2 atakującego.

Podziel się z innymi tym artykułem!