Heim  >  Artikel  >  Betrieb und Instandhaltung  >  So implementieren Sie die neue Variantenanalyse der Winnti Group

So implementieren Sie die neue Variantenanalyse der Winnti Group

王林
王林nach vorne
2023-05-12 22:01:041155Durchsuche

Die neue modulare Hintertür PipeMon der Winnti Group wurde im Februar 2020 entdeckt. Ihre Hauptziele sind koreanische und taiwanesische Multiplayer-Online-Gaming- und Videounternehmen, und die Malware kann Angriffe auf die Lieferkette starten. Angreifer können Trojaner in veröffentlichte Spiele einbetten oder Spieleserver angreifen und Spielwährungen nutzen, um finanzielle Vorteile zu erzielen. Die Winnti Group ist seit 2012 aktiv und nimmt Supply-Chain-Angriffe in der Softwareindustrie ins Visier. Kürzlich entdeckten ESET-Forscher auch Angriffe, die auf mehrere Universitäten in Hongkong abzielten.

Technische Analyse

In Zielunternehmen wurden zwei Varianten von PipeMon entdeckt. Der erste Schritt von PipeMon besteht darin, eine passwortgeschützte ausführbare Datei zu starten, die in .rsrc eingebettet ist. Starten Sie das Programm und schreiben Sie RARSFX in setup0.exe im automatisch generierten Verzeichnis, geben Sie das Kennwort über Parameter an und verwenden Sie CreateProcess, um RARSFX auszuführen, wie unten gezeigt:

setup0.exe -p*|T/PMR{|T2^LWJ*

Das Kennwort für jedes Beispiel ist unterschiedlich, und extrahieren Sie dann den Inhalt von RARSFX zu % In TMP%RarSFX0:

CrLnc.dat – verschlüsselte Nutzlast

Duser.dll – UAC-Umgehung

osksupport.dll – UAC-Umgehung

PrintDialog.dll – Malware-Initialisierung

PrintDialog.exe – Pri ntDialog wird geladen .dll Legale Windows-Dateien

setup.dll – Installations-DLL

setup.exe – Hauptprogramm

Wenn es einen Konflikt im Ordnernamen gibt, wird die Zahl am Ende der RarSFX0-Zeichenfolge erhöht, bis keine mehr vorhanden sind Konflikte. Nach dem Extrahieren der Datei wird setup.exe ohne Parameter ausgeführt, wobei LoadLibraryA zum Laden von setup.dll verwendet wird. Nach dem Laden überprüft setup.dll Parameter in der Form „-x:n“, wobei n in verschiedenen Betriebsmodi unterschiedlich ist. Die unterstützten Parameter und ihr entsprechendes Verhalten sind in Tabelle 1 aufgeführt.

如何实现Winnti Group新变体分析

RARSFX führt setup.exe ohne Argumente aus und prüft, ob es mit Berechtigungen ausgeführt wird. Wenn nicht, ermitteln Sie weiter, ob die Windows-Version älter als Windows 7 Build 7601 ist. Wenn die Bedingungen erfüllt sind, wird der Token-Identitätswechsel verwendet, um Berechtigungen zu erhalten. Andernfalls wird versucht, eine andere UAC-Umgehungstechnik zu verwenden, die die Nutzlast in eine der folgenden Dateien installieren kann:

C:WindowsSystem32spoolprtprocsx64DEment.dll

C:WindowsSystem32spoolprtprocsx64EntAppsvc.dll

C:WindowsSystem32spoolprtprocsx64Interactive.dll

Eher angreifen Anstatt den Speicherort der schädlichen DLL zufällig auszuwählen, registriert setup.dll den DLL-Loader als alternativen Drucker, indem es den folgenden Registrierungswert festlegt:

HKLMSYSTEMControlSet001ControlPrintEnvironmentsWindows x64Print ProcessorsPrintFiiterPipelineSvcDriver = „DEment.dll“

HK LMSYSTEMCurrentControlSetControlPrintEnvironmentsWindows. x64 Druckprozessorenlltdsvc1Driver = " „ENTAPPSVC.DLL“

Bitte achten Sie auf die Rechtschreibfehler in PrintfiiterPipelinesvc (da jeder Name verwendet werden kann, hat dies keine Auswirkung auf die Installation des gedruckten Prozessors).

Nach der Registrierung des Druckprozessors startet PipeMon den Druckspoolerdienst (spoolsv.exe) neu, wodurch der bösartige Druckprozess geladen wird. Der Druckspooler-Dienst startet jedes Mal, wenn der PC hochfährt, und stellt so sicher, dass Schadprogramme bestehen bleiben. Abhängig vom Installationsprogramm wird CrLnc.dat an den folgenden Speicherort in der Registrierung geschrieben:

HKLMSOFTWAREMicrosoftPrintComponentsDC20FD7E-4B1B-4B88-8172-61F0BED7D9E8

HKLMSOFTWAREMicrosoftPrintComponentsA66F35-4164-45FF-9CB4-69 ACAA10 E52D

Der gesamte PipeMon-Ausführungsprozess Wie in der Abbildung unten gezeigt:

如何实现Winnti Group新变体分析PipeMon

PipeMon ist eine modulare Hintertür. Jedes Modul ist eine DLL, die die IntelLoader-Funktion exportieren und zum Laden die reflektierende Ladetechnologie verwenden kann. Jedes Modul hat unterschiedliche Funktionen, wie in Tabelle 2 gezeigt.

如何实现Winnti Group新变体分析

Der für das Laden der Hauptmodule (ManagerMain und GuardClient) verantwortliche Loader ist Win32CmdDll.dll und befindet sich im Druckprozessorverzeichnis. Die Module werden verschlüsselt am selben Ort gespeichert und haben den folgenden Namen:

banner.bmp

Certificate.cert

License.hwp

JSONDIU7c9djE

D8JNCKS0DJE

B0SDFUWEk. NCj.logN

.hwp ist Koreanisch text Der Handler verwendet eine Erweiterung, die in Südkorea sehr beliebt ist. Das Modul ist mit R** verschlüsselt und der Entschlüsselungsschlüssel lautet „Com!“. 123Qasdz‘ ist in jedem Modul fest codiert. Win32CmDll.dll entschlüsselt und injiziert die Module ManagerMain und GuardClient. Das ManagerMain-Modul ist für die Entschlüsselung und Einfügung des Kommunikationsmoduls verantwortlich, während das GuardClient-Modul dafür sorgt, dass das Kommunikationsmodul ausgeführt und bei Bedarf neu geladen wird. Das folgende Diagramm zeigt, wie PipeMon funktioniert.

如何实现Winnti Group新变体分析

Win32CmDll.dll versucht zunächst, die Module ManagerMain und GuardClient in einen Prozess mit dem folgenden Namen einzuschleusen: lsass.exe, wininit.exe oder lsm.exe. Wenn dies fehlschlägt, wird versucht, einen der registrierten Windows-Dienstprozesse einzuschleusen, mit Ausnahme der Prozesse mit den Namen spoolsv.exe, ekrn.exe (ESET), avp.exe (Kaspersky) oder dllhost.exe. Wenn alles andere fehlschlägt, werden die Prozesse taskhost.exe, taskhostw.exe oder explorer.exe ausprobiert.

Andere Module können bei Bedarf mit speziellen Befehlen geladen werden, aber noch keines davon wurde entdeckt. Module kommunizieren über benannte Pipes. Der Kommunikationskanal zwischen den einzelnen Modulen verwendet zwei benannte Pipes, eine zum Senden und eine zum Empfangen.

如何实现Winnti Group新变体分析Die %CNC_DEFINED%-Zeichenfolge wird vom C&C-Server empfangen, die Variable %B64_TIMESTAMP% ist der Base64-codierte Zeitstempel:

如何实现Winnti Group新变体分析

Das Kommunikationsmodul ist für die Verwaltung der Kommunikation zwischen dem C&C-Server und anderen Modulen über das verantwortlich Pipeline und ihre C&C-Adresse im ManagerMain-Modul fest codiert. Das Kommunikationsprotokoll ist TLS über TCP und wird über die HP-Socket-Bibliothek abgewickelt. Alle Nachrichten werden mit hartcodierten Schlüsseln R**-verschlüsselt. Wenn der übertragene Inhalt größer oder gleich 4 KB ist, wird er zunächst mit zlib komprimiert.

如何实现Winnti Group新变体分析Initiiert die Kommunikation mit dem C&C-Server und sendet zunächst eine Beacon-Nachricht mit den folgenden Informationen:

Betriebssystemversion

physische Adressen verbundener Netzwerkadapter, verkettet mit %B64_TIMESTAMP%

lokale IP-Adresse des Opfers

Backdoor-Version/Kampagne ID; wir haben die folgenden Werte beobachtet: „1.1.1.4beat“

Der Angreifer verwendete auch eine aktualisierte Version von PipeMon, indem er R** durch ein einfaches XOR ersetzte, 0x75E8EEAF als Schlüssel verwendete und alles entfernte hartcodierte Zeichenfolgen und Verwendung von Zufallswerten zur Benennung der Kommunikationsleitungen zwischen Modulen. Nur der Hauptlader wird als Datei auf der Festplatte gespeichert und die aktualisierten Module werden in der folgenden Tabelle beschrieben:

Änderungen des C&C-Kommunikationsformats:

如何实现Winnti Group新变体分析

Die Backdoor-Konfiguration ist verschlüsselt und in die Loader-DLL eingebettet .

如何实现Winnti Group新变体分析


Sowohl das PipeMon-Modul als auch das Installationsprogramm verwenden dieselbe Signatur, und das Zertifikat wurde möglicherweise bei einem früheren Angriff von der Winnti-Organisation gestohlen.

如何实现Winnti Group新变体分析

Das obige ist der detaillierte Inhalt vonSo implementieren Sie die neue Variantenanalyse der Winnti Group. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen