Einführung
XWorm ist eine schwer zu erkennende und flexible Schadsoftware, die für ihren modularen Aufbau bekannt ist. Sie nutzt Verschleierungstechniken, um unentdeckt zu bleiben. Sie kommuniziert mit einem Command-and-Control-Server und führt schädliche Aktivitäten aus. Nach der Ausführung entschlüsselt die Schadsoftware ihre Konfigurationseinstellungen und etabliert sich durch die Erstellung eines Mutex, der die gleichzeitige Ausführung mehrerer Instanzen verhindert, als verdeckte Präsenz. Die Kommunikation von XWorm mit dem C2-Server ist AES-verschlüsselt, was Angreifern die Überwachung infizierter Systeme und die Fernsteuerung von Befehlen ermöglicht. Darüber hinaus kann die Schadsoftware wertvolle Systeminformationen sammeln und senden, DNS-Einstellungen manipulieren und sich selbst aktualisieren, während sie Spuren aus dem System löscht.
Technische Analyse
Zunächst schläft die Malware drei Sekunden lang, bevor sie mit der Entschlüsselung ihrer Konfigurationseinstellungen fortfährt. Diese mit Base64 und AES verschlüsselten Einstellungen enthalten Details wie Host, Port, Schlüssel, Version usw.

Nach der Entschlüsselung der Konfigurationseinstellungen erstellt die Malware den Mutex mit dem Namen „2gdQBDwS8QGIOTWD“. Ist der Mutex bereits vorhanden, beendet sie sich selbst. Dieses Verhalten wird häufig implementiert, um Konflikte zu vermeiden und das Risiko einer Erkennung durch Sicherheitstools zu verringern.


Die Malware verwendet einen TCP-Socket, um eine Verbindung zum Command-and-Control-Server (C2) herzustellen. Diese Verbindung verwendet eine aus der C2-Domäne aufgelöste IP-Adresse. Der Socket ist für das Senden und Empfangen von Daten konfiguriert. Um eine aktive Verbindung aufrechtzuerhalten, sendet er alle paar Sekunden einen Ping an den C2-Server und wartet auf eine Pong-Antwort. Dadurch wird sichergestellt, dass Befehle und Daten ohne Unterbrechung ausgeführt und mit dem C2-Server übertragen werden können.

Sobald die erste Verbindung hergestellt ist, sammelt die Schadsoftware umfassende Systeminformationen vom Rechner des Opfers und sendet diese an den Angreifer. Zu den gesammelten Daten gehören Hostname, Benutzername, Treiberdetails und Hardware-Spezifikationen wie CPU- und GPU-Informationen. Mithilfe dieser Informationen kann der Angreifer das System analysieren und weitere schädliche Aktivitäten planen.

Die Funktion ClientSocket.Send() verschlüsselt die gesammelten Daten mit AES-Verschlüsselung, bevor sie an den C2-Server gesendet werden. Diese Verschlüsselung trägt dazu bei, die Daten während der Übertragung zu sichern und es Sicherheitssystemen zu erschweren, die gesendeten Informationen zu erkennen oder zu analysieren.

Sobald die gesammelten Daten gesendet wurden, ruft die Malware ClientSocket.BeginReceive() auf und wartet auf eine Antwort vom C2-Server. Nach Erhalt der Antwort entschlüsselt die Funktion messages.read() diese mithilfe der AES-Verschlüsselung. Die entschlüsselten Informationen werden anschließend mit fest codierten Werten verglichen, um die nächste Aktion zu bestimmen. Abb.: Lesefunktion mit AES-Entschlüsselung und Vergleich mit fest codierten Zeichenfolgen.


Die XWorm-Malware kann die Hosts-Datei des Opfers lesen und verändern und so DNS-Manipulationsangriffe ermöglichen. Mit dem Hosts-Befehl sendet XWorm dem Angreifer eine Kopie der Hosts-Datei, die dieser mit einer modifizierten Version überschreiben kann. Nach der Änderung sendet XWorm dem Angreifer eine Bestätigung, dass der Vorgang erfolgreich war.

Xworm kann sich selbst aktualisieren und Spuren aus dem System entfernen. Wenn IsUpdate auf „true“ gesetzt ist, schreibt die Malware eine Datei in das temporäre Verzeichnis. Anschließend erstellt sie eine Batchdatei, die die ursprüngliche ausführbare Datei und die Batchdatei selbst nach der Ausführung löscht. Dadurch bleibt die Malware verborgen, aktualisiert sich selbst und entfernt alle Spuren ihrer Präsenz. Durch die Verwendung des temporären Verzeichnisses und die Selbstlöschung wird die Malware nicht erkannt und kann auf dem infizierten System weiter ausgeführt werden.

Es bietet Flexibilität, da neue Funktionen als Plugins hinzugefügt oder vorhandene entfernt werden können. Diese modulare Struktur ermöglicht es Angreifern, die Malware individuell anzupassen und sie an unterschiedliche Umgebungen anzupassen.

Der Befehl „Plugin“ ruft Inhalte aus der C2-Antwort ab und lädt sie. Dazu gehören Methodennamen, die mit verschiedenen Werten wie „ngork“, „ENC“ und „DEC“ verglichen werden. Diese Werte entsprechen wahrscheinlich der Installation von ngork sowie den Verschlüsselungs- und Entschlüsselungsprozessen der Ransomware.


Fazit:
Die Malware-Variante XWorm nutzt Ausweichtechniken, um sich dauerhaft im System einzunisten und die Kontrolle zu behalten. Sie verschlüsselt ihre Konfigurationseinstellungen, erstellt einen Mutex, um sicherzustellen, dass nur eine einzige Instanz ausgeführt wird, und gewährleistet die kontinuierliche Kommunikation mit ihrem Command-and-Control-Server. Durch das Sammeln und sichere Übertragen von Systeminformationen liefert XWorm Angreifern wertvolle Erkenntnisse für weitere Angriffe. Diese Merkmale unterstreichen die Anpassungsfähigkeit und Widerstandsfähigkeit der Malware und verdeutlichen die Bedeutung von soliden Sicherheitsmaßnahmen, kontinuierlicher Überwachung und proaktiver Bedrohungserkennung zum Schutz vor solch raffinierten Bedrohungen.
IOCs:
MD5
3EEACBE10835A79077EF83C93DCF636B
0B796B2F6383FE2916F678E78666F713
Schutz:
Trojan.Xworm.S34251703
Trojan.GenericFC.S29960909
MITRE ATT&CK:
| Taktik | Technik-ID | Name |
| Verschleierung | T1027 | Verschleierte Dateien oder Informationen |
| Ausführung | T1059.005 | Befehls- und Skriptinterpreter: Visual Basic |
| Screen Capture | T1113 | Screen Capture |
| Sammeln Sie Informationen zum Opfer | T1592 | Sammelt Systeminformationen |
| Eingabeerfassung | T1056 | Keylogging |
| Verteidigungsflucht | T1055.002 | Prozessinjektion: Portable Executable Injection |
| Inhaltseinfügung | T1659 | Einschleusen von Schadcode in Systeme |
| Command and Control | T1071.001 | Application Layer Protocol: Webprotokolle |
Autor:
Vaibhav Krushna Billade
Rumana Siddiqui



