Összefoglaló
OPSWAT azonosított egy széles körű, valószínűleg pénzügyi indíttatású fertőzési kampányt, amely hamis mesterséges intelligencia szoftvereket használ csaliként egy újonnan felfedezett malware család letöltésére, amelyben a "JavaSquid" nevet adtuk neki, nevezetesen a többszörös kitérő/csúszós JavaScript részei miatt.
Based on our monitoring thanks to MetaDefender Aether’s capabilities, we’ve assessed that the campaign remains ongoing and that it started around mid-July of 2024. The threat actors associated with this campaign have conducted previous successful attacks where they stole digital certificates from different Chinese companies.
Besides uncovering a new malware family and a live campaign, the findings of this research and monitoring have allowed the improvement of our Sandbox’s feature/indicator capabilities. Additionally, our investigation provides enough information to implement a comprehensive instance of a Diamond Model of Intrusion Analysis along with the provided IOCs (indicators of compromise) and specific MITRE ATT&CK mappings from MetaDefender Aether reports.
A kampány feltárása
OPSWATA Sandbox Threat Research egy olyan fertőzési kampányt fedezett fel, amely a mesterséges intelligenciát csaliként használja, de valójában nem használ mesterséges intelligenciát a támadásokban vagy a rosszindulatú szoftverekben. A vizsgálat akkor kezdődött, amikor megfigyeltük a gyanús tartományt, a https[://]my-profai[.]com. Bár úgy tűnik, hogy a domaint már levették, 2024-09-05-én regisztrálták, ami azt jelenti, hogy a kampány nemrég indult, és a vizsgálatunk során gyűjtött információk alapján valószínűleg még mindig folyamatban van.
Honlapjuk címe szerint "Epivaravomw: Bringinging Your Static Images to Life" úgy tűnik, hogy egy AI-alapú eszközt kínálnának a képek mozgásba hozásához, ami egy potenciális víznyelő támadásra utal, amely más weboldalak malvertisingját is kihasználja, hogy a felhasználókat a malware letöltésére késztesse. Azonban valószínűleg a https://proai.co megszemélyesítőjéről van szó , mivel a letölthető Windows futtatható fájl neve ProAI.exe, amely a kártevőminta, amelyet előre elemezünk.

A kezdeti veszélyeztetés ilyen technikái arra utalnak, hogy a kampány mögött álló fenyegető szereplők opportunista fertőzéseket keresnek, és ezért valószínűleg pénzügyi motivációval, esetleg IAB-ként (Initial Access Broker) tevékenykednek. A mintául szolgáló beadványok helye alapján nagyon valószínű, hogy a kampány célpontja elsősorban Európa.
Az áldozatok becsapására és a rosszindulatú szoftverek kiszolgálására használt watering hole domain a Cloudflare által védett. A kártevő mintájuk azonban egy másik domainnel lép kapcsolatba, amely egy olyan IP-címre oldódik fel, amelyre számos más domain is mutat. Úgy tűnik, hogy az ugyanarra az IP-címre mutató különböző domainek közül sok is kapcsolódik az AI-tech csalihoz és más vállalatok megszemélyesítéséhez.
Érdekes módon az OSINT-kutatásaink azt mutatták, hogy a C2 IP-cím korábban a Lumma és a Poseidon lopókkal állt kapcsolatban. Míg a Lumma lopás állítólag a régi Mars lopáson alapult, a Poseidon egy nagyon nemrég felfedezett, AppleScript nyelven írt, ezért iOS-környezeteket célzó malware-család. Az a tény, hogy ez az újszerű család JavaScriptben íródott, arra utalhat, hogy a tevékenység mögött álló fenyegető szereplő olyan szkriptnyelvre válthat, amely különböző környezetekben használható. Egy másik kiemelendő szempont az a tény, hogy az IP-cím egy kínai internetszolgáltatóhoz (Chang Way Technologies Co. Limited) tartozik, míg az állomás földrajzi elhelyezkedése az Orosz Föderáció területén található.
A kezdeti rosszindulatú minta érvényes digitális aláírással rendelkezett, amikor először elemeztük (2024. november 9-én), amelyet egy kínai cég, a "Taigu Fulong Electronic Tech Co., Ltd." állított ki. Megfigyeltük azonban, hogy a vizsgálatunk során ezt már visszavonták.

Miközben a Sandbox vadászmotorunk segítségével hasonló minták után kutattunk, találtunk egy sor azonos családba tartozó mintát, amelyek ugyanazt a valószínűleg lopott digitális tanúsítványt használják, de két új mintacsoportot is találtunk. Az egyik készlet nem rendelkezett digitális aláírással, míg a másik egy másik digitális tanúsítványt használt. Valamennyi minta ugyanazt a mintát és technikát követte: a különböző megadott nevek alapján (ai_Generation.exe, sweethome3d.exe, Installer_capcut_pro_x64.exe...) valamilyen legitim segédprogramnak adták ki magukat.

Megállapításaink alapján ez a kampány július közepe körül kezdődött, és jelenleg is tart, mivel folyamatosan újabb és újabb mintákat figyelünk meg a családból, még 2024 októberének utolsó hetében is. Továbbá, míg a kezdeti mintából származó tanúsítványt a vizsgálatunk során visszavonták, a másik felfedezett tanúsítvány a másik készletből még mindig érvényes, és szeptember elején állították ki, ami arra utalhat, hogy a kibocsátó veszélyeztetett lehet, és nem tudott róla, amíg fel nem vettük velük a kapcsolatot, és nem jelentettük, hogy a tanúsítványukat rosszindulatú szoftverekben használják.
A malware megértése
While MetaDefender Aether flags many capabilities of the original PE and its later stages as explained ahead, at the time of this writing, the initial malware sample remains fully undetected by most AV vendors .

The PE is compiled JavaScript malware, using the pkg tool to turn the JavaScript code into a Windows PE. Compiled JavaScript appears to be on the rise within the threat landscape, as recently reported by the other researchers. The mentioned tool packages a JavaScript payload into a Windows PE by embedding a Node JS/V8 interpreter with the option of compiling the code into V8 bytecode, hence embedding into the PE either the plaintext code or a JavaScript Compiled bytecode. The plaintext version extraction is trivial in most cases, though, MetaDefender Aether can extract the compiled code as a JSC (JavaScript Compiled file) and disassemble for later further analysis.

The JavaScript payload holds the relevant payload base64 encoded, decodes it, and executes it using the eval function. This decoded payload starts by running a quick RAM size check, likely to avoid executing on analysis environments. While many traditional sandboxes would not pass through this check, MetaDefender Aether performs deeper analysis of all the JavaScript code, allowing the trigger of relevant indicators.

Ha az ellenőrzés sikeres, a minta végrehajt egy HTTP-kérést egy Google-naptár esemény URL-címére, amely a leírásában egy második URL-címet tárol base64 formátumban.

A dekódolt URL a támadó által ellenőrzött tartományra mutat, amely a megfelelő kérés után egy új base64 payloadot szolgáltat. Az új JavaScript payload dekódolása után az eval függvény segítségével azonnal végre is hajtja azt. Ez a további JavaScript-kód AES-titkosítással visszafejt és végrehajt egy további réteg keményen kódolt hasznos terhet.


Érdekes módon az IV és az AES kulcsokat az utolsó HTTP-kérés válaszfejlécéből kapjuk, amelyek megfigyeléseink szerint minden egyes kérésnél eltérőek, ami azt jelenti, hogy a kiszolgált hasznos teher és a fejlécek dinamikusan jönnek létre minden egyes kérésnél a C2-hez, amelyet különböző kulcsokkal kell visszafejteni. Továbbá úgy tűnik, hogy a visszafejtett hasznos teher mindig ugyanaz, de más-más elfedéssel, ami azt mutatja, hogy nemcsak a titkosítás, hanem az elfedés is dinamikusan történik minden egyes kérésnél. Ez a technika nem csak a törvényszéki elemzést akadályozhatja incidens esetén, vagy a fenyegetések kutatását, de a szignatúra-alapú észleléseket is kikerülheti, mivel az elfedés minden egyes kérésnél más és más.
Ez az újonnan dekódolt modul erősen elkendőzött, és további könyvtárak kódjának hozzáadásával sokkal több funkciót ad a mintához, főként a fájlműveletek és a zip-funkciók kezeléséhez az adm modul segítségével. Ezenkívül különböző fájlokat helyez el különböző %appdata%\Local alkönyvtárakban, véletlenszerű elnevezésekkel.
Az egyik elejtett fájl egy run.ps1 nevű PowerShell szkript, amely a NodeJS MSI telepítőjének telepítéséhez szükséges kódot tartalmazza, hogy később a végleges JavaScript hasznos terhet a telepített NodeJS segítségével indítsa el a kezdeti lefordított JavaScript hasznos teher helyett.

Ezen a ponton a végrehajtás hibaüzenetet vált ki a felhasználó számára egy felugró ablak formájában, amely valószínűleg azt a benyomást kelti az áldozatban, hogy a várt "AI szoftver" (ProAI.exe) esetleg nem tud futni a rendszerén, és eltereli a figyelmét a folyamatban lévő JavaSquid fertőzésről. Ez a későbbi szakaszban lévő JavaScript hasznos teher egy utolsó JavaScript fájlt is letölteni fog, amely ugyanazt a mechanizmust használja a Google naptárakkal való kapcsolatfelvételre, majd a HTTP válasz fejlécek segítségével kapcsolatba lép az ellenőrzött tartományukkal a végül kiszolgált hasznos teher visszafejtése érdekében. Ezúttal a végső hasznos teher index.js néven kerül elmentésre egy véletlenszerű nevű könyvtárba, amely a %appdata%/Romaing könyvtáron belül található.
A korábbi run.ps1 fájl később egy másik, azonos nevű PowerShell-skriptre cserélődik, és szintén azonnal végrehajtásra kerül. Amint a képernyőképen látható, ez a szkript csak arra szolgál, hogy a gépen állandóságot szerezzen, míg a fő kártevő kódja az index.js-ben íródott.

A rosszindulatú szoftver által elejtett további fájlok:
- VeqVMR.zip (véletlenszerűen generált név): Letöltve ugyanarról a C2-ről. Csak egy notepad telepítőt tartalmaz (npp.8.6.6.6.Installer.exe), amely nyilvánvalóan nincs hatással az általános viselkedésre.
- bypass.ps1: a korábban említett run.ps1 végrehajtására szolgál, miközben megkerüli a powershell szkriptek futtatási korlátozását.
- NiOihmgUci.msi (véletlenszerűen generált név): a nodejs telepítője, a hivatalos weboldalról letöltve.
- Update.lnk: a run.ps1 PowerShell szkriptre mutat.

As mentioned, the final payload is saved into the victim’s machine as index.js. It is also highly obfuscated and encrypted dynamically on every request, following the same flow described before for the middle stage payload (google calendar, base64 URL, payload decryption). However, since this is the latest stage of the JavaSquid infection chain, the decryption keys are written into the script itself, which allowed MetaDefender Aether to identify, extract, and decrypt the very final payload for thorough analysis.

Érdekes módon azt tapasztaltuk, hogy az aktuálisan kiszolgált index.js különböző verziókra váltott, amelyek javított végrehajtást és kissé eltérő funkciókat tartalmaznak. Ez alátámasztja azt a hipotézist, hogy a kampány még mindig él, és a JavaSquid végleges payload még mindig fejlesztés alatt áll. A fájlt következetesen egy egysoros JavaScriptként szolgálták ki, egy középső szakaszban lévő, base64-ben kódolt payloadtal, amely keményen kódolt kulcsokat tartalmaz az AES dekódoláshoz. Ahogy az előző képernyőképen látható, ez dekódolja és végrehajtja a végső hasznos terhet, kiemelve a hasznos teher láncot az index.js elemzésében.
A kezdeti kiszolgált hasznos teher a C2-vel való kommunikációt a websocket protokollon keresztül valósítja meg. A C2-től érkező json formátumú üzeneteket elemzi, keresve a "command" elemet, amelyet base64 formátumban kell fogadni. A legutóbbi kiszolgált hasznos teher azonban hasonló funkcionalitással rendelkezett, de HTTP-kérést használt a C2-kommunikációhoz. Továbbá, bár ez a család még mindig egy nagyon egyszerű backdoor, megfigyeltük, hogy a legutóbbi kiszolgált JavaSquid kód új információgyűjtő és lopó funkciókat tartalmazott.
IOC-k
999abd365022c5d83dd2db4c0739511a7ac38bcd9e3aa19056d62d3f5c29ca30
Aec44665395d4ae7064ea08d6d03b729464715d2169c629f3e3215d61c1299ea
b216880a67fc2e502ae94928aead75ef870fbb7ba142f7eda355d9ed6e72146d
chackopanikulamskykat@gmail.com
kendalllopez149@gmail.com
45.93[.]20.174
ambisecperu[.]com
angelswipe [.]com
nenkinseido[.]com
hxxps://calendar.app[.]google/X97t5bVooB2ti1QB8
hxxps://calendar.app[.]google/pPGGk4W26WW7oJxN7
hxxps://calendar.app[.]google/fD8MeHaN46bfYy3SA
hxxps://ambisecperu[.]com/a74Uxj9QjqWbeKr2SYOHsw%3D%3D
hxxps://ambisecperu[.]com/lBdvVW3MiQgpwRGAl5KNwg%3D%3D
hxxps://ambisecperu[.]com/o2BF9EGgskwn0k5Cwo7kugjt7xChBPSnghiJkDU7MwQ%3D
wss://ambisecperu[.]com/ss_ss?uuid=L07nKQ%2FEG1qQXwzQ1Tv3vqduOgfze7Yz3Ry%2FrXnr8WY%3D
hxxp://angelswipe[.]com?uuid=1sdtM0o5b35Uhe6wp9nM5UMMZ8BNrbYwtT1LAvW4rRA%3D
hxxps://nenkinseido[.]com/a3vNlpuRk6O5S469pG17Gw%3D%3D
hxxps://nenkinseido[.]com/YMvBag0VXbce5q0WvNrMRg%3D%3D
9A:84:A9:7F:AC:26:DF:5C:8A:74:FB:E6:88:0A:0B:5D:A5:17:08:DC
BB:F9:86:55:F4:D4:ED:39:6F:BC:A9:5F:4A:F8:ED:4E:B0:19:50:A9
Ugyanarra az IP-címre mutató különböző domainek, amelyeket az elemzett minták nem használtak, de úgy tűnik, hogy a mesterséges intelligenciával kapcsolatos weboldalak hamisításához is kapcsolódnak:
agattiairport[.]com
aimodel[.]itez-kz[.]com
akool[.]cleartrip[.]voyage
akool[.]techdom[.]click
akordiyondersi[.]com
albanianvibes[.]com
albert[.]alcokz[.]store
albert[.]flora-kz[.]store
apkportion[.]com
asd[.]leboncoin-fr[.]eu
basgitardersi[.]com
bendiregitimi[.]com
bybit[.]travel-watch[.]org
cap[.]cleartrip[.]voyage
dipo[.]cleartrip[.]voyage
face[.]techdom[.]click
facetwo[.]techdom[.]click
ftp[.]millikanrams[.]com
haiper[.]techdom[.]click
haiper[.]travel-watch[.]org
havoc[.]travel-watch[.]org
l[.]apple-kz[.]store
liama[.]cleartrip[.]voyage
loader[.]waltkz[.]com
locktgold[.]travel-watch[.]org
luminarblack[.]techdom[.]click
millikanrams[.]com
openaai[.]clear-trip-ae[.]com
proai[.]travel-watch[.]org
sweethome[.]travel-watch[.]org
synthesia[.]flow-kz[.]store
synthesia[.]techdom[.]click
uizard[.]flow-kz[.]store
upscayl[.]cleartrip[.]voyage
Tudjon meg többet arról, hogy a OPSWATújgenerációs homokozó és adaptív rosszindulatú szoftverek elemzésére szolgáló megoldásai hogyan biztosítanak a szervezeteknek kritikus előnyt az összetett és kitérő rosszindulatú szoftverek elleni küzdelemben - beszéljen egy szakértővel.
