Elastische Anhänger SPECTRALVIPER

Elastic Security Labs hat die SPECTRALVIPER-Malware entdeckt, die auf ein nationales vietnamesisches Agrarunternehmen abzielt.

35 Minuten LesezeitMalware-Analyse, Kampagnen
Elastische Anhänger SPECTRALVIPER

Wichtigste Erkenntnisse

  • Das REF2754 Intrusion Set nutzt mehrere PE-Loader, Backdoors und PowerShell-Runner
  • SPECTRALVIPER ist eine stark verschleierte, bisher nicht offengelegte x64-Backdoor, die PE-Laden und -Injektion, Datei-Upload und -Download, Datei- und Verzeichnismanipulation sowie Token-Imitationsfunktionen bietet
  • Wir schreiben REF2754 einem in Vietnam ansässigen Intrusion-Set zu und stimmen uns mit dem Canvas Cyclone/APT32/OceanLotus-Bedrohungsakteur ab

Präambel

Elastic Security Labs verfolgt seit mehreren Monaten ein Intrusion-Set, das auf große vietnamesische börsennotierte Unternehmen abzielt, REF2754. Während dieses Zeitraums entdeckte unser Team neue Malware, die in Koordination von einem staatsnahen Akteur eingesetzt wurde.

In dieser Studie werden folgende Themen behandelt:

  • Die SPECTRALVIPER-Malware
  • Der P8LOADER Malware-Loader
  • Die POWERSEAL-Malware
  • Kampagnen- und Intrusion-Analyse von REF2754

Ablauf der Ausführung

Das erste aufgezeichnete Ereignis war die Erstellung einer Datei (C:\Users\Public\Libraries\dbg.config) durch den Systemdienst, der über SMB von einem zuvor kompromittierten Endpunkt abgelegt wurde. Der Angreifer benannte das Dienstprogramm SysInternals ProcDump, das zum Sammeln von Speichermetadaten von laufenden Prozessen verwendet wird, in das Windows-Debugger-Dienstprogramm um ( windbg.exe ). Unter Verwendung der umbenannten ProcDump-Anwendung mit dem Flag -md lud der Angreifer dbg.config , eine nicht signierte DLL mit bösartigem Code.

Es sollte beachtet werden, dass die ProcDump LOLBAS-Technik einen gültigen Prozess in den Argumenten erfordert; Während also winlogon.exe in die Argumente aufgenommen wird, wird es verwendet, weil es sich um einen gültigen Prozess handelt, und nicht, weil es für die Sammlung durch ProcDump vorgesehen ist.

Die nicht signierte DLL (dbg.config) enthielt DONUTLOADER-Shellcode, den es in sessionmsg.exe , den Microsoft Remote Session Message Server, einzuschleusen versuchte. DONUTLOADER wurde so konfiguriert, dass die SPECTRALVIPER-Backdoor und schließlich die situationsabhängigen Malware-Familien P8LOADER oder POWERSEAL geladen werden. Nachfolgend finden Sie den Ausführungsablauf für das REF2754 Intrusion Set.

Unser Team beobachtete auch einen ähnlichen Workflow, der oben beschrieben wurde, jedoch mit unterschiedlichen Techniken, um die bösartige Ausführung zu bevollmächtigen. Ein Beispiel nutzte das Internet Explorer-Programm ( ExtExport.exe ), um eine DLL zu laden, während eine andere Technik das Querladen einer bösartigen DLL ( dnsapi.dll ) mit einer legitimen Anwendung ( nslookup.exe ) beinhaltete.

Diese Techniken und Malware-Familien bilden das REF2754 Intrusion Set.

SPECTRALVIPER-Code-Analyse

Overview

Während unserer Untersuchung haben wir eine bisher unentdeckte Backdoor-Malware-Familie beobachtet, die wir SPECTRALVIPER nennen. SPECTRALVIPER ist eine 64-Bit-Windows-Backdoor, die in C++ codiert und stark verschleiert ist. Es arbeitet mit zwei unterschiedlichen Kommunikationsmodi, die es ihm ermöglichen, Nachrichten entweder über HTTP oder eine Windows Named Pipe zu empfangen.

Durch unsere Analyse haben wir die folgenden Fähigkeiten identifiziert:

  • PE Loading/Injection : SPECTRALVIPER kann ausführbare Dateien laden und injizieren und unterstützt sowohl x86- als auch x64-Architekturen. Diese Funktion ermöglicht es ihm, bösartigen Code in legitimen Prozessen auszuführen.
  • Token-Identitätswechsel : Die Malware besitzt die Fähigkeit, sich als Sicherheitstoken auszugeben, ihr erhöhte Berechtigungen zu gewähren und bestimmte Sicherheitsmaßnahmen zu umgehen. Dies ermöglicht den unbefugten Zugriff und die Manipulation sensibler Ressourcen.
  • Herunterladen/Hochladen von Dateien : SPECTRALVIPER kann Dateien auf das und vom kompromittierten System herunterladen und hochladen. Dies ermöglicht es dem Angreifer, Daten zu exfiltrieren oder zusätzliche bösartige Nutzlasten auf den infizierten Computer zu liefern.
  • Datei-/Verzeichnismanipulation : Die Hintertür ist in der Lage, Dateien und Verzeichnisse auf dem kompromittierten System zu manipulieren. Dazu gehören das Erstellen, Löschen, Ändern und Verschieben von Dateien oder Verzeichnissen, wodurch der Angreifer umfassende Kontrolle über das Dateisystem des Opfers erhält.

Ablauf der Ausführung

Starten

SPECTRALVIPER kann als ausführbare PE-Datei oder DLL-Datei kompiliert werden. Das Starten der Malware als PE ist durch Ausführen von .\spectralviper.exe.

Wenn es sich bei der Malware jedoch um eine DLL handelt, versucht sie, sich als legitime Bibliothek mit bekannten Exporten zu tarnen, wie z. B. sqlite3 in unserem beobachteten Beispiel.

Der Einstiegspunkt SPECTRALVIPER ist in diesen Exporten verborgen. Um den richtigen zu finden, können wir sie mit PowerShell und rundll-ng mit Brute-Force aufrufen. Der unten abgebildete PowerShell-Befehl ruft jeden SPECTRALVIPER-Export in einer for-Schleife auf, bis wir denjenigen finden, der die Malware-Funktionen startet.

for($i=0; $i -lt 20; $i++){.\rundll-ng\rundll64-ng.exe ".\7e35ba39c2c77775b0394712f89679308d1a4577b6e5d0387835ac6c06e556cb.dll" "#$i"}

Nach der Ausführung wird die Binärdatei entweder im HTTP-Modus oder im Pipe-Modus ausgeführt, abhängig von ihrer hartcodierten Konfiguration.

Pipe-Modus

Im Pipe-Modus öffnet SPECTRALVIPER eine Named Pipe mit einem hartcodierten Namen und wartet auf eingehende Befehle, in diesem Beispiel \.\pipe\raSeCIR4gg.

Diese Named Pipe verfügt über keine Sicherheitsattribute, was bedeutet, dass jeder darauf zugreifen kann. Dies ist interessant, da eine ungesicherte Named Pipe von einem mitansässigen Bedrohungsakteur (der dem SPECTRALVIPER-Betreiber entweder bekannt oder unbekannt ist) oder von Verteidigungsteams übernommen werden kann, um diesen Ausführungsmodus zu unterbrechen.

Für die Kommunikation mit dieser Pipe ist jedoch ein spezielles Protokoll erforderlich. SPECTRALVIPER implementiert das Diffie-Helman-Schlüsselaustauschprotokoll , um den Schlüssel auszutauschen, der zum Verschlüsseln und Entschlüsseln von Befehlen benötigt wird, die über die AES-verschlüsselte Named Pipe übertragen werden.

HTTP mode

Im HTTP-Modus wechselt die Malware alle n Sekunden zu ihrem C2, wobei der Intervallzeitraum nach dem Zufallsprinzip in einem Bereich zwischen 10 und 99 Sekunden generiert wird.

Mit einem Debugger können wir die Binärdatei dazu zwingen, den HTTP-Kanal anstelle der Named Pipe zu verwenden, wenn die Binärdatei eine hartcodierte Domäne enthält.

Nachfolgend finden Sie ein Beispiel für eine HTTP-Anforderung.

Die Anfrage enthält einen Cookie-Header, " euconsent-v2 ", der vom Host gesammelte Informationen enthält. Diese Informationen werden mit RSA1024 asymmetrischen Verschlüsselung verschlüsselt und mit Base64 base64-codiert. Nachfolgend finden Sie ein Beispiel für den Cookie-Inhalt vor der Verschlüsselung.

Wir glauben, dass der erste Wert, in diesem Beispiel " H9mktfe2k0ukk64nZjw1ow== ", der zufällig generierte AES-Schlüssel ist, der mit dem Server geteilt wird, um die Kommunikationsdaten zu verschlüsseln.

Befehle

Bei der Analyse von SPECTRALVIPER-Samples entdeckten wir die Befehlshandler-Tabelle, die zwischen 33 und 36 Handler enthält.

Nachfolgend finden Sie eine Tabelle mit den identifizierten Befehlen.

IDName
2HerunterladenDatei
3Datei hochladen
5SetBeaconIntervals
8CreateRundll32ProcessAndHollow
11InjectShellcodeInProcess
12CreateProcessAndInjectShellcode
13InjectPEInProcess
14CreateProcessAndHollow
20CreateRundll32ProcessWithArgumentAndInjectPE
81StealProcessToken
82Sich als Benutzer ausgeben
83RevertToSelf
84AdjustPrivileges
85GetCurrentUserName
103ListDateien
106ListRunningProcesses
108Datei kopieren
109Datei löschen
110CreateDirectory (Erstellen)
111Datei verschieben
200RunDLLInOwnProcess ausführen

Um den Prozess der Interaktion mit SPECTRALVIPER zu beschleunigen, haben wir die Kommunikationsprotokolle umgangen und unsere eigene Hintertür in die Binärdatei eingefügt. Diese Hintertür öffnet einen Socket und ruft die Handler auf, sobald sie unsere Nachrichten erhalten.

Wenn der Befehl AdjustPrivileges ausgeführt wird, versucht die Malware abhängig von der aktuellen Berechtigungsstufe des Prozesses, die folgende Liste von Berechtigungen festzulegen.

Tarnung

Code-Verschleierung

Der Binärcode wird stark verschleiert, indem jede Funktion in mehrstufige Dummy-Funktionen aufgeteilt wird, die die ursprüngliche Logik kapseln. Darüber hinaus wird die Ablaufsteuerung dieser Funktionen mithilfe der Ablaufsteuerung verschleiert. Die Ablaufsteuerungsreduzierung ist eine Verschleierungstechnik, bei der saubere Programmstrukturen entfernt und die Blöcke in einer Schleife mit einer switch-Anweisung nebeneinander platziert werden, um den Programmfluss zu steuern.

Im Folgenden finden Sie ein Beispiel für eine Identitätsfunktion der zweiten Ebene, bei der der hervorgehobene Parameter p_a1 trotz der Komplexität der Funktion nur zurückgegeben wird.

Verschleierung von Strings

Die Strings von SPECTRALVIPER werden durch eine benutzerdefinierte Struktur und AES-Entschlüsselung verschleiert. Der Schlüssel ist hartcodiert ( "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" ) und der IV ist in der verschlüsselten Zeichenfolgenstruktur enthalten.

Wir können die Zeichenfolgen entschlüsseln, indem wir die Malware instrumentieren und ihre AES-Entschlüsselungsfunktionen aufrufen.

Zusammenfassung

SPECTRALVIPER ist eine x64-Backdoor, die bei der Intrusion-Analyse durch Elastic Security Labs entdeckt wurde. Es kann als ausführbare Datei oder DLL kompiliert werden, die normalerweise bekannte Binärexporte imitiert.

Es ermöglicht das Laden/Einfügen von Prozessen, den Identitätswechsel von Token und die Manipulation von Dateien. Es verwendet verschlüsselte Kommunikationskanäle (HTTP und Named Pipe) mit AES-Verschlüsselung und Diffie-Hellman- oder RSA1024-Schlüsselaustausch.

Alle Proben werden mit demselben Obfuskator mit unterschiedlichen Härtungsgraden stark verschleiert.

Anhand der Informationen, die wir durch statische und dynamische Analysen gesammelt haben, konnten wir mehrere andere Proben in VirusTotal identifizieren. Mit dem oben beschriebenen Debugprozess konnten wir auch die C2-Infrastruktur für diese Beispiele erfassen.

P8LOADER

Overview

Die unten beschriebene Portable Executable (PE) ist ein Windows x64 PE-Loader, der in C++ geschrieben wurde und den wir P8LOADER nach einem seiner Exporte, P8exit, benennen.

Discovery

P8LOADER wurde ursprünglich entdeckt, als eine nicht gesicherte Shellcode-Warnung durch die Ausführung eines gültigen Windows-Prozesses generiert wurde, RuntimeBroker.exe. Nicht gesicherte ausführbare Abschnitte oder unverankerter Code sind das Ergebnis von Codeabschnittstypen, die auf "Privat" statt auf "Image" festgelegt sind, wie dies bei der Zuordnung von Code zu einer Datei auf dem Datenträger der Fall ist. Threads, die von diesen Arten von Speicherbereichen ausgehen, sind anomal und ein guter Indikator für bösartige Aktivitäten.

Wenn Sie mehr über nicht abgesicherte ausführbare Ereignisse erfahren möchten, lesen Sie die Forschungspublikation Hunting in Memory von Joe Desimone.

Ablauf der Ausführung

Das Ladeprogramm exportiert zwei Funktionen, die PE-Binärdateien in seinen eigenen Prozessspeicher laden können, entweder aus einer Datei oder aus dem Arbeitsspeicher.

Die auszuführende PE wird mithilfe der VirtualAlloc-Methode mit einem klassischen PE-Ladealgorithmus (Laden von Abschnitten, Auflösen von Importen und Anwenden von Verschiebungen) in den Arbeitsspeicher geladen.

Als nächstes wird ein neuer Thread mit dem Einstiegspunkt des PE als Startadresse zugeordnet.

Schließlich wird das STDOUT-Handle des geladenen PE durch eine Pipe ersetzt, und es wird ein Lesepipe-Thread erstellt, um die Ausgabe der Binärdatei an das Loader-Protokollierungssystem umzuleiten.

Zusätzlich zum Umleiten der geladenen PE-Ausgabe verwendet der Loader einen API-Abfangmechanismus, um bestimmte APIs des geladenen Prozesses einzubinden, alle Aufrufe zu protokollieren und die Daten über eine Named Pipe (mit einer zufällig generierten UUID-Zeichenfolge als Namen) zu senden.

Das Einhaken der Importtabelle des PE erfolgt zum Zeitpunkt der Importauflösung, indem die ursprünglich importierten Funktionsadressen durch einen eigenen Stub ersetzt werden.

Tarnung

Verschleierung von Strings

P8LOADER verwendet eine vorlagenbasierte C++-Verschleierungstechnik, um Fehler zu verschleiern und Zeichenfolgen mit einer Reihe verschiedener Algorithmen zu debuggen, die zur Kompilierzeit zufällig ausgewählt werden.

Diese Zeichenfolgen sind verschleiert, um die Analyse zu erschweren, da sie wertvolle Informationen über die Funktionen und Fähigkeiten des Ladeprogramms liefern.

Zusammenfassung

P8LOADER handelt es sich um einen neu entdeckten x64-Windows-Ladeprogramm, das zum Ausführen eines PE aus einer Datei oder aus dem Arbeitsspeicher verwendet wird. Diese Malware ist in der Lage, die geladene PE-Ausgabe an ihr Protokollierungssystem umzuleiten und die PE-Importe mit Protokollimportaufrufen zu verknüpfen.

POWERSEAL-Code-Analyse

Overview

Während dieses Eindringens haben wir einen einfachen .NET PowerShell-Runner beobachtet, den wir basierend auf eingebetteten Zeichenfolgen POWERSEAL nennen. Nach der erfolgreichen Bereitstellung von SPECTRALVIPER wurde das Dienstprogramm POWERSEAL verwendet, um die bereitgestellten PowerShell-Skripte oder -Befehle zu starten. Die Malware nutzt Systemaufrufe ( NtWriteVirtualMemory ), um defensive Lösungen (AMSI/ETW) zu umgehen.

Tarnung

Die Ereignisablaufverfolgung für Windows (ETW) stellt einen Mechanismus zum Nachverfolgen und Protokollieren von Ereignissen bereit, die von Anwendungen im Benutzermodus und Kernelmodustreibern ausgelöst werden. Die Anti Malware Scan Interface (AMSI) bietet erweiterten Schutz vor Malware für Daten, Anwendungen und Workloads. POWERSEAL verwendet bekannte und öffentlich zugängliche Bypässe, um diese Technologien im Speicher zu patchen. Dies erhöht ihre Erfolgschancen und verringert gleichzeitig ihren nachweisbaren Fußabdruck.

Zum Beispiel verwendet POWERSEAL gängige Ansätze zum Abkoppeln und Umgehen von AMSI , um die Signatur von Microsoft Defender zu umgehen

Starten von PowerShell

Die Hauptfunktion von POWERSEAL besteht darin, PowerShell auszuführen. In der folgenden Abbildung des Quellcodes von POWERSEAL sehen wir, dass POWERSEAL PowerShell verwendet, um ein Skript und Argumente ( Befehl ) auszuführen. Das Skript und die Argumente werden vom Bedrohungsakteur bereitgestellt und wurden in der Umgebung nicht beobachtet.

Zusammenfassung

POWERSEAL ist ein neuer und speziell entwickelter PowerShell-Runner, der sich frei an einer Vielzahl von Open-Source-Angriffssicherheitstools orientiert und offensive Funktionen in einem optimierten Paket mit integrierter Umgehung der Verteidigung bietet.

Modellierung von Kampagnen und Angreifern

Overview

REF2754 handelt sich um eine laufende Kampagne gegen große national wichtige börsennotierte Unternehmen in Vietnam. Die Malware-Ausführungskette in dieser Kampagne wird mit DONUTLOADER initiiert, verwendet aber weiterhin zuvor nicht gemeldete Tools.

  1. SPECTRALVIPER, eine verschleierte x64-Backdoor, die PE-Laden und -Injektion, Datei-Upload und -Download, Datei- und Verzeichnismanipulation, Token-Imitation sowie Named Pipe und HTTP-Befehle und -Steuerung ermöglicht
  2. P8LOADER, ein verschleierter Windows PE-Ladeprogramm, das es dem Angreifer ermöglicht, einen Teil der Protokollierung auf den Endpunkten des Opfers zu minimieren und zu verschleiern, und
  3. POWERSEAL, ein PowerShell-Runner mit integrierten ETW- und AMSI-Bypässen für eine verbesserte defensive Umgehung bei der Verwendung von PowerShell-Tools

Elastic Security Labs kommt mit mäßiger Sicherheit zu dem Schluss, dass diese Kampagne von einer mit dem vietnamesischen Staat verbundenen Bedrohung ausgeführt wird.

Viktimologie

Anhand unserer SPECTRALVIPER YARA-Signatur identifizierten wir zwei Endpunkte in einer zweiten Umgebung, die mit SPECTRALVIPER-Implantaten infiziert waren. Diese Umgebung wurde in der Studie der Elastic Security Labs in 2022 diskutiert, in der REF4322 beschrieben wird.

Bei dem REF4322 Opfer handelt es sich um ein in Vietnam ansässiges Finanzdienstleistungsunternehmen. Elastic Security Labs sprach erstmals im Jahr 2022 über diese Opfer- und Aktivitätsgruppe.

Bei dem REF2754 Opfer handelt es sich um ein großes vietnamesisches Agrarunternehmen.

Weitere Informationen von Drittanbietern von VirusTotal, die auf der Retro-Jagd nach den YARA-Regeln basieren, die am Ende dieser Studie verfügbar waren, deuten auf weitere Opfer in Vietnam hin. Insgesamt gab es acht Retrohunt-Treffer:

  • Alle wurden manuell als SPECTRALVIPER bestätigt
  • Alle Samples waren zwischen 1,59 MB und 1,77 MB groß
  • Alle VirusTotal-Proben wurden ursprünglich aus Vietnam eingereicht

Einige Proben wurden bereits in unserer First-Party-Kollektion identifiziert, andere waren neu für uns.

Achten Sie auf die analytischen Einschränkungen, wenn Sie sich zu stark auf "VT-Einreicher" verlassen. Dieser Meldemechanismus von Drittanbietern kann Gegenstand von zirkulären Meldeproblemen oder der VPN-Nutzung sein, die die verwendeten GEOs modifiziert, und einer versehentlichen Verstärkung einer Hypothese. In diesem Fall wurde es verwendet, um zu versuchen, Proben mit offensichtlichem Nicht-VN-Ursprung zu finden, ohne Erfolg.

Zum Zeitpunkt der Veröffentlichung handelt es sich bei allen bekannten Opfern um große börsennotierte Unternehmen, die sich physisch in Vietnam befinden und hauptsächlich in Vietnam tätig sind.

Analyse der Kampagne

Die Überschneidung mit dem REF4322 Umfeld trat erst vor kurzem, am 20. April 2023, auf. Einer dieser Endpunkte war zuvor mit dem PHOREAL-Implantat infiziert, während der andere Endpunkt mit PIPEDANCE kompromittiert wurde.

Diese SPECTRALVIPER-Infektionen wurden im Pipe-Modus konfiguriert, im Gegensatz zu hartcodierten Domänen, die so eingestellt sind, dass sie auf eine eingehende Verbindung über eine Named Pipe ( \.\pipe\ydZb0bIrT ) warten.

Bei dieser Aktivität scheint es sich um eine Übergabe des Zugriffs oder den Austausch eines Tools gegen ein anderes zu handeln.

Wenn Sie an einer detaillierten Aufschlüsselung der PIPEDANCE-Malware interessiert sind, lesen Sie unsere früheren Untersuchungen und bleiben Sie dran, weitere werden folgen.

Die Erfassung der beabsichtigten Effekte nach der Ausnutzung war jedoch begrenzt, obwohl sie spekulativer Natur ist, deutet eine Motivationsbewertung auf der Grundlage von Malware, Implantaten und technischen Fähigkeiten darauf hin, dass der Erstzugriff erreicht wurde, die Persistenz aufrechterhalten wurde und als Hintertür für die Informationsbeschaffung fungiert wurde.

Domains aus REF4322, REF2754 und aus Proben von VirusTotal, die für C2 verwendet werden, wurden alle im letzten Jahr registriert, zuletzt Ende April 2023.

Domäne:Erstellt:
stablewindowsapp[.]com2022-02-10
webmanufacturers[.]com2022-06-10
toppaperservices[.]COM2022-12-15
hosting-wordpress-services[.]com2023-03-15
appointmentmedia[.]com2023-04-26

GEOs für zugeordnete IPs für diese Domänen sind global verteilt und verwenden Sectigo-, Rapid SSL- und Let's Encrypt-Zertifikate. Weitere Infrastrukturanalysen haben nichts Nennenswertes über das Registrierungsdatum hinaus ergeben, was uns eine Zeitleiste für die Kampagne gibt. Basierend auf der kürzlichen Registrierung von appointmentmedia[.]com könnte diese Kampagne noch andauern, wobei neue Domains für zukünftige Eingriffe registriert werden.

Assoziationen der Kampagne

Elastic Security Labs kommt zu dem Schluss, dass sowohl REF4322 als auch REF2754 Aktivitätsgruppen Kampagnen darstellen, die von einer staatsnahen Bedrohung aus Vietnam geplant und durchgeführt wurden. Basierend auf unserer Analyse überschneidet sich diese Aktivitätsgruppe mit früheren Berichten über Canvas Cyclone-, APT32- und OCEANLOTUS-Bedrohungsgruppen.

Wie oben und in früheren Berichten erwähnt, handelt es sich bei dem REF4322 Opfer um ein Finanzinstitut, das Kapital für Unternehmenskäufe und ehemalige staatseigene Unternehmen verwaltet.

Das REF2754 Opfer ist ein großes Agrarunternehmen, das in den Lieferketten für die Lebensmittelproduktion und den Vertrieb in Vietnam systemrelevant ist. Die fortschreitende Urbanisierung, die Umweltverschmutzung, die COVID-19-Pandemie und der Klimawandel sind Herausforderungen für die Ernährungssicherheit Vietnams. Als Datenpunkt hat der vietnamesische Premierminister im März 2023 den Nationalen Aktionsplan zur Transformation der Lebensmittelsysteme in Richtung Transparenz, Verantwortung und Nachhaltigkeit in Vietnam bis 2030 verabschiedet . Ihr übergeordnetes Ziel ist es, die Lebensmittelsysteme, einschließlich Produktion, Verarbeitung, Vertrieb und Konsum, in Richtung Transparenz, Verantwortung und Nachhaltigkeit auf der Grundlage lokaler Vorteile umzugestalten; Gewährleistung der nationalen Ernährungssicherheit; Verbesserung des Einkommens und des Lebensstandards der Menschen; um Naturkatastrophen und Epidemien zu verhindern und zu kontrollieren; um die Umwelt zu schützen und auf den Klimawandel zu reagieren; und schließlich zur Umsetzung der Ziele für Vietnam und globale nachhaltige Entwicklung bis 2030 beizutragen. All dies unterstreicht, dass die Ernährungssicherheit ein Schwerpunkt der nationalen Politik ist, was die Opfer der REF2754 auch zu einem attraktiven Ziel für Bedrohungsakteure macht, da sie sich mit den strategischen Zielen Vietnams überschneiden.

Zusätzlich zu den national abgestimmten strategischen Interessen der Opfer für REF4322 und REF2754 wurden beide Opfer mit den Malware-Familien DONUTLOADER, P8LOADER, POWERSEAL und SPECTRALVIPER infiziert, wobei bei beiden Eindringlingen ähnliche Bereitstellungstechniken, Implantatmanagement und Namenskonventionen verwendet wurden.

Eine Bedrohungsgruppe mit Zugang zu den in REF4322 verfügbaren Finanztransaktionsaufzeichnungen würde in Kombination mit der nationalen strategischen Lebensmittelsicherheitspolitik für REF2754 Einblicke in die Kompetenz des Managements, Korruption, ausländische Einflussnahme oder Preismanipulationen geben, die sonst durch die behördliche Berichterstattung nicht verfügbar wären.

Diamant-Modell

Elastic Security verwendet das Diamond-Modell , um die Beziehungen auf hoher Ebene zwischen den Angreifern, Fähigkeiten, der Infrastruktur und den Opfern von Eindringlingen zu beschreiben. Während das Diamond-Modell am häufigsten bei einzelnen Eindringlingen verwendet wird und Activity Threading (Abschnitt 8) nutzt, um Beziehungen zwischen Vorfällen zu schaffen, wird ein Angreifer-zentrierter (Abschnitt 7.1.4) Der Ansatz ermöglicht einen (überladenen) einzelnen Diamanten.

Beobachtete Taktiken und Techniken des Angreifers

Elastic verwendet das MITRE ATT&CK-Framework, um gängige Taktiken, Techniken und Verfahren zu dokumentieren, die von Advanced Persistent Threats gegen Unternehmensnetzwerke eingesetzt werden.

Taktiken

Taktiken stellen das Warum einer Technik oder Untertechnik dar. Es ist das taktische Ziel des Gegners: der Grund für die Ausführung einer Aktion.

Techniken / untergeordnete Techniken

Techniken und Untertechniken stellen dar, wie ein Angreifer ein taktisches Ziel erreicht, indem er eine Aktion ausführt.

Erkennungslogik

Verhinderungen

Alle Malware, die in dieser Forschungspublikation besprochen wird, verfügt über Schutzmechanismen, die in Elastic Defend enthalten sind.

YARA

Elastic Security hat YARA-Regeln erstellt, um diese Aktivität zu identifizieren. Im Folgenden finden Sie YARA-Regeln zur Identifizierung von SPECTRALVIPER, POWERSEAL und P8LOADER

rule Windows_Trojan_SpectralViper_1 {
    meta:
        author = "Elastic Security"
        creation_date = "2023-04-13"
        last_modified = "2023-05-26"
        os = "Windows"
        arch = "x86"
        category_type = "Trojan"
        family = "SpectralViper"
        threat_name = "Windows.Trojan.SpectralViper"
        reference_sample = "7e35ba39c2c77775b0394712f89679308d1a4577b6e5d0387835ac6c06e556cb"
       license = "Elastic License v2"

    strings:
        $a1 = { 13 00 8D 58 FF 0F AF D8 F6 C3 01 0F 94 44 24 26 83 FD 0A 0F 9C 44 24 27 4D 89 CE 4C 89 C7 48 89 D3 48 89 CE B8 }
        $a2 = { 15 00 8D 58 FF 0F AF D8 F6 C3 01 0F 94 44 24 2E 83 FD 0A 0F 9C 44 24 2F 4D 89 CE 4C 89 C7 48 89 D3 48 89 CE B8 }
        $a3 = { 00 8D 68 FF 0F AF E8 40 F6 C5 01 0F 94 44 24 2E 83 FA 0A 0F 9C 44 24 2F 4C 89 CE 4C 89 C7 48 89 CB B8 }
        $a4 = { 00 48 89 C6 0F 29 30 0F 29 70 10 0F 29 70 20 0F 29 70 30 0F 29 70 40 0F 29 70 50 48 C7 40 60 00 00 00 00 48 89 C1 E8 }
        $a5 = { 41 0F 45 C0 45 84 C9 41 0F 45 C0 EB BA 48 89 4C 24 08 89 D0 EB B1 48 8B 44 24 08 48 83 C4 10 C3 56 57 53 48 83 EC 30 8B 05 }
        $a6 = { 00 8D 70 FF 0F AF F0 40 F6 C6 01 0F 94 44 24 25 83 FF 0A 0F 9C 44 24 26 89 D3 48 89 CF 48 }
        $a7 = { 48 89 CE 48 89 11 4C 89 41 08 41 0F 10 01 41 0F 10 49 10 41 0F 10 51 20 0F 11 41 10 0F 11 49 20 0F 11 51 30 }
        $a8 = { 00 8D 58 FF 0F AF D8 F6 C3 01 0F 94 44 24 22 83 FD 0A 0F 9C 44 24 23 48 89 D6 48 89 CF 4C 8D }
    condition:
        5 of them
}
rule Windows_Trojan_SpectralViper_2 {
    meta:
        author = "Elastic Security"
        creation_date = "2023-05-10"
        last_modified = "2023-05-10"
        os = "Windows"
        arch = "x86"
        category_type = "Trojan"
        family = "SpectralViper"
        threat_name = "Windows.Trojan.SpectralViper"
        reference_sample = "d1c32176b46ce171dbce46493eb3c5312db134b0a3cfa266071555c704e6cff8"
       license = "Elastic License v2"

    strings:
        $a1 = { 18 48 89 4F D8 0F 10 40 20 0F 11 47 E0 0F 10 40 30 0F 11 47 F0 48 8D }
        $a2 = { 24 27 48 83 C4 28 5B 5D 5F 5E C3 56 57 53 48 83 EC 20 48 89 CE 48 }
        $a3 = { C7 84 C9 0F 45 C7 EB 86 48 8B 44 24 28 48 83 C4 30 5B 5F 5E C3 48 83 }
        $s1 = { 40 53 48 83 EC 20 48 8B 01 48 8B D9 48 8B 51 10 48 8B 49 08 FF D0 48 89 43 18 B8 04 00 00 }
        $s2 = { 40 53 48 83 EC 20 48 8B 01 48 8B D9 48 8B 49 08 FF D0 48 89 43 10 B8 04 00 00 00 48 83 C4 20 5B }
        $s3 = { 48 83 EC 28 4C 8B 41 18 4C 8B C9 48 B8 AB AA AA AA AA AA AA AA 48 F7 61 10 48 8B 49 08 48 C1 EA }
    condition:
        2 of ($a*) or any of ($s*)
}
rule Windows_Trojan_PowerSeal_1 {
    meta:
        author = "Elastic Security"
        creation_date = "2023-03-16"
        last_modified = "2023-05-26"
        os = "Windows"
        arch = "x86"
        category_type = "Trojan"
        family = "PowerSeal"
        threat_name = "Windows.Trojan.PowerSeal"
        license = "Elastic License v2"

    strings:
        $a1 = "PowerSeal.dll" wide fullword
        $a2 = "InvokePs" ascii fullword
        $a3 = "amsiInitFailed" wide fullword
        $a4 = "is64BitOperatingSystem" ascii fullword
    condition:
        all of them
}
rule Windows_Trojan_PowerSeal_2 {
    meta:
        author = "Elastic Security"
        creation_date = "2023-05-10"
        last_modified = "2023-05-10"
        os = "Windows"
        arch = "x86"
        category_type = "Trojan"
        family = "PowerSeal"
        threat_name = "Windows.Trojan.PowerSeal"
        license = "Elastic License v2"

    strings:
        $a1 = "[+] Loading PowerSeal"
        $a2 = "[!] Failed to exec PowerSeal"
        $a3 = "AppDomain: unable to get the name!"
    condition:
        2 of them
}
rule Windows_Trojan_P8Loader {
    meta:
        author = "Elastic Security"
        creation_date = "2023-04-13"
        last_modified = "2023-05-26"
        os = "Windows"
        arch = "x86"
        category_type = "Trojan"
        family = "P8Loader"
        threat_name = "Windows.Trojan.P8Loader"
        license = "Elastic License v2"

    strings:
        $a1 = "\t[+] Create pipe direct std success\n" fullword
        $a2 = "\tPEAddress: %p\n" fullword
        $a3 = "\tPESize: %ld\n" fullword
        $a4 = "DynamicLoad(%s, %s) %d\n" fullword
        $a5 = "LoadLibraryA(%s) FAILED in %s function, line %d" fullword
        $a6 = "\t[+] No PE loaded on memory\n" wide fullword
        $a7 = "\t[+] PE argument: %ws\n" wide fullword
        $a8 = "LoadLibraryA(%s) FAILED in %s function, line %d" fullword
    condition:
        5 of them
}

Referenzen

In der obigen Studie wurde auf Folgendes Bezug genommen:

Beobachtungen

Alle Observables stehen auch im ECS- und STIX-Format in einem kombinierten Zip-Bundle zum Download zur Verfügung.

Die folgenden Observablen wurden in dieser Studie diskutiert.

ObservableTypNameReferenz
56d2d05988b6c23232b013b38c49b7a9143c6649d81321e542d19ae46f4a4204SHA-256-SPECTRALVIPER Bezogen auf 1.dll unten aufgeführten
d1c32176b46ce171dbce46493eb3c5312db134b0a3cfa266071555c704e6cff8SHA-2561.dllSPECTRALVIPER
7e35ba39c2c77775b0394712f89679308d1a4577b6e5d0387835ac6c06e556cbSHA-256asdgb.exeSPECTRALVIPER
4e3a88cf00e0b4718e7317a37297a185ff35003192e5832f5cf3020c4fc45966SHA-256Settings.dbSPECTRALVIPER
7b5e56443812eed76a94077763c46949d1e49cd7de79cde029f1984e0d970644SHA-256Microsoft.MicrosoftEdge_8wekyb3d8bbwe.pkgSPECTRALVIPER
5191fe222010ba7eb589e2ff8771c3a75ea7c7ffc00f0ba3f7d716f12010dd96SHA-256UpdateConfig.jsonSPECTRALVIPER
4775fc861bc2685ff5ca43535ec346495549a69891f2bf45b1fcd85a0c1f57f7SHA-256Microsoft.OneDriveUpdatePackage.mcaSPECTRALVIPER
2482c7ececb23225e090af08feabc8dec8d23fe993306cb1a1f84142b051b621SHA-256ms-zertifikate.sstSPECTRALVIPER
stablewindowsapp[.]comDomainC2
webmanufacturers[.]comDomainC2
toppaperservices[.]COMDomainC2
hosting-wordpress-services[.]comDomainC2
appointmentmedia[.]comDomainC2