OceanLotus: neue Hintertür, alte Pläne

Die OceanLotus-Gruppe (auch bekannt als APT32 und APT-C-00) ist bekannt für ihre Angriffe in Ostasien. Im vergangenen Jahr wurde eine Reihe von Studien zur Arbeit der Gruppe veröffentlicht, darunter CyberReason- Dokumente, eine FireEye- Überprüfung und eine Beschreibung des Wasserlochangriffs von Volexity . Wie wir sehen können, aktualisiert die Gruppe Backdoors, Infrastruktur und Infektionsvektoren.

OceanLotus richtet sich weiterhin an Unternehmen und Regierungsbehörden in Ostasien. Laut ESET-Telemetrie liegen die vorrangigen Ziele von OceanLotus in Vietnam, Laos, Kambodscha und auf den Philippinen.

Vor einigen Monaten haben wir eine ihrer neuesten Hintertüren entdeckt und analysiert. Es werden verschiedene Tools implementiert, die die Analyse erschweren und eine Erkennung vermeiden. Wir werden sie in einem Beitrag diskutieren.



Verteilung


Angreifer verwenden verschiedene Methoden, um das Opfer davon zu überzeugen, eine böswillige Pipette zu starten.

Doppelte Erweiterungen und gefälschte Anwendungssymbole (Word, PDF usw.)


Dropper verbreiten sich wahrscheinlich über E-Mail-Anhänge. Wir haben die folgenden Dateinamen beobachtet:
- Mi17 Technical issues - Phonesack Grp.exe (Mi-17 - Russisches Hubschraubermodell)
- Chi tiet don khieu nai gui saigontel.exe (übersetzt aus dem Vietnamesischen - „Einzelheiten der an Saigontel gesendeten Forderung“, Saigontel - vietnamesisches Telekommunikationsunternehmen)
- Updated AF MOD contract - Jan 2018.exe
- remove_pw_Reschedule of CISD Regular Meeting.exe
- Sorchornor_with_PM_-_Sep_2017.exe
- 20170905-Evaluation Table.xls.exe
- CV_LeHoangThing.doc.exe (gefälschte Lebensläufe wurden auch in Kanada gefunden)

Alle diese Dateien haben etwas gemeinsam - das Starten eines passwortgeschützten Köderdokuments. Es ist unklar, ob das Passwort irgendwo in den Daten des übermittelten Briefes enthalten ist oder ob das Dokument nicht geöffnet werden soll.

Gefälschte Installer


In Wasserlochkampagnen wurden mehrere gefälschte Installateure entdeckt, die sich als Installateure oder Software-Updates ausgeben. Ein Beispiel ist das von 360 Labs on Freebuf (auf Chinesisch) beschriebene neu verpackte Firefox-Installationsprogramm.

Ein weiteres Beispiel, das wir gesehen haben, hieß RobototFontUpdate.exe . Es hat sich wahrscheinlich über kompromittierte Websites verbreitet, aber wir haben keine ausreichenden Beweise dafür.

Alle beschriebenen Dateien, unabhängig davon, ob sie per E-Mail verteilt oder beim Besuch einer gefährdeten Site heruntergeladen wurden, lieferten dieselbe Backdoor-Komponente. In einem Beitrag werden wir ein Beispiel von RobototFontUpdate.exe analysieren und zeigen, wie es gelingt, eine böswillige Nutzlast auf dem System auszuführen.

Technische Analyse


Der Installations- und Ausführungsprozess hängt von der mehrschichtigen Verschleierung ab, nämlich der Komponentenverschlüsselung, der Rekonstruktion von PE-Dateien, dem Laden von Shellcode und dem Laden von Seiten. Letzteres wurde in der vorherigen Korplug-Studie von ESET beschrieben.

Fortschrittskontrolle


Der Angriff besteht aus zwei Teilen: einer Pipette und einer Trägerrakete. Jeder Schritt jedes Teils des Prozesses wird im entsprechenden Abschnitt ausführlich erläutert. Die beiden folgenden Diagramme geben einen kurzen Überblick über den Gesamtfortschritt der Malware.


Abbildung 1. Der Fortschritt der Pipette


Abbildung 2. Fortschritt der Hintertür

Fast alle diese Komponenten sind verschleiert. Die Verschleierung basiert auf komplementären bedingten Paarübergangsbefehlen. Für jede der Formen: JZ / JNZ, JP / JNP, JO / JNO usw. führt jedes Paar einen Übergang zum gleichen Ziel durch. Die Sequenz ist mit Junk-Code durchsetzt, der den Stapelzeiger verwendet, aber den Wert des bedingten Flags nicht ändert. Es stellt sich heraus, dass der Übergang innerhalb desselben Zweigs erfolgt. Dies führt zu Problemen während des Dekompilierungsprozesses aufgrund der Verwendung positiver Stapelzeigerwerte.


Abbildung 3. Komplementärer bedingter Übergang

Darüber hinaus fügen einige Grundelemente des Programms dem Stapel eine Adresse hinzu, wonach sie in JMP / CALL enden, während andere Grundelemente zwei Adressen hinzufügen und mit dem Befehl RET enden. Die zweite Elementaddition ist die aufgerufene Funktion, und die erste ist die Adresse des nächsten Basisprogrammelements, in dem der Übergang erfolgen soll. Somit werden die Grundelemente des Programms ohne übergeordnete Objekte erstellt.


Abbildung 4. PUSH / JMP-Technik

Als Ergebnis einer Kombination von zwei Verschleierungstechniken werden "schöne" Graphen erhalten:


Abbildung 5. Verschleierung einer Laufsequenz

Junk-Code zu bemerken ist ziemlich einfach. Es kann bei der Analyse von Proben ignoriert werden, wenn Sie das Anwendungsschema kennen.

Tropfer


Schritt 1. Köderdokument


In den letzten Monaten hat OceanLotus mehrere Köder verwendet. Eine davon ist eine gefälschte Software zum Aktualisieren der Roboto Slab regular TrueType-Schriftart von Roboto Slab regular . Die Auswahl einer Schriftart erscheint etwas seltsam, da sie nicht viele ostasiatische Sprachen unterstützt.


Abbildung 6. RobototFontUpdate-Symbol für die Aktualisierung von Schriftarten

Bei der Ausführung entschlüsselt die Binärdatei ihre Ressourcen (XOR, 128 Byte, fest codierter Schlüssel) und stellt die entschlüsselten Daten (LZMA) wieder her. Legitime RobotoSlab-Regular.ttf-Datei

(SHA1: 912895e6bb9e05af3a1e58a1da417e992a71a324 ) wird in den Ordner %temp% und mit der ShellExecute API- ShellExecute Funktion gestartet.

Der aus den Ressourcen entschlüsselte Shell-Code wird ausgeführt. Nach der Ausführung implementiert eine gefälschte Schriftartaktualisierung eine andere Anwendung, deren einziger Zweck darin besteht, die Pipette zu entfernen. Diese Löschanwendung wird als %temp%\[0-9].tmp.exe .

Stufe 2. Shell-Code


In jeder Phase wird derselbe Shellcode verwendet.

Der Shellcode ist ein benutzerdefinierter PE-Loader. Es stellt die ausführbare Datei im Speicher wieder her - entschlüsselt alle Abschnitte und berechnet die erforderlichen Bewegungen und anderen Einrückungen. Der RtlMoveMemory verwendet die drei Funktionen der Windows-API: VirtualAlloc , RtlMoveMemory und RtlZeroMemory .

Die Funktion RtlZeroMemory verwendet, RtlZeroMemory Felder im PE-Header zu RtlZeroMemory . Das Verlassen auf einen automatischen Speicherauszug schlägt fehl, da die MZ / PE-Header beschädigt sind.
Der Shell-Code ruft die entschlüsselte PE-Anmeldefunktion und dann die DLLEntry Exportfunktion auf.

Stufe 3. Die echte Pipette


{103004A5-829C-418E-ACE9-A7615D30E125}.dll
Diese ausführbare Datei entschlüsselt Ressourcen mithilfe des AES-Algorithmus im CBC-Modus über die Windows-API. Der fest codierte Schlüssel ist 256 Bit groß. Nach der Entschlüsselung werden die komprimierten Daten dekomprimiert (LZMA-Algorithmus).

Wenn der Prozess mit Administratorrechten gestartet wird, bietet Malware Persistenz, indem ein Dienst erstellt wird. Andernfalls wird der klassische Registrierungsschlüssel "Ausführen" verwendet ( HKCU\SOFTWARE\Microsoft\ Windows\CurrentVersion\Run;DeviceAssociationService;rastlsc.exe ).

Wenn der Dropper-Code mit Administratorrechten ausgeführt wird, versucht er, die unten aufgeführten Dateien in den Ordner C:\Program Files\Symantec\Symantec Endpoint Protection\12.1.671.4971.104a\DeviceAssociationService\ . Wenn nicht, werden sie in den Ordner %APPDATA%\Symantec\Symantec Endpoint Protection\12.1.671.4971.104a\DeviceAssociationService\ :

- rastlsc.exe (SHA1: 2616da1697f7c764ee7fb558887a6a3279861fac , Kopie der legitimen Anwendung Symantec Network Access Control, dot1xtra.exe )
- SyLog.bin (SHA1: 5689448b4b6260ec9c35f129df8b8f2622c66a45 , verschlüsselte Hintertür)
- rastls.dll (SHA1: 82e579bd49d69845133c9aa8585f8bd26736437b , eine bösartige DLL, die rastlsc.exe )

Der Pfad variiert von Sample zu Sample, aber das Layout ist ähnlich. Abhängig von den Rechten speichert die Malware Dateien in %ProgramFiles% oder %appdata% . Wir haben auch beobachtet:

- \Symantec\CNG Key Isolation\
- \Symantec\Connected User Experiences and Telemetry\
- \Symantec\DevQuery Background Discovery Broker Tasks\

Diese Pfade werden von verschiedenen Symantec-Produkten verwendet.

Nach Erreichen der Persistenz und Implementierung der ausführbaren Datei eine legitime Datei,
rastlsc.exe wird mit CreateProcessW .

Wir haben auch eine Version ( {BB7BDEC9-B59D-492E-A4AF-4C7B1C9E646B}.dll ) beobachtet, die rastlsc.exe mit dem Parameter krv ausführt. Wir werden weiter unten ausführlicher darauf eingehen.

Backdoor-Komponente: rastlsc.exe füllen


Das OceanLotus-Team verwendet eine alte und bekannte Technik in einer der ausführbaren Dateien des Symantec-Produkts. Unter dem Strich wird der Vorgang des Ladens einer Bibliothek einer legitimen und signierten EXE-Datei verwendet, indem eine schädliche Bibliothek in denselben Ordner geschrieben wird. Dadurch wird das böswillige Verhalten als legitim angesehen, da diese Aktionen ausgeführt werden, während die vertrauenswürdige ausführbare Datei ausgeführt wird.

Wie oben erwähnt, wird die legitime Datei rastlsc.exe zurückgesetzt und ausgeführt.
Es importiert die Datei rastls.dll , die in diesem Fall schädlichen Inhalt enthält.


Abbildung 7. Digital signierte rastlsc.exe von Symantec

Wir haben auch eine Füllung mit anderen legitimen und signierten ausführbaren Dateien gesehen, einschließlich mcoemcpy.exe von McAfee, das McUtil.dll lädt. Diese Technik wurde zuvor von PlugX verwendet, was die Aufmerksamkeit von Vietnam CERT (auf Vietnamesisch) auf sich zog.

Stufe 1. Füllen der Bibliothek, rastls.dll


Der interne Name der DLL-Datei lautet {7032F494-0562-4422-9C39-14230E095C52}.dll , wir haben jedoch andere Versionen gesehen, z. B. {5248F13C-85F0-42DF-860D-1723EEAA4F90}.dll . Alle exportierten Funktionen führen zur Ausführung derselben Funktion.


Abbildung 8. Alle Exporte von rasltls.dll führen zu einer einzigen Funktion

Export versucht, die SyLog.bin Datei zu lesen, die sich im selben Ordner befindet. Andere Versionen haben versucht, die Datei OUTLFLTR.DAT zu öffnen. Wenn die Datei vorhanden ist, wird sie mithilfe des AES-Algorithmus im CBC-Modus mit einem fest codierten 256-Bit-Schlüssel entschlüsselt. Anschließend werden die empfangenen komprimierten Daten dekomprimiert (LZMA-Komprimierung).

Die Variante McUtil.dll verwendet eine andere Technik. Auf den ersten Blick macht die Hauptfunktion nichts Bösartiges, sondern ersetzt tatsächlich den .text der legitimen Datei mcoemcpy.exe , einer Binärdatei. Es wird ein Shellcode generiert, dessen Aufgabe darin besteht, eine Funktion zum Lesen des verschlüsselten Shellcodes der zweiten Stufe aus der Datei mcscentr.adf .

Der folgende Pseudocode wird zum Erstellen von Shell-Code verwendet:

x = False i = 0
buff = genRandom()
opc1 = [0x58,0x59,0x5a,0x5b]
opc2 = [0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57]
opc3 = [0x90,0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,
0x49,0x4a,0x4b]
while i < len(buff):
currentChar = buff[i] if currentChar < 0xc8:
buff[i] = opc1[currentChar % len(opc1)]
else:
if x:
buff[i] = opc2[currentChar % len(opc2)]
else:
buff[i] = opc3[currentChar % len(opc3)] x = x == False
i+=1


Unten in der Abbildung sehen Sie eine Auflistung des Ergebnisses des Assemblers:


Abbildung 9. Generierter Shellcode

Schritte 2–4. Wieder Shellcode, Launcher und Shellcode


Der {E1E4CBED-5690-4749-819D-24FB660DF55F}.dll entschlüsselt und lädt die {E1E4CBED-5690-4749-819D-24FB660DF55F}.dll Bibliothek {E1E4CBED-5690-4749-819D-24FB660DF55F}.dll herunter. Die Bibliothek lädt Ressourcen und versucht, den DeviceAssociationService-Dienst zu starten. Die entschlüsselten Informationen enthalten auch einen Shellcode. Letzteres entschlüsselt die letzte Phase: eine Hintertür.

Die Variante {92BA1818-0119-4F79-874E-E3BF79C355B8}.dll prüft, ob rastlsc.exe mit krv als erstem Parameter ausgeführt wurde. In diesem rastlsc.exe wird eine Aufgabe erstellt und rastlsc.exe erneut ausgeführt, jedoch ohne diesen Parameter.

Stufe 5. Hintertür


{A96B020F-0000-466F-A96D-A91BBF8EAC96}.dll

Zunächst versucht die Malware, ihre Ressourcen herunterzuladen und mithilfe des RC4-Algorithmus zu entschlüsseln. Die resultierenden Ressourcen enthalten Daten, die zum Konfigurieren der Hintertür verwendet werden. Das Konfigurationsformat ist nicht schwer zu finden. Mit der Kaitai-Struktur und ihrem Strukturdämpfer erhalten wir Folgendes:


Abbildung 10. Konfigurationsstruktur

Hinweis : Mit Ausnahme der Zeile domain_encoding_str und der Bibliothek httpprov ändern sich die Daten von Beispiel zu Beispiel. Die Registrierungsschlüssel sind fast identisch, haben jedoch ein ähnliches Schema: \HKCU\SOFTWARE\Classes\AppX[a-f0-9]{32} , nichts \HKCU\SOFTWARE\Classes\AppX[a-f0-9]{32} .

Das Schadprogramm empfängt die ersten 10 Bytes des Benutzernamens (UTF-16), codiert sie mit der aus drei Buchstaben bestehenden Zeichenfolge mutex_encoding_str in UTF-16 und codiert sie hexadezimal. Das Ergebnis wird als Name des Mutex verwendet. Für einen Benutzer, dessen Name mit abc und einem Schlüssel in Form von vwx , vwx der Mutex beispielsweise \Sessions\1\BaseNamedObjects\170015001b .

Die Hintertür enthält einen PE-Loader, der HTTPProv.dll Bibliothek HTTPProv.dll in den Speicher lädt, den Einstiegspunkt aufruft und dann die CreateInstance .

Kommunikation


Die Hintertür verwendet das Standard-TCP-Kommunikationsprotokoll über Port 25123 . Um die Server-IP-Adresse zu erhalten, erstellt die Hintertür zunächst eine bestimmte DNS-Abfrage.

Das Schadprogramm wählt eine von drei Domänen aus der Konfiguration aus und fügt eine spezielle Unterdomäne hinzu, die mit zwei Werten generiert wird. Der erste Wert ist der Name des Computers innerhalb einer Länge von 16 Byte. Die zweite ist eine 4-Byte-Versions-ID. Der folgende Python 2-Code ist ein Codierungsalgorithmus:

letters=domain_encoding_str # “ghijklmnop” hex_pc_name=pc_name.encode(“UTF-16LE”).encode(“hex”) s=''
for c in hex_pc_name:
if 0x2f < ord(c) < 0x3a:
s+=letters[ord(c) - 0x30]
else:
s+=c


Wenn der Computername beispielsweise " random-pc lautet und die Versions-ID 0x0a841523 lautet, wird die folgende Domäne generiert:
niggmhggmeggmkggmfggmdggidggngggmjgg.ijhlokga.dwarduong[.]com

Der folgende reguläre Ausdruck kann verwendet werden, um den C & C-Server dieser Hintertür zu kennzeichnen:
[ghijklmnopabcdef]{4-60}\.[ghijklmnopabcdef]{8}\.[az]+\.[az]+

Wenn die IP-Adresse zu einer bestimmten Domäne gehört, versucht die Malware, über Port 25123 eine TCP-Verbindung 25123 . Jedes der Beispiele verfügt über drei verschiedene Domänennamen, mit denen der C & C-Server gefunden wird.

Der Kommunikationsprozess wird über RC4 verschlüsselt und mit LZMA komprimiert. Es ist möglich, den Datenverkehr zu entschlüsseln, da der Schlüssel am Anfang der Pakete hinzugefügt wird. Das Format ist wie folgt:
[ RC4 (4 )][ ]

Jedes Schlüsselbyte wird von der rand Funktion generiert. Nach dem Entschlüsseln und Entpacken des Pakets haben die Daten das folgende Format:
[dw:][dw:][dw: ][dw: ][dw:] [dw:]

Wenn der Client zum ersten Mal eine Verbindung zum Server herstellt, wird die UUID übertragen, die als Sitzungskennung verwendet wird. Letzteres wird im Registrierungsschlüssel als Binärdaten gespeichert: HKCU\SOFTWARE\Classes\ AppXc52346ec40fb4061ad96be0e6cb7d16a\DefaultIcon

Wie bereits erwähnt, enthält die Hintertür auch eine Bibliothek namens HTTPprov . Es wird als alternative Möglichkeit zur Kommunikation mit dem Server verwendet. Die DLL-Datei sendet eine POST-Anforderung über HTTP. Es unterstützt auch HTTPS und Proxys mit SOCKS5, SOCKS4a und SOCKS4. Die Bibliothek ist statisch mit libcurl verknüpft.

Nach der Initialisierung wird ein Registrierungseintrag erstellt - ein Befehl für die Backdoor zur weiteren Verwendung von HTTP für die Kommunikation mit dem Befehlsserver: HKCU\SOFTWARE\Classes\ CLSID{E3517E26-8E93-458D-A6DF-8030BC80528B} .

Die Standard-Client-Anwendung wird verwendet: Mozilla/4.0 ( ; MSIE 8.0; Windows NT 6.0; Trident/4.0) .

Das Hauptmerkmal dieser Bibliothek ist ein spezieller Verschlüsselungsalgorithmus für eine universelle Ressourcenkennung. Der Ressourcenteil des URI wird mit dem folgenden Pseudocode erstellt:

buffEnd = ((DWORD)genRand(4) % 20) + 10 + buff; while (buff < buffEnd){
b=genRand(16);
if (b[0] - 0x50 > 0x50)
t=0;
else
*buf++= UPPER(vowels[b[1] % 5]);
v=consonants[b[1]%21]); if (!t)
v=UPPER(v);
*buff++= v;
if (v!='h' && b[2] - 0x50 < 0x50)
*buff++= 'h';
*buff++= vowels[b[4] % 5];
if (b[5] < 0x60)
*buff++= vowels[b[6] % 5];
*buff++= consonants[b[7] % 21];
if (b[8] < 0x50)
*buff++= vowels[b[9] % 5];
*buff++= '-';
};
*buff='\0';


Hinweis : Aus Gründen der Übersichtlichkeit wurde der Teil, der für die Überprüfung der Zeichenfolgenlänge verantwortlich ist, aus dem Code entfernt.

Um den Bezeichner aus der generierten Zeichenfolge zu erhalten, werden zwei Zahlen mithilfe eines speziellen Summenüberprüfungsalgorithmus hinzugefügt:

checksum=crc32(buff)
num2=(checksum >> 16) + (checksum & 0xffff) * 2
num1=(num2 ^ 1) & 0xf
URL=GENERATED_DOMAIN+ “/” + num1 + “/” + num2 + “-” + buff


Wenn Sie den URI-Generator der HTTPprov Bibliothek HTTPprov , erhalten Sie die folgende URL:
hXXp://niggmhggmeggmkggmfggmdggidggngggmjgg.ijhlokga.aisicoin[.]com/ 13/139756-Ses-Ufali-L

Teams


Nach Erhalt der SESSIONID-Sitzungskennung erstellt die Hintertür einen Systemfingerabdruck. Das Paket ist wie folgt aufgebaut (Einzug in der Paketbeschreibung):

0x000 - Bytes: Der Wert ändert sich in jeder Version
0x001 - 0x01: fest codiertes Byte
0x002 - bool: erhöhte Berechtigungen
0x003 - dword: Versions-ID
0x007 - Zeichenfolge (UTF-16), Computername (max. 0x20)
0x027 - Zeichenfolge (UTF-16), Benutzername
0x079 - das Ergebnis einer Registrierungsabfrage in den Werten HKLM\SOFTWARE\Microsoft\Windows NT\ CurrentVersion : ProductName , CSDVersion , CurrentVersion , ReleaseId , CurrentBuildNumber und das Ergebnis des Aufrufs von IsWow64Process (x86|x64)
0x179 - das nachfolgende Format der Zeichenfolge% s (% s); ersetzt durch ( GetVolumeInformationW:VolumeNameBuffer ), VolumePathNames
0x279 - Physische Festplatte, E / A-Steuerung eines PhysicalDrive-GerätsIOControl 0x2D1400 (IOCTL_STORAGE_QUERY_ PROPERTY) (VolSerialNumber)
0x379 - wmi SELECT SerialNumber FROM Win32_BaseBoard
0x3f9 - Ruft das aktuelle Datum und die aktuelle Uhrzeit GetSystemTimeAsFileTime ab
0x400 - bool: unbekannt
0x401 - dword: Wird nach dem Entschlüsseln der Ressource empfangen

Hier ist ein Beispiel für einen Systemfingerabdruck:


Abbildung 11. Systemfingerabdruck

Dies ist eine vollwertige Hintertür, die ihren Bedienern eine Reihe von Funktionen bietet: Bearbeiten der Datei, Registrierung und Prozesse, Herunterladen zusätzlicher Komponenten, Abrufen eines digitalen Fingerabdrucks des Systems. Nachfolgend finden Sie die Nummern und Beschreibungen der unterstützten Befehle:

0 - digitaler Fingerabdruck
1 - Legt die Sitzungs-ID fest
2 - Erstellen eines Prozesses und Erhalten eines Ergebnisses (Verwenden von Programmkanälen)
3 - Setzt den Zähler für Verbindungsversuche
4 - verschiebt die Abrufzeit
5 - liest eine Datei oder einen Registrierungsschlüssel und berücksichtigt MD5
6 - Erstellen eines Prozesses
7 - Erstellt eine Datei, einen Registrierungseintrag oder einen Stream im Speicher
8 - schreibt in die Registrierung
9 - fragt die Registrierung ab
10 - sucht nach Dateien im System
11 - überträgt Dateien in ein anderes Verzeichnis
12 - Entfernt Dateien von der Festplatte
13 - Abrufen einer Liste der im System mit der Funktion markierten Festplatten
GetLogicalDriveStringW
14 - erstellt ein Verzeichnis
15 - Entfernt das Verzeichnis
16 - Liest die Datei vom Offset
17 - ruft den PE-Loader auf (wechseln Sie zur Kommunikation über HTTPprov )
18 - [unbekannt]
19 - 0: Abfragen des Werts in der Registrierung; 1: Programmdurchführung und -umsetzung
20 - Setzt die Umgebungsvariable
21 - Startet Shellcode in einem neuen Thread
22 - gibt die Umgebungsvariable zurück
23 in der neuen Version - Startet sich neu, wenn die APPL-Umgebungsvariable nicht vorhanden ist

Fazit


OceanLotus ist weiterhin sehr aktiv und aktualisiert das Toolkit weiterhin.
Die Gruppe versucht, ihre Aktivitäten zu verbergen. Dazu wählen die Angreifer die Opfer sorgfältig aus, begrenzen die Verbreitung von Malware und verwenden mehrere Server, um nicht auf dieselbe Domain oder IP-Adresse aufmerksam zu machen. Die Entschlüsselung der zu implementierenden Komponente und die Side-Loading-Technik ermöglichen es trotz ihrer weit verbreiteten Beliebtheit, eine Erkennung zu vermeiden, da die Arbeit von Angreifern in diesem Fall als legitime Anwendung getarnt ist.

Kompromissindikatoren (IoCs)


Proben


Tabelle 1: Tropfer




Tabelle 2: Bibliotheken




Netzwerk


IP-Adressen


46.183.220.81
46.183.220.82
46.183.222.82
46.183.222.83
46.183.222.84
46.183.223.106
46.183.223.107
74.121.190.130
74.121.190.150
79.143.87.230

Source: https://habr.com/ru/post/de421779/


All Articles