Specjaliści z ESET przeanalizowali ostatnio MQsTTang, czyli nowy niestandardowy backdoor, przypisywany grupie Mustang Panda APT. Jest on częścią trwającej kampanii, którą możemy śledzić od początku stycznia 2023 r. W przeciwieństwie do większości złośliwego systemu tej grupy, MQsTTang nie wydaje się oparty na istniejących rodzinach ani publicznie dostępnych projektach.
Mustang Panda to grupa znana ze swoich niestandardowych wariantów Korplug (nazywanych również PlugX) oraz skomplikowanych łańcuchów dostaw i dostarczania ładunku. W przeciwieństwie do zwykłej taktyki grupy, MQsTTang ma tylko jeden etap i nie używa żadnych technik zaciemniania.
Informacje wskazują, iż głównym celem kampanii była instytucja rządowa na Tajwanie. Jednak ze względu na charakter używanych nazw plików-wabików uważa się, iż celem ataków są również organizacje polityczne i rządowe w Europie i Azji. Byłoby to zgodne z targetowaniem ostatnich kampanii grupy. Jak udokumentowali badacze z Proofpoint, Mustang Panda był znany z ataków na europejskie podmioty rządowe od co najmniej 2020 r., a od czasu inwazji Rosji na Ukrainę jeszcze zwiększył swoją aktywność w Europie.
Poniżej widok ostatnich ataków opisywanej kampanii na mapie świata:
Nowy backdoor oraz samą kampanię przypisujemy grupie Mustang Panda z dużą pewnością na podstawie licznych wskaźników, które opiszemy poniżej.
Znaleziono archiwa zawierające próbki MQsTTang w dwóch repozytoriach GitHub należących do użytkownika YanNaingOo0072022. Inne repozytorium GitHub tego samego użytkownika zostało wykorzystane w poprzedniej kampanii Mustang Panda, opisanej przez firmę Avast w poście na blogu z grudnia 2022 r.
Na jednym z serwerów wykorzystywanych w obecnej kampanii działał publicznie dostępny anonimowy serwer FTP, który wydaje się używany do przygotowywania narzędzi i ładunków. W katalogu /pub/god tego serwera znajduje się wiele programów ładujących Korplug, archiwów i narzędzi, które były wykorzystane w poprzednich kampaniach Mustang Panda. Ten serwer miał również katalog /pub/gd, będący kolejną ścieżką używaną w tej kampanii.
Analiza próbki malware
MQsTTang to backdoor typu barebone, umożliwiający atakującemu wykonanie dowolnych poleceń na maszynie ofiary i uzyskanie danych wyjściowych. Ponadto ma kilka interesujących cech. Najważniejszą z nich jest wykorzystywanie protokołu MQTT do komunikacji C&C. MQTT jest zwykle używany do komunikacji między urządzeniami IoT i kontrolerami i został wykorzystany w niewielu publicznie udokumentowanych rodzinach złośliwego oprogramowania. Jednym z takich przykładów jest Chrysaor, znany również jako Pegasus dla Androida. Z perspektywy atakującego jedną z zalet MQTT jest to, iż ukrywa resztę infrastruktury za brokerem. Tym samym zaatakowana maszyna nigdy nie komunikuje się bezpośrednio z serwerem C&C. Jak widać na poniższym screenie, tę możliwość uzyskuje się dzięki otwartej biblioteki QMQTT, zależnej od frameworka Qt, którego duża część jest statycznie powiązana w złośliwym oprogramowaniu. Używanie środowiska Qt do tworzenia malware również jest dość rzadkie. MagicRAT Lazarusa jest jednym z nielicznych niedawno udokumentowanych przykładów.
MQsTTang jest rozpowszechniany w archiwach RAR, które zawierają tylko jeden plik wykonywalny. Pliki wykonywalne zwykle mają nazwy związane z dyplomacją i paszportami, takie jak:
- CVs Amb Officer PASSPORT Ministry Of Foreign Affairs.exe,
- Documents members of delegation diplomatic from Germany.Exe,
- PDF_Passport and CVs of diplomatic members from Tokyo of JAPAN.eXE,
- Note No.18-NG-23 from Embassy of Japan.exe.
Archiwa te są hostowane na serwerze WWW bez powiązanej nazwy domeny. Fakt ten, wraz z nazwami plików, skłania nas do przypuszczenia, iż szkodliwe oprogramowanie rozprzestrzenia się za pośrednictwem spearphishingu.
Do tej pory zaobserwowano tylko kilka próbek. Oprócz różnic w niektórych stałych i zakodowanych ciągach znaków, próbki są niezwykle podobne. Jedyną zauważalną zmianą jest dodanie niektórych technik antyanalizy w najnowszych wersjach. Pierwsza z nich polega na użyciu funkcji Windows API CreateToolhelp32Snapshot do iteracji uruchomionych procesów i wyszukiwania następujących znanych debugerów i narzędzi do monitorowania:
- cheatengine-x86_64.exe,
- ollydbg.exe,
- ida.exe,
- ida64.exe,
- radare2.exe,
- x64dbg.exe,
- procmon.exe,
- procmon64.exe,
- procexp.exe,
- proceshacker.exe,
- pestudio.exe,
- sytracerx32.exe,
- skrzypek.exe,
- tcpview.exe.
Należy zauważyć, iż choć malware jest 32-bitowym plikiem wykonywalnym, sprawdza jedynie obecność x64dbg, a nie swojego 32-bitowego odpowiednika, x32dbg.
Druga technika wykorzystuje interfejs Windows API FindWindowW do wyszukiwania następujących klas i tytułów okien używanych przez znane narzędzia analityczne:
- PROCMON_WINDOW_CLASS,
- OLLYDBG,
- WinDbgFrameClass,
- OllyDbg – [CPU],
- Immunity_Debugger – [CPU].
W przypadku bezpośredniego wykonania złośliwe oprogramowanie uruchomi swoją kopię z wartością 1 jako argumentem wiersza poleceń. Jest to powtarzane przez nowy proces, przy czym argument jest zwiększany o 1 przy każdym uruchomieniu. Gdy osiągnie określone wartości, zostaną wykonane określone zadania. Warto zwrócić uwagę, iż dokładne wartości różnią się w zależności od próbki; te wymienione poniżej odpowiadają próbce z SHA-1: 02D95E0C369B08248BFFAAC8607BBA119D83B95B. Jednak same zadania i kolejność ich wykonywania jest stała. Rysunek 3 przedstawia przegląd tego zachowania wraz z zadaniami wykonywanymi podczas pierwszego uruchomienia złośliwego oprogramowania.
Podsumowanie
Opisana tu kampania Mustang Panda trwa zaledwie od tygodnia. Wiktymologia jest niejasna, ale nazwy plików-przynęt są zgodne z innymi kampaniami grupy, których celem są europejskie podmioty polityczne.
Nowy backdoor MQsTTang zapewnia swego rodzaju zdalną powłokę bez żadnych bajerów związanych z innymi rodzinami złośliwego systemu tej grupy. Pokazuje jednak, iż Mustang Panda bada nowe stosy technologii dla swoich narzędzi. Dopiero okaże się, czy ten backdoor stanie się stałą częścią arsenału grupy ATP.