Inhalt
Einführung
Ein kostenloses Survival-Spiel mit dem Namen “PirateFi” im Online-Spielespeicher Steam hat die Malware Vidar zum Diebstahl von Informationen an ahnungslose Spieler verteilt. Letzte Woche hat Valve ein Spiel aus seinem Online-Store entfernt, weil Nutzer ihre Bedenken über Malware-Warnungen durch Anti-Virus-Software nach dem Start des Spiels äußerten.
Nach der Entfernung des Spiels analysierte das SECUINFRA Falcon Team die Malware und stellte fest, dass das Spiel ein Versuch war, die Spieler zur Installation eines Infodiebstahls namens “Vidar” zu verleiten. Da die Spielwerbung Hinweise auf Kryptowährungen und Blockchain-Technologie enthielt, glauben wir, dass dies ein Köder war, der speziell auf Spieler abzielte, die sich für diese Themen interessieren.
Über diese Forschung wurde auch in BleepingComputer und Techcrunch berichtet.
Technische Analyse
Die Analyseplattform SteamDB hat die Entfernung des Spiels aus dem Steam-Store schnell bemerkt und die Benachrichtigung von Valve an die betroffenen Spieler auf X (Twitter) veröffentlicht. Wir nutzten die SteamDB-Plattform , um visuell eine verdächtig große ausführbare Datei zu identifizieren, die innerhalb von drei Tagen mehrfach geändert und neu hochgeladen wurde. Dies gab uns einen Ausgangspunkt für unsere geplante Malware-Analyse.
Abbildung1 : Verdächtige Änderungen am PirateFi-Spiele-Repository (Quelle: SteamDB)
Das von uns identifizierte Beispiel von “Pirate.exe” hat eine Größe von 693 MB. Diese Eigenschaft findet man häufig bei Infostealer-Malware, um mit geringem Aufwand die Erkennung durch Antivirenprogramme und Sandboxen zu umgehen. Wir haben festgestellt, dass die Datei als InnoSetup-Installationsassistent verpackt ist, den wir entpacken müssen.
Abbildung2 : Visualisierung der Abschnitte von “Pirate.exe”, mit einem aufgeblähten Overlay
Mit dem Tool “innoextract” lässt sich die – wiederum massiv aufgeblähte – Nutzlast namens “Howard.exe” aus der Installationsdatei “pirate.exe” extrahieren. Die extrahierte ausführbare Datei ist immer noch 507 MB groß, was die weitere Analyse erschweren könnte
Abbildung3 : Entpacken der InnoSetup-Installerdatei
Wir haben das Debloat-Tool von @SquiblydooBlog (https://github.com/Squiblydoo/debloat) verwendet, um die Datei auf eine handlichere Größe von 2,6 MB zu schrumpfen, indem wir den überflüssigen Inhalt aus dem Datei-Overlay entfernt haben (einen großen Block mit zufällig ausgewählten Wörterbuchwörtern).
Abbildung4 : Entleeren der ausführbaren Datei mit “debloat”
Durch dynamische Analyse und YARA-Signaturübereinstimmungen haben wir festgestellt, dass es sich um ein Vidar-Infostealer-Muster handelt.
Vidar verwendet einen zweistufigen Ansatz für die Befehls- und Kontrollkommunikation. Die Malware-Konfiguration enthält Links zu zwei so genannten Dead Drop Resolvern (DDR). Diese DDRs verwenden legitime Websites wie Telegram, Mastodon, Google Calendar oder in diesem Fall ein Steam-Benutzerprofil, um die URL/IP-Adresse für den zweiten (“echten”) CnC-Server zu speichern. Dies hilft dem Bedrohungsakteur, seine Backend-Infrastruktur zu verschleiern, und ermöglicht eine gewisse Flexibilität beim gleichzeitigen Betrieb mehrerer CnC-Server. Ein solcher DDR enthält einen Marker/Schlüssel (hier: a110mgz), der zur Verifizierung des DDR-Inhalts und der IP-Adresse (z. B. 95.216.180[.]186) des zweiten CnC verwendet wird (siehe Abbildung 5 unten). Wie Sie auf dem Screenshot sehen können, werden die IPs der zweiten Stufe des CnC von Zeit zu Zeit ausgetauscht.
Abbildung5 : Dead Drop Resolver auf einem Steam-Profil gehostet
Der Command and Control-Server der zweiten Stufe, der mit dieser Probe verbunden ist, ist opbafindi[.]com. Ein anderes Beispiel, das später identifiziert wurde, verwendet einen anderen Server: durimri[.]sbs.
Schlussfolgerung
Wir kommen zu dem Schluss, dass “PirateFi” zu keinem Zeitpunkt ein legitimes, spielbares Spiel war, sondern vielmehr ein direkter Versuch, Spieler mit Interesse an Kryptowährungen mit Infostealer-Malware zu infizieren. Der Bedrohungsakteur änderte die Spieldateien mehrfach, z. B. mit verschiedenen Verschleierungstechniken und Command-and-Control-Servern für die Exfiltration von Anmeldeinformationen.
Wir können nicht bestätigen, ob dies die erste Malware-Verbreitungskampagne über ein Steam-Spiel überhaupt ist, aber es ist sicherlich ein bisher seltenes Vorkommnis. Dieser Fall könnte andere Bedrohungsakteure dazu veranlassen, solche Kampagnen in Zukunft zu versuchen. Valve muss seine Prüfverfahren und Erkennungsmöglichkeiten für Malware in Spielepaketen verbessern. Unserer Meinung nach hätten sie in der Lage sein müssen, diesen Vorfall anhand von Dateieigenschaften wie ungültigen Signaturen, aufgeblähter Dateigröße und unregelmäßigen Änderungen am Speicherort der Spieldateien innerhalb einer kurzen Zeitspanne automatisch zu erkennen.
Indikatoren für Kompromisse (IoC)
Ausführbare Dateien
Dateiname | MD5-Hash |
Pirat.exe | 57ed3e1505b3bd9dfb2fc85a8efce1e9 |
Pirat.exe | 187f0daaedc4e8c01c538c1075036d77 |
Corsair.exe | 7dcaa927972d159a44679d1d0d9a786d |
Howard.exe | e3202e70c2d8aecf0347f85c4fb39032 |
Howard_patched.exe | c5ad9a93b22622ae100aff54ae31dc8a |
Befehls- und Kontrollinfrastruktur
Erste Stufe C2s / Dead Drop Resolver:
hxxps://t[.]me/sok33tn
hxxps://steamcommunity[.]com/profiles/76561199824159981
Zweite Stufe C2:
opbafindi[.]com (159.69.103[.]4)
durimri[.]sbs (5.75.215[.]154)