GopherWhisper: Un arsenal de malware scris în Go


ESET Research a descoperit o nouă grupare APT aliniată Chinei, pe care am numit-o GopherWhisper și care vizează instituții guvernamentale din Mongolia.

Cercetătorii ESET au descoperit un grup APT (amenințare persistentă avansată) până acum nedocumentat, aliniat Chinei, pe care l-au numit GopherWhisper. Gruparea utilizează o gamă variată de instrumente, scrise în principal în Go, folosind injectoare și loadere pentru a implementa și executa diverse backdoor-uri din arsenalul său. În campania observată, atacatorii au vizat o entitate guvernamentală din Mongolia.

GopherWhisper abuzează de servicii legitime, în special Discord, Slack, Microsoft 365 Outlook și file.io, pentru comunicarea de tip command-and-control (C&C) și exfiltrarea datelor. Important de precizat, după identificarea mai multor tokenuri API Slack și Discord, cercetătorii au reușit să extragă un volum mare de mesaje C&C din aceste servicii, oferind o perspectivă detaliată asupra activităților grupării. Articolul de față rezumă concluziile investigației privind setul de instrumente și traficul C&C al GopherWhisper, detalii care sunt prezentate și în white paper-ul dedicat acestui subiect.

Principalele idei ale articolului:
– ESET Research a descoperit un nou grup APT aliniat Chinei, denumit GopherWhisper, care a vizat o entitate guvernamentală din Mongolia.
– Setul de instrumente al grupării include backdoor-uri personalizate scrise în Go (LaxGopher, RatGopher și BoxOfFriends), injectorul JabGopher, instrumentul de exfiltrare CompactGopher, loaderul FriendDelivery și backdoor-ul în C++ SSLORDoor.
– GopherWhisper utilizează Discord, Slack, Microsoft 365 Outlook și file.io pentru comunicare C&C și exfiltrarea datelor.
– Cercetătorii au analizat traficul C&C din canalele Slack și Discord ale atacatorilor, obținând informații despre operațiunile interne ale grupului și activitățile post-compromitere.

Backdoor-uri fără număr

Am descoperit gruparea în ianuarie 2025, când am identificat un backdoor nedocumentat anterior, pe care l-am numit LaxGopher, pe sistemul unei entități guvernamentale din Mongolia. Investigând mai departe, am reușit să identificăm mai multe alte instrumente malițioase, în principal backdoor-uri diferite, toate implementate de același grup. Majoritatea acestor instrumente, inclusiv LaxGopher, sunt scrise în Go.

Deoarece setul de malware identificat nu prezintă similarități de cod care să îl lege de vreun atacator cunoscut și nu există suprapuneri în tactici, tehnici și proceduri (TTP-uri) cu alte grupuri, am decis să atribuim aceste instrumente unui grup nou. L-am denumit GopherWhisper, numele fiind inspirat de faptul că majoritatea instrumentelor sunt scrise în limbajul de programare Go (a cărui mascotă este popândăul), precum și de numele fișierului whisper.dll, un component malițios încărcat prin side-loading.

Malware-ul descoperit inițial este format din următoarele componente:
JabGopher: un injector care execută backdoor-ul LaxGopher deghizat în fișierul whisper.dll. Creează o nouă instanță a procesului svchost.exe și injectează LaxGopher în memoria procesului.
LaxGopher: backdoor scris în Go care interacționează cu un server Slack privat pentru a prelua mesaje C&C. Execută comenzi prin cmd.exe și publică rezultatele înapoi în canalul Slack configurat în cod. De asemenea, poate descărca alte componente malware pe sistemul compromis.
CompactGopher: instrument de colectare a fișierelor, scris în Go, utilizat de operatori pentru a comprima rapid fișiere din linia de comandă și a le exfiltra automat către serviciul de partajare file.io. Este unul dintre payload-urile distribuite de LaxGopher.
RatGopher: backdoor scris în Go care interacționează cu un server Discord privat pentru a prelua mesaje C&C. După executarea cu succes a unei comenzi, rezultatele sunt trimise înapoi în canalul Discord configurat.
SSLORDoor: backdoor scris în C++ care utilizează OpenSSL BIO pentru comunicare prin socket-uri brute pe portul 443. Poate enumera unități de disc, executa comenzi primite de la C&C și efectua operațiuni precum deschiderea, citirea, scrierea, ștergerea și încărcarea fișierelor.

Pe baza cunoștințelor obținute în timpul analizei, au fost identificate încă două instrumente GopherWhisper, din nou utilizate împotriva aceleiași entități guvernamentale din Mongolia:
FriendDelivery: un fișier DLL malițios care funcționează ca loader și injector, executând backdoor-ul BoxOfFriends.
BoxOfFriends: un backdoor scris în Go care utilizează API-ul Microsoft 365 Outlook (REST) prin Microsoft Graph pentru a crea și modifica schițe de emailuri, folosite pentru comunicații de tip command-and-control (C&C). O prezentare schematică a arsenalului GopherWhisper este oferită în Figura 1.

Figura 1. Prezentare generală a setului de instrumente GopherWhisper

Mesaje analizate

Așa cum am menționat în introducere, GopherWhisper se remarcă prin utilizarea extensivă a serviciilor legitime precum Slack, Discord și Outlook pentru comunicarea de tip C&C. În timpul investigației, am reușit să extragem mii de mesaje din Slack și Discord, precum și mai multe mesaje tip draft din Microsoft Outlook. Au oferit o perspectivă valoroasă asupra modului de operare intern al grupului.

Analiza temporală a mesajelor din Slack și Discord a arătat că majoritatea lor au fost trimise în intervalul orelor de lucru, adică între 08:00 și 17:00 în UTC+8 (Figura 2 și Figura 3), ceea ce corespunde fusului orar China Standard Time. În plus, localizarea utilizatorului configurat în metadatele Slack era, de asemenea, setată pe acest fus orar. Prin urmare, considerăm că GopherWhisper este un grup aliniat Chinei.

Figura 2. Mesaje Slack pe ore

Figura 3. Numărul de mesaje Discord pe ore

Pe baza investigației, serverele Slack și Discord ale grupului au fost inițial folosite pentru testarea funcționalității backdoor-urilor, iar ulterior, fără ștergerea logurilor, au fost utilizate și ca servere C&C pentru backdoor-urile LaxGopher și RatGopher pe mai multe mașini compromise.

Canalul Slack al LaxGopher

Mesajele colectate au arătat cum comunicațiile C&C ale LaxGopher erau utilizate în principal pentru trimiterea de comenzi destinate enumerării discurilor și fișierelor (inventarierea conținutului stocat pe sistemele victimelor). În plus, printre mesajele din Slack au fost descoperite mai multe link-uri interesante către depozite (repositories) GitHub care conțineau cod malițios, enumerate în Tabelul 1. Pe baza codului sursă din fiecare depozit, presupunem că acestea ar fi putut fi folosite ca resursă de învățare și material de referință în timpul procesului de dezvoltare.

Canalul Discord al RatGopher

Pe lângă comunicațiile C&C, canalul Discord al RatGopher conținea și cod sursă Go, care ar putea reprezenta o versiune timpurie a backdoor-ului. În plus, am reușit să obținem detalii despre sistemele folosite de operatori, deoarece aceștia le utilizau frecvent pentru a rula procese de enumerare în scopuri de testare. Acest aspect ne-a arătat, printre altele, că unul dintre operatori folosea o mașină virtuală bazată pe VMware și că sistemul fusese pornit și instalat la un moment care se aliniază foarte bine cu fusul orar UTC+8.

Comunicarea prin Microsoft 365 Outlook

Pe lângă comunicațiile prin Slack și Discord, am reușit să extragem și mesajele email utilizate pentru comunicarea dintre backdoor-ul BoxOfFriends și infrastructura sa C&C prin intermediul Microsoft Graph API. Acolo am observat că mesajul de bun venit trimis de Microsoft la crearea contului nu fusese niciodată șters. Acest email a confirmat că adresa barrantaya.1010@outlook[.]com a fost creată pe 11 iulie 2024, cu doar 11 zile înainte de crearea DLL-ului FriendDelivery – loaderul utilizat pentru executarea BoxOfFriends – pe 22 iulie 2024.

Concluzie

Investigația noastră asupra GopherWhisper a scos la iveală o grupare APT care utilizează un set variat de instrumente personalizate, incluzând loadere, injectoare și backdoor-uri. Prin analiza comunicațiilor C&C obținute din canalele Slack și Discord operate de atacatori, precum și din mesajele draft din Outlook, am reușit să obținem informații suplimentare despre modul intern de operare al grupului și activitățile desfășurate după compromiterea sistemelor.

Pentru o analiză detaliată a arsenalului folosit și a traficului C&C colectat, consultați white paper-ul complet. O listă completă de indicatori de compromitere (IoC-uri) poate fi găsită în white paper și în depozitul nostru GitHub.

Eric Howard April 30, 2026

Lasa un comentariu