Es ist selten, dass eine APT-Gruppe neun Jahre lang weitgehend unentdeckt bleibt. Aber XDSpy ist genau das gelungen. Die zuvor undokumentierte Spionagegruppe ist schon seit 2011 aktiv und hat, mit Ausnahme eines Warnhinweises des belarussischen CERT im Februar 2020, in der Öffentlichkeit nur sehr wenig Beachtung gefunden. In der Zwischenzeit konnte die Gruppe viele Regierungsorganisationen und private Unternehmen in Osteuropa und auf dem Balkan kompromittieren.

Dieser Blogpost ist eine Zusammenfassung mit aktualisierten Informationen zu den Kompromittierungsvektoren und Kompromittierungsindikatoren (IoC) unserer Forschungsergebnisse, wie wir sie auf der Virus Bulletin 2020 Konferenz vorgestellt haben (siehe ebenfalls im Paper und der Präsentation).

Angriffsziele von XDSpy

Die Ziele der XDSpy-Gruppe befinden sich in Osteuropa und auf dem Balkan. Es sind in erster Linie Regierungsstellen, darunter Verteidigungs- und Außenministerien, sowie private Unternehmen. Abbildung 1 zeigt eine Karte der Länder bekannter Opfer gemäß ESET-Telemetrie.

Abbildung 1. Karte der XDSpy-Opfer gemäß ESET-Telemetrie (Weißrussland, Moldawien, Russland, Serbien und Ukraine)

Attribution

Nach sorgfältiger Recherche konnten wir XDSpy nicht mit einer öffentlich bekannten APT-Gruppe verknüpfen:

  • Wir konnten keine Code-Ähnlichkeit mit anderen Malware-Familien feststellen.
  • Wir konnten keine Überschneidungen in der Netzwerkinfrastruktur feststellen.
  • Uns ist keine andere APT-Gruppe bekannt, die auf diese spezifischen Länder und Branchen abzielt.

Darüber hinaus ist die Gruppe seit mehr als neun Jahren aktiv. Hätte es eine solche Überschneidung gegeben, dann wären sie, unserer Meinung nach, schon vor langer Zeit bemerkt und die Gruppe entdeckt worden.

Wir glauben, dass die Entwickler in der Zeitzone UTC+2 oder UTC+3 arbeiten könnten, die auch die Zeitzone der meisten Ziele ist. Nach unseren Recherchen arbeiteten sie nur von Montag bis Freitag, was auf eine berufliche Tätigkeit hindeutet.

Angriffsvektoren

XDSpy-Betreiber scheinen hauptsächlich Spearphishing-E-Mails zu verwenden, um ihre Ziele anzugreifen. Tatsächlich ist dies der einzige Angriffsvektor, den wir beobachten konnten. Die E-Mails variieren jedoch in der Regel geringfügig: Einige enthalten einen Anhang, während andere einen Link zu einer schädlichen Datei enthalten. Die erste Schicht der schädlichen Datei oder des schädlichen Anhangs ist im Allgemeinen ein ZIP- oder RAR-Archiv.

Abbildung 2 zeigt ein Beispiel für eine XDSpy-Spearphishing-E-Mail, die im Februar 2020 gesendet wurde.

Abbildung 2. Spearphishing-E-Mail, die von den XDSpy-Betreibern im Februar 2020 gesendet wurde

Grob übersetzt heißt es in der E-Mail:


Guten Tag!
Ich sende Ihnen eine Kopie des Briefes und der Fotomaterialien, die auf den Ergebnissen der Arbeit basieren. Klicken Sie auf den Link zum Herunterladen: Fotomaterial_11.02.2020.zip
Wir warten bis zum Ende des Arbeitstages auf eine Antwort.

Der Link verweist auf ein ZIP-Archiv, das eine LNK-Datei ohne jegliche Täuschungsdokumente enthält. Wenn das Opfer darauf doppelklickt, lädt das LNK ein zusätzliches Skript herunter, das XDDown, die Hauptkomponente der Malware, installiert.

Nachdem unser Artikel beim Virus Bulletin eingereicht worden war, haben wir die Gruppe weiter beobachtet und nach einer Pause zwischen März und Juni 2020 wurden sie wieder tätig. Ende Juni 2020 konnten die Betreiber ihre Angriffe durch die Ausnutzung einer Schwachstelle im Internet Explorer (CVE-2020-0968), die im April 2020 gepatcht wurde, verbessern. Anstatt einem Archiv mit einer LNK-Datei bereitzustellen, lieferte der C&C-Server nun eine RTF-Datei. Diese lud nach dem Öffnen eine HTML-Datei herunter, die die oben genannte Schwachstelle ausnutzt.

CVE-2020-0968 gehört zu einer Reihe von ähnlichen Sicherheitslücken in der IE-Legacy-JavaScript-Engine, die in den letzten zwei Jahren entdeckt wurden. Zu dem Zeitpunkt, als die Lücke von XDSpy ausgenutzt wurde, waren online keine Proof-of-Concept-Informationen und nur sehr wenige Informationen zu dieser spezifischen Sicherheitsanfälligkeit verfügbar. Deswegen glauben wir, dass XDSpy diesen Exploit entweder von einem Broker gekauft oder selbst einen 1-Day-Exploit entwickelt hat, bei dem man frühere Exploits als Inspiration genutzt hat.

Es ist interessant, dass dieser Exploit Ähnlichkeiten mit Exploits aufweist, die zuvor in DarkHotel-Kampagnen verwendet wurden (siehe Abbildung 3). Er ist auch fast identisch mit dem Exploit, der in der Operation Domino im September 2020 verwendet wurde und von Belarus aus auf VirusTotal hochgeladen wurde.

Da wir nicht glauben, dass XDSpy mit DarkHotel verknüpft ist und Operation Domino ganz anders aussieht als XDSpy, ist es wahrscheinlich, dass die drei Gruppen denselben Exploit-Broker verwenden.

Abbildung 3. Teile des Exploit-Codes, einschließlich des Anfangs, ähneln denen, die in einer von JPCERT beschriebenen DarkHotel-Kampagne verwendet werden

Schließlich nutzt die Gruppe im Jahr 2020 mindestens zweimal ein COVID-19-Thema für ihre Angriffe. Das geschah erstmals im Februar 2020 in einer Spearphishing-Kampagne gegen belarussische Institutionen. Im September 2020 wurde dieses Thema dann gegen russischsprachige Ziele wiederverwendet. Das Archiv enthielt eine schädliche Windows-Skriptdatei (WSF), die XDDown herunterlädt (siehe Abbildung 4). Die offizielle Website rospotrebnadzor.ru wurde als Lockvogel verwendet (siehe Abbildung 5).

Abbildung 4. Teil des Skripts, das XDDown herunterlädt

Abbildung 5. Teil des Skripts, das die Täuschungs-URL öffnet

Malware-Komponenten

Abbildung 4 zeigt die Malware-Architektur in einem Szenario, in dem der Kompromiss über eine LNK-Datei erfolgt, wie dies im Februar 2020 der Fall war.

Abbildung 6. Malware-Architektur von XDSpy. XDLoc und XDPass werden in keiner bestimmten Reihenfolge gelöscht.

XDDown ist die wichtigste Malware-Komponente und ausschließlich ein Downloader. Sie verbleibt auf dem System indem sie einen herkömmlichen Run-Key verwendet. Sie lädt zusätzliche Plugins mithilfe des HTTP-Protokolls vom fest codierten C&C-Server herunter. Die HTTP-Antworten enthalten PE-Binärdateien, die mit einem fest codierten Zwei-Byte-XOR-Schlüssel verschlüsselt sind.

Während unserer Recherche haben wir folgende Plugins entdeckt:

  • XDRecon: Sammelt grundlegende Informationen zum Computer des Opfers (Computername, aktueller Benutzername und Volume-Seriennummer des Hauptlaufwerks).
  • XDList: Durchsucht das Laufwerk C: nach interessanten Dateien (.accdb, .doc, .docm, .docx, .mdb, .xls, .xlm, .xlsx, .xlsm, .odt, .ost, .ppt, .pptm , .ppsm, .pptx, .sldm, .pst, .msg, .pdf, .eml, .wab) und leitet die Pfade dieser Dateien weiter. Es können auch Screenshots gemacht werden.
  • XDMonitor: Ähnlich wie XDList. Es überwacht auch Wechseldatenträger, um die Dateien zu weiterzuleiten, die einer interessanten Erweiterung entsprechen.
  • XDUpload: Leitet eine fest codierte Liste von Dateien aus dem Dateisystem an den C&C-Server weiter (siehe Abbildung 7). Die Pfade wurden von XDList und XDMonitor an die C&C-Server gesendet.

Abbildung 7. Schleife zum Hochladen einer fest codierten Liste von Dateien auf den C&C-Server (teilweise redigiert)

  • XDLoc: Sammelt SSIDs in der Nähe (z. B. Wi-Fi-Zugangspunkte), wahrscheinlich um die Computer des Opfers zu lokalisieren.
  • XDPass: Ermittelt gespeicherte Kennwörter aus verschiedenen Anwendungen wie Webbrowsern und E-Mail-Programmen.

Weitere Informationen zu den verschiedenen Malware-Komponenten finden Sie im Whitepaper.

Fazit

XDSpy ist eine Cyberspionagegruppe, die seit mehr als neun Jahren größtenteils unentdeckt geblieben ist und in den letzten Monaten sehr aktiv war. Sie ist hauptsächlich daran interessiert, Dokumente von Regierungsorganisationen in Osteuropa und auf dem Balkan zu stehlen. Dieser Angriffsfokus ist ziemlich ungewöhnlich und macht XDSpy zu einer interessanten Gruppe, die man beobachten sollte.

Die technischen Fähigkeiten der Gruppe variieren tendenziell ein wenig. Sie verwendet seit neun Jahren dieselbe Malware-Architektur, hat jedoch kürzlich eine vom Anbieter gepatchte Sicherheitsanfälligkeit ausgenutzt, für die allerdings kein öffentlicher Proof-of-Concept existierte, einen sogenannten 1-Tages-Exploit.

Für Anfragen oder Sampleeinreichungen zum Thema kontaktieren Sie uns unter threatintel@eset.com.

Besonderer Dank geht an Francis Labelle für seine Arbeit an dieser Untersuchung.

Indicators of Compromise

The comprehensive list of Indicators of Compromise (IoCs) and samples can be found in our GitHub repository.

Malware components

SHA-1 ESET detection name Description
C125A05CC87EA45BB5D5D07D62946DAEE1160F73 JS/TrojanDropper.Agent.OAZ Spearphishing email (2015)
99729AC323FC8A812FA2C8BE9AE82DF0F9B502CA LNK/TrojanDownloader.Agent.YJ Malicious LNK downloader
63B988D0869C6A099C7A57AAFEA612A90E30C10F Win64/Agent.VB XDDown
BB7A10F816D6FFFECB297D0BAE3BC2C0F2F2FFC6 Win32/Agent.ABQB XDDown (oldest known sample)
844A3854F67F4F524992BCD90F8752404DF1DA11 Win64/Spy.Agent.CC XDRecon
B333043B47ABE49156195CC66C97B9F488E83442 Win64/Spy.Agent.CC XDUpload
83EF84052AD9E7954ECE216A1479ABA9D403C36D Win64/Spy.Agent.CC XDUpload
88410D6EB663FBA2FD2826083A3999C3D3BD07C9 Win32/Agent.ABYL XDLoc
CFD43C7A993EC2F203B17A9E6B8B392E9A296243 Win32/PSW.Agent.OJS XDPass
3B8445AA70D01DEA553A7B198A767798F52BB68A DOC/Abnormal.V Malicious RTF file that downloads the CVE-2020-0968 exploit
AE34BEDBD39DA813E094E974A9E181A686D66069 Win64/Agent.ACG XDDown
5FE5EE492DE157AA745F3DE7AE8AA095E0AFB994 VBS/TrojanDropper.Agent.OLJ Malicious script (Sep 2020)
B807756E9CD7D131BD42C2F681878C7855063FE2 Win64/Agent.AEJ XDDown (most recent as of writing)

Filenames / Paths

%APPDATA%\Temp.NET\archset.dat
%APPDATA%\Temp.NET\hdir.dat
%APPDATA%\Temp.NET\list.dat
%TEMP%\tmp%YEAR%%MONTH%%DAY%_%TICK_COUNT%.s
%TEMP%\fl637136486220077590.data
wgl.dat
Windows Broker Manager.dat
%TEMP%\Usermode COM Manager.dat
%TEMP%\Usermode COM Manager.exe
%APPDATA%\WINinit\WINlogon.exe
%APPDATA%\msprotectexp\mswinexp.exe
%APPDATA%\msvdemo\msbrowsmc.exe
%APPDATA%\Explorer\msdmcm6.exe
%APPDATA%\Explorer\browsms.exe

Network

Used in 2019-2020

downloadsprimary[.]com
filedownload[.]email
file-download[.]org
minisnowhair[.]com
download-365[.]com
365downloading.com
officeupdtcentr[.]com
dropsklad[.]com
getthatupdate[.]com
boborux[.]com
easytosay[.]org
daftsync[.]com
documentsklad[.]com
wildboarcontest[.]com
nomatterwhat[.]info
maiwegwurst[.]com
migration-info[.]com
jerseygameengine[.]com
seatwowave[.]com
cracratutu[.]com
chtcc[.]net
ferrariframework[.]com

Old network infrastructure

62.213.213[.]170
93.63.198[.]40
95.215.60[.]53
forgeron[.]tk
jahre999[.]tk
omgtech.000space[.]com
podzim[.]tk
porfavor876[.]tk
replacerc.000space[.]com
settimana987[.]tk

MITRE ATT&CK techniques

Note: This table was built using version 7 of the MITRE ATT&CK framework.

Tactic ID Name Description
Initial Access T1566.001 Phishing: Spearphishing Attachment XDSpy has sent spearphishing emails with a malicious attachment.
T1566.002 Phishing: Spearphishing Link XDSpy has sent spearphishing emails with a link to a malicious archive.
Execution T1203 Exploitation for Client Execution XDSpy has exploited a vulnerability (CVE-2020-0968) in Internet Explorer (triggered by a malicious RTF file).
T1204.001 User Execution: Malicious Link XDSpy has lured targets to download malicious archives containing malicious files such as LNK.
T1204.002 User Execution: Malicious File XDSpy has lured targets to execute malicious files such as LNK or RTF.
Persistence T1547.001 Boot or Logon Autostart Execution: Registry Run Keys / Startup Folder XDDownload persists using the Run key.
Discovery T1033 System Owner/User Discovery XDRecon sends the username to the C&C server.
T1082 System Information Discovery XDRecon sends the computer name and the main drive Volume Serial Number to the C&C server.
T1083 File and Directory Discovery XDList and XDMonitor monitor the local system and the removable drive. A list of interesting paths, that matches a list of hardcoded extension, is sent to the C&C server.
Collection T1005 Data from Local System XDUpload exfiltrates files from the local drive. The paths of the files to be uploaded are hardcoded in the malware samples.
T1025 Data from Removable Media XDMonitor exfiltrates files from removable drives.
T1113 Screen Capture XDList, XDMonitor and XDUpload take screenshots and send them to the C&C server.
T1119 Automated Collection XDMonitor exfiltrates files from removable drives that match specific extensions.
XDUpload exfiltrates local files that are located at one the paths hardcoded in the malware samples.
Command and Control T1071.001 Application Layer Protocol: Web Protocols XDSpy uses HTTP for command and control.
T1573.001 Encrypted Channel: Symmetric Cryptography XDDownload downloads additional components encrypted with a 2-byte static XOR key.
Exfiltration T1020 Automated Exfiltration XDMonitor and XDUpload automatically exfiltrate collected files.
T1041 Exfiltration Over C2 Channel XDSpy exfiltrate stolen data using the C&C channel.