Now Reading
Wslink: Einzigartiger und undokumentierter bösartiger Loader, jener denn Server läuft

Wslink: Einzigartiger und undokumentierter bösartiger Loader, jener denn Server läuft

Wslink: Einzigartiger und undokumentierter bösartiger Loader, der als Server läuft

Es gibt keine Identifikator-, Funktions- oder Betriebsähnlichkeiten, die darauf hindeuten, dass es sich um ein Tool eines bekannten Bedrohungsakteurs handelt

ESET-Forscher nach sich ziehen verdongeln einzigartigen und bisher unbeschriebenen Loader zu Händen Windows-Binärdateien entdeckt, jener im Kontroverse zu anderen solchen Loadern denn Server läuft und empfangene Module im Speicher ausführt. Wir nach sich ziehen jene neue Schadsoftware Wslink nachdem einer ihrer DLLs geheißen.

Wir nach sich ziehen in den letzten zwei Jahren nur wenige Treffer in unserer Telemetrie gesehen, mit Erkennungen in Mitteleuropa, Nordamerika und im Nahen Osten. Welcher anfängliche Kompromissvektor ist nicht traut; die meisten Beispiele sind mit MPRESS gepackt und manche Teile des Codes sind virtualisiert. Leider konnten wir bisher keines jener Module erhalten, die es erhalten soll. Es gibt keine Identifikator-, Funktions- oder Betriebsähnlichkeiten, die darauf hindeuten, dass es sich wahrscheinlich um ein Werkzeug einer bekannten Bedrohungsakteurgruppe handelt.

Die folgenden Abschnitte enthalten eine Resümee des Loaders und unsrige eigene Implementierung seines Clients, die ursprünglich zum Experimentieren mit Erkennungsmethoden entwickelt wurde. Welcher Quellcode dieses Clients könnte zu Händen Spund in jener Schadsoftware-Resümee interessant sein – er zeigt, wie man vorhandene Funktionen von zuvor analysierter Schadsoftware wiederverwenden und mit ihnen interagieren kann. Die Resümee selbst könnte gleichwohl denn informative Ressource wirken, die jene Gefahr zu Händen blaue Teamer dokumentiert.

Technische Resümee

Wslink wird denn Tätigkeit umgesetzt und lauscht gen allen Netzwerkschnittstellen gen dem in jener angegebenen Port Tafelgeschirr-Port Registrierungswert des Dienstes Unbekannte Schlüssel. Die vorhergehende Komponente, die den Wslink-Tätigkeit registriert, ist nicht traut. Lichtbild 1 zeigt den Identifikator, jener eingehende Verbindungen zu diesem Port akzeptiert.

Lichtbild 1. Hex-Rays-Dekompilierung jener Schleife, die eingehende Verbindungen akzeptiert

Hinauf die Spekulation einer Zusammenhang folgt ein RSA-Handshake mit einem hartcodierten öffentlichen 2048-Bit-Schlüssel, um sowohl den Schlüssel denn gleichwohl den zu Händen 256-Bit-AES im CBC-Modus zu verwendenden IV sicher auszutauschen (siehe Lichtbild 2). Dasjenige verschlüsselte Modul wird anschließend mit einer eindeutigen Kennung – Signatur – und einem zusätzlichen Schlüssel zu seiner Entschlüsselung empfangen.

Interessanterweise wird dies zuletzt empfangene verschlüsselte Modul mit seiner Signatur weltweit gespeichert und steht damit allen Clients zur Verfügung. Hinauf jene Weise kann man Verkehrswesen sparen – nur den Schlüssel transferieren, wenn die Signatur des zu ladenden Moduls mit jener vorherigen übereinstimmt.

Lichtbild 2. Hex-Rays-Dekompilierung beim Empfang des Moduls und seiner Signatur

Wie in Lichtbild 3 zu sehen ist, wird dies entschlüsselte Modul, unter dem es sich um eine normale PE-File handelt, mithilfe jener MemoryModule-Bibliothek in den Speicher geladen und schließlich jener erste Export umgesetzt. Die Funktionen zu Händen Kommunikation, Socket, Key und IV werden dem Export in einem Unbekannte Erbrechen, so dass dies Modul zusätzlich die schon aufgebaute Zusammenhang Nachrichtensendung umtauschen kann.

Lichtbild 3. Hex-Rays-Dekompilierung des Codes, jener dies empfangene Modul im Speicher ausführt

Implementierung des Kunden

Unsrige eigene Implementierung eines Wslink-Clients, wie unten beschrieben, baut problemlos eine Zusammenhang zu einem modifizierten Wslink-Server gen und sendet ein Modul, dies dann entschlüsselt und umgesetzt wird. Da unser Client den privaten Schlüssel, jener dem öffentlichen Schlüssel in einer bestimmten Wslink-Serverinstanz entspricht, nicht Kontakt haben kann, nach sich ziehen wir unser eigenes Schlüsselpaar erstellt und die ausführbare Serverdatei mit dem öffentlichen Schlüssel dieses Paares modifiziert und den privaten Schlüssel in unserer Wslink-Client-Implementierung verwendet.

Dieser Client ermöglichte es uns, die Kommunikation von Wslink zu reproduzieren und nachdem einzigartigen Mustern zu suchen; es bestätigte unsrige Ergebnisse zusätzlich, weil wir sein Verhalten nachahmen konnten.

Manche Funktionen zum Senden/Empfangen von Nachrichtensendung werden zunächst aus dem Originalmuster übernommen (siehe Lichtbild 4) – wir können sie sofort nutzen und zu tun sein sie später nicht neu implementieren.

Lichtbild 4. Welcher Identifikator zum Laden von Funktionen aus einem Wslink-Vorbild

Anschließend liest unser Client den zu verwendenden privaten RSA-Schlüssel aus einer File und eine Zusammenhang zur angegebenen IP und Port wird aufgebaut. Es wird erwartet, dass eine Instanz von Wslink schon gen jener angegebenen Postadresse und dem Port lauscht. Natürlich muss gleichwohl sein eingebetteter öffentlicher Schlüssel durch verdongeln ersetzt werden, dessen privater Schlüssel traut ist.

Unser Client und jener Wslink-Server pendeln mit dem Handshake fort, jener den Schlüssel und den zu Händen die AES-Verschlüsselung zu verwendenden IV austauscht. Dies besteht aus drei Schritten, wie in Lichtbild 5 zu sehen: Senden eines Client-Hallo, Empfangen des symmetrischen Schlüssels mit IV und Zurücksenden, um die erfolgreiche Entschlüsselung zu ermitteln. Basta jener Umpolung jener Wslink-Binärdatei nach sich ziehen wir gelernt, dass die einzige Einschränkung jener Hallo-Nachricht, ausgenommen von jener Größe von 240 Bytes, darin besteht, dass dies zweite Byte Null sein muss, dementsprechend setzen wir es problemlos gen Nullen.

See Also
Name That Toon: Kabine für vier

Lichtbild 5. Identifikator unseres Kunden zu Händen den RSA-Handshake

Welcher letzte Teil ist dies Senden des Moduls. Wie man in Lichtbild 6 sehen kann, besteht es aus ein paar einfachen Schritten:

  • die Signatur des zuvor geladenen Moduls erhalten – wir nach sich ziehen uns entschlossen, in unserer Implementierung nichts damit zu tun, da es zu Händen uns nicht wichtig war
  • Senden einer hartcodierten Signatur des Moduls
  • dies Modul aus einer File Vorlesung halten, verschlüsseln (siehe Lichtbild 7) und versenden
  • Senden des Verschlüsselungsschlüssels des Moduls

Lichtbild 6. Identifikator unseres Kunden zum Senden des Moduls

Lichtbild 7. Identifikator unseres Kunden zum Laden und Verschlüsseln des Moduls

Welcher vollständige Quellcode zu Händen unseren Client ist in unserem WslinkClient GitHub-Repository verfügbar. Befolgen Sie, dass jener Identifikator immer noch verdongeln erheblichen Arbeitsaufwand erfordert, um zu Händen böswillige Zwecke verwendet werden zu können, und es wäre einfacher, verdongeln anderen Lader von Grund gen neu zu erstellen.

Ziel

Wslink ist ein einfacher, dagegen bemerkenswerter Loader, jener im Kontroverse zu denen, die wir normalerweise sehen, denn Server läuft und empfangene Module im Speicher ausführt.

Interessanterweise verwenden die Module die Funktionen des Laders zu Händen Kommunikation, Tasten und Buchsen wieder; von dort zu tun sein sie keine neuen ausgehenden Verbindungen initiieren. Wslink verfügt zusätzlich zusätzlich ein gut entwickeltes kryptografisches Protokoll, um die ausgetauschten Statistik zu schützen.

IoCs

Proben

SHA-1 ESET-Erkennungsname
01257C3669179F754489F92947FBE0B57AEAE573 Win64/TrojanDownloader.Wslink
E6F36C66729A151F4F60F54012F242736BA24862
39C4DE564352D7B6390BFD50B28AA9461C93FB32

MITRE ATT&CK-Techniken

Solche Tabelle wurde erstellt mit Version 9 des ATT&CK-Frameworks.

Taktik ICH WÜRDE Name Erklärung
Unternehmen T1587.001 Entwicklungsfähigkeiten: Schadsoftware Wslink ist ein benutzerdefinierter PE-Loader.
Exekution T1129 Verbinden genutzte Module Wslink lädt DLLs im Random Access Memory und führt sie aus.
T1569.002 Systemdienste: Dienstausführung Wslink wird denn Tätigkeit umgesetzt.
Verschleierte Dateien oder Informationen T1027.002 Verschleierte Dateien oder Informationen: Softwarepakete Wslink ist mit MPRESS gepackt und sein Identifikator könnte virtualisiert werden.
Steuerung und Test T1573.001 Verschlüsselter Programm: Symmetrische Kryptographie Wslink verschlüsselt den Datenverkehr mit AES.
T1573.002 Verschlüsselter Programm: Asymmetrische Kryptographie Wslink tauscht verdongeln symmetrischen Schlüssel mit RSA aus.

What's Your Reaction?
Excited
0
Happy
0
In Love
0
Not Sure
0
Silly
0
View Comments (0)

Leave a Reply

Your email address will not be published.

Scroll To Top