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.
Auf der Grundlage unserer Überwachung dank der Funktionen von MetaDefender Sandbox haben wir festgestellt, dass die Kampagne noch andauert und etwa Mitte Juli 2024 begann. Die Bedrohungsakteure, die mit dieser Kampagne in Verbindung stehen, haben bereits früher erfolgreiche Angriffe durchgeführt, bei denen sie digitale Zertifikate von verschiedenen chinesischen Unternehmen gestohlen haben.
Neben der Aufdeckung einer neuen Malware-Familie und einer Live-Kampagne haben die Ergebnisse dieser Untersuchung und Überwachung die Verbesserung der Funktionen/Indikatoren unseres Sandboxermöglicht. Darüber hinaus liefert unsere Untersuchung genügend Informationen, um eine umfassende Instanz eines Diamantmodells der Intrusionsanalyse zusammen mit den bereitgestellten IOCs (Indicators of Compromise) und spezifischen MITRE ATT&CK-Zuordnungen aus MetaDefender Sandbox Berichten zu implementieren.
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
Während Metadefender Sandbox viele Fähigkeiten der ursprünglichen PE und ihrer späteren Stadien kennzeichnet, bleibt das ursprüngliche Malware-Sample zum Zeitpunkt der Erstellung dieses Artikels von den meisten AV-Anbietern vollständig unerkannt.
Bei der PE handelt es sich um kompilierte JavaScript-Malware, die das pkg-Tool verwendet, um den JavaScript-Code in eine Windows PE zu verwandeln. Kompiliertes JavaScript scheint in der Bedrohungslandschaft auf dem Vormarsch zu sein, wie kürzlich von anderen Forschern berichtet wurde. Das erwähnte Tool verpackt eine JavaScript-Nutzlast in eine Windows-PE, indem es einen Node JS/V8-Interpreter mit der Option einbettet, den Code in V8-Bytecode zu kompilieren und somit entweder den Klartextcode oder einen JavaScript-Compiled-Bytecode in die PE einzubetten. Die Extraktion der Klartextversion ist in den meisten Fällen trivial. Metadefender Sandbox kann jedoch den kompilierten Code als JSC (JavaScript Compiled file) extrahieren und für eine spätere Analyse disassemblieren.
Die JavaScript-Nutzlast enthält die entsprechende Nutzlast base64-kodiert, dekodiert sie und führt sie mit der eval-Funktion aus. Diese dekodierte Nutzlast führt zunächst eine schnelle Überprüfung der RAM-Größe durch, wahrscheinlich um die Ausführung in Analyseumgebungen zu vermeiden. Während viele herkömmliche Sandboxen diese Prüfung nicht bestehen würden, führt Metadefender Sandbox eine tiefere Analyse des gesamten JavaScript-Codes durch und ermöglicht so die Auslösung relevanter Indikatoren.
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.
Wie bereits erwähnt, wird die endgültige Nutzlast auf dem Rechner des Opfers als index.js gespeichert. Sie ist ebenfalls stark verschleiert und wird bei jeder Anfrage dynamisch verschlüsselt, wobei sie demselben Ablauf folgt, der zuvor für die Nutzlast der mittleren Stufe beschrieben wurde (Google-Kalender, base64-URL, Entschlüsselung der Nutzlast). Da es sich hierbei jedoch um die letzte Stufe der JavaSquid-Infektionskette handelt, sind die Entschlüsselungsschlüssel in das Skript selbst geschrieben, was es Metadefender Sandbox ermöglichte, die letzte Nutzlast zu identifizieren, zu extrahieren und für eine gründliche Analyse zu entschlüsseln.
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.