Zusammenfassung
OPSWAT hat eine breit angelegte Infektionskampagne identifiziert, die wahrscheinlich finanziell motiviert ist und gefälschte KI-Software als Köder für den Download einer neu entdeckten Malware-Familie verwendet, die wir aufgrund ihrer zahlreichen ausweichenden/schlüpfrigen JavaScript-Teile "JavaSquid" genannt haben.
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.
Die Aufdeckung der Kampagne
OPSWAT Sandbox Threat Research hat eine Infektionskampagne aufgedeckt, die KI-Software als Köder benutzt, aber in Wirklichkeit keine KI in ihren Angriffen oder Malware einsetzt. Die Untersuchung begann, als wir die verdächtige Domain https[://]my-profai[.]com entdeckten. Obwohl die Domain bereits gelöscht zu sein scheint, wurde sie am 2024-09-05 registriert, was bedeutet, dass die Kampagne erst vor kurzem gestartet wurde und nach den während unserer Untersuchung gesammelten Informationen wahrscheinlich noch läuft.
Laut dem Titel ihrer Website "Epivaravomw: Bringing Your Static Images to Life" scheint es, als würden sie ein KI-basiertes Tool anbieten, um Bilder mit Bewegung zu versehen, was auf einen potenziellen Watering-Hole-Angriff hindeutet, der auch Malvertising auf anderen Websites ausnutzt, um die Benutzer zum Download der Malware zu verleiten. Wahrscheinlich handelt es sich jedoch um eine Imitation von https://proai.co, da die zum Download angebotene ausführbare Windows-Datei den Namen ProAI.exe trägt, die wir im Folgenden analysieren werden.

Derartige Techniken zur Erstkompromittierung deuten darauf hin, dass die hinter der Kampagne stehenden Bedrohungsakteure opportunistische Infektionen anstreben und daher wahrscheinlich mit finanzieller Motivation handeln, möglicherweise als IAB (Initial Access Broker). Ausgehend vom Standort der eingereichten Beispiele ist es sehr wahrscheinlich, dass das Ziel der Kampagne hauptsächlich Europa ist.
Die Watering Hole-Domain, mit der die Opfer getäuscht und die Malware verbreitet wird, ist durch Cloudflare geschützt. Das Malware-Beispiel kontaktiert jedoch eine andere Domain, die in eine IP-Adresse aufgelöst wird, auf die auch viele andere Domains verweisen. Viele der verschiedenen Domains, die auf dieselbe IP-Adresse verweisen, scheinen ebenfalls mit den KI-Tech-Ködern und der Imitation anderer Unternehmen in Verbindung zu stehen.
Interessanterweise haben unsere OSINT-Recherchen ergeben, dass die C2-IP-Adresse zuvor mit Lumma- und Poseidon-Stealern in Verbindung gebracht wurde. Während der Lumma-Stealer Berichten zufolge auf dem alten Mars-Stealer basiert, ist Poseidon eine erst kürzlich entdeckte Malware-Familie, die in AppleScript geschrieben wurde und daher auf iOS-Umgebungen abzielt. Die Tatsache, dass diese neue Familie in JavaScript geschrieben ist, könnte darauf hindeuten, dass der Bedrohungsakteur, der hinter dieser Aktivität steht, zu einer Skriptsprache wechselt, die in verschiedenen Umgebungen verwendet werden kann. Ein weiterer hervorzuhebender Aspekt ist die Tatsache, dass die IP-Adresse zu einem chinesischen ISP (Chang Way Technologies Co. Limited) gehört, während der Host in der Russischen Föderation angesiedelt ist.
Das ursprüngliche Malware-Muster hatte zum Zeitpunkt unserer ersten Analyse (9. November 2024) eine gültige digitale Signatur, die von einem chinesischen Unternehmen namens "Taigu Fulong Electronic Tech Co., Ltd" ausgestellt wurde. Während unserer Untersuchung stellten wir jedoch fest, dass sie bereits widerrufen worden war.

Bei der Suche nach ähnlichen Beispielen mit unserer SuchmaschineSandbox fanden wir eine Reihe von Beispielen aus derselben Familie, die dasselbe wahrscheinlich gestohlene digitale Zertifikat verwendeten, aber auch zwei neue Sätze von Beispielen. Einer der Sätze enthielt keine digitale Signatur, während der andere ein anderes digitales Zertifikat verwendete. Alle Beispiele folgten denselben Mustern und Techniken, indem sie sich aufgrund ihrer unterschiedlichen Namen als legitimes Dienstprogramm ausgaben (ai_Generation.exe, sweethome3d.exe, Installer_capcut_pro_x64.exe...).

Unseren Erkenntnissen zufolge begann diese Kampagne etwa Mitte Juli und ist derzeit noch nicht abgeschlossen, da wir erst in der letzten Oktoberwoche 2024 neue Muster dieser Familie entdeckt haben. Während das Zertifikat aus dem ersten Muster während unserer Untersuchung widerrufen wurde, ist das andere entdeckte Zertifikat aus dem anderen Satz immer noch gültig und wurde Anfang September ausgestellt, was möglicherweise darauf hindeutet, dass der Aussteller kompromittiert ist und er nichts davon wusste, bis wir ihn über die Verwendung seines Zertifikats in Malware informiert haben.
Verstehen der Malware
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.

Wenn die Prüfung bestanden ist, führt das Beispiel eine HTTP-Anfrage an eine Google-Kalender-Ereignis-URL aus, die in ihrer Beschreibung eine zweite URL im base64-Format speichert.

Die entschlüsselte URL verweist auf eine vom Angreifer kontrollierte Domäne, die nach der entsprechenden Anfrage eine neue base64-Nutzlast liefert. Nach der Dekodierung des neuen JavaScript-Payloads wird dieser ebenfalls sofort mit der eval-Funktion ausgeführt. Dieser zusätzliche JavaScript-Code entschlüsselt und führt eine zusätzliche Schicht hartkodierter Nutzdaten mit AES-Verschlüsselung aus.


Interessanterweise werden die IV- und AES-Schlüssel aus den Antwort-Headern der letzten HTTP-Anfrage entnommen, die sich nach unseren Beobachtungen bei jeder Anfrage unterscheiden, was bedeutet, dass die Nutzdaten und Header bei jeder Anfrage an C2 dynamisch erstellt und mit unterschiedlichen Schlüsseln entschlüsselt werden. Außerdem scheint die entschlüsselte Nutzlast immer dieselbe zu sein, allerdings mit einer anderen Verschleierung, was zeigt, dass nicht nur die Verschlüsselung, sondern auch die Verschleierung bei jeder Anfrage dynamisch erfolgt. Diese Technik könnte nicht nur die forensische Analyse im Falle eines Vorfalls oder die Bedrohungsforschung erschweren, sondern sie würde auch signaturbasierte Erkennungen umgehen, da die Verschleierung bei jeder Anfrage anders ist.
Dieses neu entschlüsselte Modul ist hochgradig verschleiert und erweitert das Beispiel um viele weitere Funktionen, indem es den Code zusätzlicher Bibliotheken hinzufügt, die sich hauptsächlich mit Dateioperationen und Zip-Funktionen unter Verwendung des adm-Moduls befassen. Außerdem legt es verschiedene Dateien in verschiedenen Unterverzeichnissen %appdata%\Local ab, wobei es eine zufällige Benennung verwendet.
Eine der abgelegten Dateien ist ein PowerShell-Skript mit dem Namen run.ps1, das den Code zur Installation des NodeJS MSI-Installationsprogramms enthält, um später die endgültige JavaScript-Nutzlast unter Verwendung des installierten NodeJS anstelle der anfänglich kompilierten JavaScript-Nutzlast zu starten.

An diesem Punkt löst die Ausführung eine Fehlermeldung für den Benutzer in Form eines Pop-ups aus, die das Opfer zu der Annahme verleiten soll, dass die erwartete "KI-Software" (ProAI.exe) nicht auf seinem System ausgeführt werden kann, um seine Aufmerksamkeit von der laufenden JavaSquid-Infektion abzulenken. Diese spätere JavaScript-Nutzlast lädt auch eine letzte JavaScript-Datei herunter, wobei derselbe Mechanismus verwendet wird, um Google-Kalender zu kontaktieren und dann die kontrollierte Domäne mit Hilfe der HTTP-Antwort-Header zu kontaktieren, um die schließlich zugestellte Nutzlast zu entschlüsseln. Dieses Mal wird die endgültige Nutzlast als index.js in einem Verzeichnis mit einem zufälligen Namen im Verzeichnis %appdata%/Romaing gespeichert.
Die vorherige Datei run.ps1 wird später durch ein anderes PowerShell-Skript mit demselben Namen ersetzt und ebenfalls sofort ausgeführt. Wie auf dem Screenshot zu sehen ist, wird dieses Skript nur verwendet, um auf dem Computer zu bleiben, während der Hauptcode der Malware in index.js geschrieben wurde.

Zusätzliche Dateien, die von der Malware abgelegt wurden:
- VeqVMR.zip (zufällig generierter Name): Heruntergeladen von der gleichen C2. Es enthält nur ein Notepad-Installationsprogramm (npp.8.6.6.Installer.exe), das offenbar keine Auswirkungen auf das Gesamtverhalten hat.
- bypass.ps1: wird verwendet, um die zuvor erwähnte run.ps1 auszuführen, wobei die Einschränkung der Ausführung von Powershell-Skripten umgangen wird.
- NiOihmgUci.msi (zufällig generierter Name): nodejs-Installationsprogramm, abgerufen von der offiziellen Website.
- Update.lnk: Es wird im Startordner abgelegt und verweist auf das PowerShell-Skript run.ps1.

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.

Interessanterweise haben wir herausgefunden, dass die aktuell bediente index.js zu verschiedenen Versionen gewechselt hat, die eine verbesserte Implementierung und leicht veränderte Funktionen beinhalten. Dies unterstützt die Hypothese, dass die Kampagne noch immer aktiv ist und die endgültige JavaSquid-Nutzlast noch in der Entwicklung ist. Die Datei wurde durchgängig als Einzeiler-JavaScript mit einer in base64 kodierten Nutzlast der mittleren Stufe bereitgestellt, die fest kodierte Schlüssel für die AES-Entschlüsselung enthält. Wie im vorherigen Screenshot gezeigt, wird die endgültige Nutzlast entschlüsselt und ausgeführt, wobei die Nutzlastkette in der Analyse von index.js hervorgehoben wird.
Die anfängliche Nutzlast implementiert ihre Kommunikation mit C2 über das Websocket-Protokoll. Sie parst die Nachrichten von C2 im json-Format und sucht nach dem Element "command", das im base64-Format empfangen werden sollte. Die letzte Nutzlast hatte jedoch eine ähnliche Funktionalität, verwendete aber HTTP-Anfragen für die C2-Kommunikation. Obwohl es sich bei dieser Familie immer noch um eine sehr einfache Hintertür handelt, haben wir außerdem festgestellt, dass der neueste JavaSquid-Code neue Funktionen zum Sammeln und Stehlen von Informationen enthält.
IOCs
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
Verschiedene Domänen, die auf dieselbe IP-Adresse verweisen, die nicht von den analysierten Stichproben verwendet wurden, aber auch für die Fälschung von KI-bezogenen Websites in Frage kommen:
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
Erfahren Sie mehr darüber, wie die Sandbox der nächsten Generation und die adaptiven Malware-Analyse-Lösungen von OPSWATUnternehmen einen entscheidenden Vorteil im Kampf gegen komplexe und ausweichende Malware verschaffen - sprechen Sie mit einem Experten.
