MQsTTang: Mustang Pandas siste bakdør går ny mark med Qt og MQTT

MQsTTang: Mustang Pandas siste bakdør går ny mark med Qt og MQTT

ESET-forskere erter MQsTTang, en ny bakdør brukt av Mustang Panda, som kommuniserer via MQTT-protokollen

ESET-forskere har analysert MQsTTang, en ny tilpasset bakdør som vi tilskriver Mustang Panda APT-gruppen. Denne bakdøren er en del av en pågående kampanje som vi kan spore tilbake til begynnelsen av januar 2023. I motsetning til de fleste av gruppens skadevare, ser ikke MQsTTang ut til å være basert på eksisterende familier eller offentlig tilgjengelige prosjekter.

Mustang Panda er kjent for sin tilpassede Korplug-varianter (også kalt PlugX) og forseggjorte lastekjeder. I et avvik fra gruppens vanlige taktikk, har MQsTTang bare en enkelt etappe og bruker ingen obfuskasjonsteknikker.

viktimologi

Vi har sett ukjente enheter i Bulgaria og Australia i vår telemetri. Vi har også informasjon som indikerer at denne kampanjen er rettet mot en statlig institusjon i Taiwan. På grunn av arten av lokkefilnavnene som brukes, tror vi imidlertid at politiske og statlige organisasjoner i Europa og Asia også blir målrettet. Dette vil også være i tråd med målrettingen av gruppens andre nylige kampanjer. Som dokumentert av medforskere ved Proofpoint, Mustang Panda har vært kjent for å målrette mot europeiske statlige enheter siden minst 2020 og har økt sin aktivitet i Europa ytterligere siden Russlands invasjon av Ukraina. Figur 1 viser vårt syn på målrettingen for denne kampanjen.

MQsTTang: Mustang Pandas siste bakdør går ny mark med Qt og MQTT PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Figur 1. Kart som viser kjente og mistenkte mål for MQsTTang

Attribution

Vi tilskriver denne nye bakdøren og kampanjen Mustang Panda med høy selvtillit basert på følgende indikatorer.

Vi fant arkiver som inneholder prøver av MQsTTang i to GitHub-depoter som tilhører brukeren YanNaingOo0072022. Et annet GitHub-lager for samme bruker ble brukt i en tidligere Mustang Panda-kampanje beskrevet av Avast i en desember 2022 blogginnlegg.

En av serverne som ble brukt i den nåværende kampanjen kjørte en offentlig tilgjengelig anonym FTP-server som ser ut til å bli brukt til å iscenesette verktøy og nyttelast. I /pub/gud katalogen til denne serveren er det flere Korplug-lastere, arkiver og verktøy som ble brukt i tidligere Mustang Panda-kampanjer. Dette er den samme katalogen som ble brukt av scenen beskrevet i det nevnte Avast-blogginnlegget. Denne serveren hadde også en /pub/gd katalogen, som var en annen bane som ble brukt i den kampanjen.

Noe av infrastrukturen som brukes i denne kampanjen samsvarer også med nettverksfingeravtrykket til tidligere kjente Mustang Panda-servere.

Teknisk analyse

MQsTTang er en barebones-bakdør som lar angriperen utføre vilkårlige kommandoer på et offers maskin og få utdata. Likevel har den noen interessante egenskaper. Den viktigste blant disse er bruken av MQTT-protokoll for C&C-kommunikasjon. MQTT brukes vanligvis til kommunikasjon mellom IoT-enheter og kontrollere, og protokollen har ikke blitt brukt i mange offentlig dokumenterte skadevarefamilier. Et slikt eksempel er Chrysaor, også kjent som Pegasus for Android. Fra en angripers perspektiv er en av MQTTs fordeler at den skjuler resten av deres infrastruktur bak en megler. Dermed kommuniserer den kompromitterte maskinen aldri direkte med C&C-serveren. Som vist i figur 2, oppnås denne muligheten ved å bruke åpen kildekode QMQTT bibliotek. Dette biblioteket avhenger av Qt rammeverk, hvorav en stor del er statisk koblet i skadelig programvare. Å bruke Qt-rammeverket for utvikling av skadelig programvare er også ganske uvanlig. Lasarus' MagicRAT er et av de sjeldne nylig dokumenterte eksemplene.

MQsTTang: Mustang Pandas siste bakdør går ny mark med Qt og MQTT PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Figur 2. RTTI som viser klasser fra QMQTT-biblioteket

MQsTTang er distribuert i RAR-arkiver som kun inneholder en enkelt kjørbar fil. Disse kjørbare filene har vanligvis navn relatert til diplomati og pass som:

  • CVer Amb Officer PASS Utenriksdepartementet.exe
  • Dokumenter medlemmer av delegasjonen diplomatiske fra Tyskland.Exe
  • PDF_Pass og CVer til diplomatiske medlemmer fra Tokyo fra JAPAN.eXE
  • Merknad nr.18-NG-23 fra Embassy of Japan.exe

Disse arkivene ligger på en webserver uten tilknyttet domenenavn. Dette faktum, sammen med filnavnene, får oss til å tro at skadelig programvare spres via spearphishing.

Så langt har vi kun observert noen få prøver. Foruten variasjoner i noen konstanter og hardkodede strenger, er prøvene bemerkelsesverdig like. Den eneste bemerkelsesverdige endringen er tillegget av noen antianalyseteknikker i de nyeste versjonene. Den første av disse består i å bruke CreateToolhelp32Snapshot Windows API-funksjon for å iterere gjennom kjørende prosesser og se etter følgende kjente debuggere og overvåkingsverktøy.

  • cheatengine-x86_64.exe
  • ollydbg.exe
  • ida.exe
  • ida64.exe
  • radare2.exe
  • x64dbg.exe
  • procmon.exe
  • procmon64.exe
  • procexp.exe
  • processhacker.exe
  • pestudio.exe
  • systracerx32.exe
  • fiddler.exe
  • tcpview.exe

Merk at selv om skadelig programvare er en 32-biters kjørbar fil, sjekker den bare for tilstedeværelse av x64dbg og ikke dens 32-bits motstykke, x32dbg.

Den andre teknikken bruker FinnWindowW Windows API for å se etter følgende vindusklasser og titler som brukes av kjente analyseverktøy:

  • PROCMON_WINDOW_CLASS
  • OLLYDBG
  • WinDbgFrameClass
  • OllyDbg – [CPU]
  • Immunitetsfeilsøker – [CPU]

Når den kjøres direkte, vil skadelig programvare starte en kopi av seg selv med 1 som et kommandolinjeargument. Dette gjentas av den nye prosessen, med argumentet som økes med 1 på hver kjøring. Når dette argumentet treffer spesifikke verdier, vil visse oppgaver bli utført. Merk at de nøyaktige verdiene varierer mellom prøvene; de nevnt nedenfor tilsvarer prøven med SHA-1 02D95E0C369B08248BFFAAC8607BBA119D83B95B. Oppgavene i seg selv og rekkefølgen de utføres i er imidlertid konstant.

Figur 3 viser en oversikt over denne oppførselen sammen med oppgavene som utføres når skadevaren kjøres første gang.

MQsTTang: Mustang Pandas siste bakdør går ny mark med Qt og MQTT PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Figur 3. Utførelsesgraf som viser delprosessene og utførte oppgaver

Tabell 1 inneholder en liste over oppgavene og verdien for hver av dem utføres. Vi vil beskrive dem mer detaljert i de kommende avsnittene.

Tabell 1. Oppgaver utført av bakdøren

Oppgavenummer Argumentverdi Oppgavebeskrivelse
1 5 Start C&C-kommunikasjon.
2 9 Lag kopi og start.
3 32 Lag utholdenhetskopi.
4 119 Etabler utholdenhet.
5 148 Stopp rekursiv utførelse.

Hvis et analyseverktøy eller debugger oppdages ved hjelp av teknikkene vi beskrev tidligere, endres oppførselen til oppgave 1 og oppgave 2, 3 og 4 hoppes over helt.

Oppgave 1: C&C kommunikasjon

Som tidligere nevnt, kommuniserer MQsTTang med sin C&C-server over MQTT-protokollen. Alle observerte prøver bruker 3.228.54.173 som megler. Denne serveren er en offentlig megler som drives av EMQX, som også tilfeldigvis er vedlikeholdere av QMQTT-biblioteket. Dette kan være en måte å få nettverkstrafikken til å virke legitim og skjule Mustang Pandas egen infrastruktur. Å bruke denne offentlige megleren gir også robusthet; tjenesten er usannsynlig å bli fjernet på grunn av dens mange legitime brukere, og selv om de nåværende C&C-serverne blir forbudt eller tatt ned, kan Mustang Panda spinne opp nye og bruke de samme MQTT-emnene uten å forstyrre MQsTTangs drift.

Imidlertid kan denne kampanjen også være en testsak av Mustang Panda før de bestemmer seg for om de skal investere tid og ressurser for å sette opp sin egen megler. Dette støttes av det lave antallet prøver vi har observert og den veldig enkle naturen til MQsTTang.

Som vist i figur 4 bruker malware- og C&C-serveren to MQTT-emner for sin kommunikasjon. Den første, iot/server2, brukes for kommunikasjon fra klienten til serveren. Den andre brukes til kommunikasjon fra serveren til klienten. Den følger formatet iot/v2/ hvor genereres ved å ta de siste 8 bytene, i hex-form, av en UUID. Hvis et analyseverktøy oppdages, server2 og v2 er henholdsvis erstattet med server0 og v0. Dette er sannsynligvis for å unngå å tipse forsvarere ved å fullstendig avbryte utføringen av skadelig programvare tidlig.

MQsTTang: Mustang Pandas siste bakdør går ny mark med Qt og MQTT PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Figur 4. Forenklet nettverksgraf over kommunikasjonen mellom bakdøren og C&C-serveren

All kommunikasjon mellom serveren og klienten bruker samme kodingsskjema. MQTT-meldingens nyttelast er et JSON-objekt med et enkelt attributt navngitt msg. For å generere verdien av dette attributtet, blir det faktiske innholdet først base64-kodet, deretter XORed med den hardkodede strengen nasa, og base64 kodet igjen. Vi vil beskrive det nøyaktige formatet til disse nyttelastene i de relevante delene.

Ved første tilkobling til megleren, abonnerer skadevare på sitt unike emne. Deretter, og hvert 30. sekund deretter, publiserer klienten en KeepAlive-melding til serverens emne. Innholdet i denne meldingen er et JSON-objekt med følgende format:

Når serveren ønsker å utstede en kommando, publiserer den en melding til klientens unike emne. Klartekstinnholdet i denne meldingen er ganske enkelt kommandoen som skal utføres. Som vist i figur 5, utfører klienten den mottatte kommandoen ved hjelp av QProcess::startCommand fra Qt-rammeverket. Utgangen, oppnådd ved hjelp av QProcess::readAllStandardOutput, sendes deretter tilbake i et JSON-objekt med følgende format:

MQsTTang: Mustang Pandas siste bakdør går ny mark med Qt og MQTT PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Figur 5. Utførelse av mottatte kommandoer ved hjelp av QProcess klasse

Siden bare innholdet i standardutdata sendes tilbake, vil ikke serveren motta feil eller advarsler. Fra serverens synspunkt kan en mislykket kommando derfor ikke skilles fra en kommando som ganske enkelt ikke produserer noe utdata med mindre en form for omdirigering utføres.

Oppgave 2 og 3: Kopiering av skadelig programvare

Den andre og tredje oppgaven er ganske like hverandre. De kopierer den kjørbare programvaren til en hardkodet bane; c:userspublicvdump.exe og c:userspublicvcall.exe hhv. Filnavnene som brukes er forskjellige for hver prøve, men de er alltid plassert i C:userspublic katalogen.

I den andre oppgaven lanseres den nyopprettede kopien med kommandolinjeargumentet 97.

Oppgave 4: Etablere utholdenhet

Utholdenhet etableres av den fjerde oppgaven, som skaper en ny verdi qvlc satt til c:userspublicvcall.exe under HKCUSoftwareMicrosoftWindowsCurrentVersionRun registernøkkel. Dette vil føre til at skadelig programvare kjøres ved oppstart.

Når MQsTTang kjøres ved oppstart som c:userspublicvcall.exe, bare C&C-kommunikasjonsoppgaven utføres.

konklusjonen

Mustang Panda-kampanjen beskrevet i denne artikkelen pågår når dette skrives. Vitimologien er uklar, men lokkefilnavnene er i tråd med gruppens andre kampanjer som retter seg mot europeiske politiske enheter.

Denne nye MQsTTang-bakdøren gir et slags eksternt skall uten noen av klokkene og plystre knyttet til gruppens andre malware-familier. Det viser imidlertid at Mustang Panda utforsker nye teknologistabler for verktøyene sine. Det gjenstår å se om denne bakdøren vil bli en tilbakevendende del av gruppens arsenal, men det er enda et eksempel på gruppens raske utviklings- og distribusjonssyklus.

ESET Research tilbyr private APT-etterretningsrapporter og datafeeder. For eventuelle spørsmål om denne tjenesten, besøk ESET Threat Intelligence side.

IoCs

Filer

SHA-1 filnavn Gjenkjenning Beskrivelse
A1C660D31518C8AFAA6973714DE30F3D576B68FC CVer Amb.rar Win32/Agent.AFBI RAR-arkiv som brukes til å distribuere MQsTTang-bakdør.
430C2EF474C7710345B410F49DF853BDEAFBDD78 CVer Amb Officer PASS Utenriksdepartementet.exe Win32/Agent.AFBI MQsTTang bakdør.
F1A8BF83A410B99EF0E7FDF7BA02B543B9F0E66C Documents.rar Win32/Agent.AFBI RAR-arkiv som brukes til å distribuere MQsTTang-bakdør.
02D95E0C369B08248BFFAAC8607BBA119D83B95B PDF_Pass og CVer til diplomatiske medlemmer fra Tokyo fra JAPAN.eXE Win32/Agent.AFBI MQsTTang bakdør.
0EA5D10399524C189A197A847B8108AA8070F1B1 Dokumenter medlemmer av delegasjonen diplomatiske fra Tyskland.Exe Win32/Agent.AFBI MQsTTang bakdør.
982CCAF1CB84F6E44E9296C7A1DDE2CE6A09D7BB Documents.rar Win32/Agent.AFBI RAR-arkiv som brukes til å distribuere MQsTTang-bakdør.
740C8492DDA786E2231A46BFC422A2720DB0279A 23 fra Embassy of Japan.exe Win32/Agent.AFBI MQsTTang bakdør.
AB01E099872A094DC779890171A11764DE8B4360 BoomerangLib.dll Win32/Korplug.TH Kjent Mustang Panda Korplug-laster.
61A2D34625706F17221C1110D36A435438BC0665 breakpad.dll Win32/Korplug.UB Kjent Mustang Panda Korplug-laster.
30277F3284BCEEF0ADC5E9D45B66897FA8828BFD coreclr.dll Win32/Agent.ADMW Kjent Mustang Panda Korplug-laster.
BEE0B741142A9C392E05E0443AAE1FA41EF512D6 HPCustPartUI.dll Win32/Korplug.UB Kjent Mustang Panda Korplug-laster.
F6F3343F64536BF98DE7E287A7419352BF94EB93 HPCustPartUI.dll Win32/Korplug.UB Kjent Mustang Panda Korplug-laster.
F848C4F3B9D7F3FE1DB3847370F8EEFAA9BF60F1 libcef.dll Win32/Korplug.TX Kjent Mustang Panda Korplug-laster.

Network

IP Domene Hosting-leverandør Først sett Detaljer
3.228.54.173 broker.emqx.io Amazon.com, Inc. 2020-03-26 Legitime offentlig MQTT-megler.
80.85.156[.]151 N / A Chelyabinsk-Signal LLC 2023-01-05 MQsTTang leveringsserver.
80.85.157[.]3 N / A Chelyabinsk-Signal LLC 2023-01-16 MQsTTang leveringsserver.
185.144.31[.]86 N / A Misbruk-C-rolle 2023-01-22 MQsTTang leveringsserver.

Github-lagre

  • https://raw.githubusercontent[.]com/YanNaingOo0072022/14/main/Documents.rar
  • https://raw.githubusercontent[.]com/YanNaingOo0072022/ee/main/CVs Amb.rar

MITRE ATT&CK-teknikker

Dette bordet ble bygget vha versjon 12 av MITRE ATT&CK-rammeverket.

taktikk ID Navn Beskrivelse
Ressursutvikling T1583.003 Skaff infrastruktur: Virtual Private Server Noen servere som brukes i kampanjen er på delt hosting.
T1583.004 Anskaffe infrastruktur: Server Noen servere som brukes i kampanjen ser ut til å være eksklusive for Mustang Panda.
T1587.001 Utvikle evner: Skadelig programvare MQsTTang er en tilpasset bakdør, sannsynligvis utviklet av Mustang Panda.
T1588.002 Skaff evner: Verktøy Flere legitime og åpen kildekodeverktøy, inkludert psexec, ps, curlog plink, ble funnet på oppsamlingsserveren.
T1608.001 Stageegenskaper: Last opp skadelig programvare MQsTTang ble lastet opp til webserveren for distribusjon.
T1608.002 Stageegenskaper: Opplastingsverktøy Flere verktøy ble lastet opp til en FTP-server.
Innledende tilgang T1566.002 Phishing: Spearphishing Link MQsTTang distribueres via spearphishing-lenker til en ondsinnet fil på en angriperkontrollert webserver.
Gjennomføring T1106 Innfødt API MQsTTang bruker QProcess klasse fra Qt-rammeverket for å utføre kommandoer.
T1204.002 Brukerutførelse: Skadelig fil MQsTTang er avhengig av at brukeren kjører den nedlastede ondsinnede filen.
Utholdenhet T1547.001 Oppstart eller pålogging Autostartutførelse: Registry Run Keys / Oppstartsmappe MQsTTang vedvarer ved å opprette en registerkjørenøkkel.
Forsvarsunndragelse T1036.004 Maskering: Maskeradeoppgave eller tjeneste I de fleste eksempler er registernøkkelen opprettet med navnet qvlc. Dette samsvarer med navnet på en legitim kjørbar som brukes av VLC.
T1036.005 Masquerading: Match legitimt navn eller sted Når du lager kopier, bruker MQsTTang filnavn på legitime programmer.
T1480 Utførelsesrekkverk MQsTTang sjekker banene den utføres fra for å bestemme hvilke oppgaver som skal utføres.
T1622 Debugger Evasion MQsTTang oppdager kjørende debuggere og endrer oppførselen hvis noen blir funnet å være tilstede.
Command and Control T1071 Application Layer Protocol MQsTTang kommuniserer med sin C&C-server ved å bruke MQTT-protokollen.
T1102.002 Webtjeneste: Toveis kommunikasjon MQsTTang bruker en legitim offentlig MQTT-megler.
T1132.001 Datakoding: Standardkoding Innholdet i meldingene mellom skadevare og server er base64-kodet.
T1573.001 Kryptert kanal: symmetrisk kryptografi Innholdet i meldingene mellom skadevare og server krypteres med en repeterende XOR-nøkkel.
exfiltration T1041 Eksfiltrering over C2-kanal Utdataene fra utførte kommandoer sendes tilbake til serveren med samme protokoll.

MQsTTang: Mustang Pandas siste bakdør går ny mark med Qt og MQTT PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Tidstempel:

Mer fra Vi lever sikkerhet