Wir setzen eine Reihe von Artikeln zur Malware-Analyse fort. Im
ersten Teil sprachen wir darüber, wie Ilya Pomerantsev, Experte für Schadcode-Analyse bei CERT Group-IB, eine detaillierte Analyse einer Datei durchführte, die per E-Mail von einem der europäischen Unternehmen
empfangen wurde , und dort
AgentTesla-Spyware entdeckte . In diesem Artikel präsentiert Ilya die Ergebnisse einer
Phasenanalyse des
AgentTesla- Hauptmoduls.
Agent Tesla ist eine modulare Spionagesoftware, die als Malware-as-a-Service unter dem Deckmantel eines legalen Keylogger-Produkts vertrieben wird. Agent Tesla ist in der Lage, Benutzeranmeldeinformationen von Browsern, E-Mail-Clients und FTP-Clients zu extrahieren und an den Server für Angreifer zu übertragen, Daten aus der Zwischenablage zu registrieren und den Bildschirm des Geräts zu erfassen. Zum Zeitpunkt der Analyse war die offizielle Website der Entwickler nicht verfügbar.
Konfigurationsdatei
In der folgenden Tabelle sind die Funktionen aufgeführt, die in dem verwendeten Beispiel verwendet werden:
Befestigung des Hauptmoduls im System
Wenn das entsprechende Flag gesetzt ist, wird das Hauptmodul entlang des Pfads kopiert, der in der Konfiguration als Pfad zum Fixieren im System angegeben ist.
Abhängig vom Wert aus der Konfiguration erhält die Datei die Attribute „Versteckt“ und „System“.
Autostart wird von zwei Registrierungszweigen bereitgestellt:
- HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Run \% insregname%
- HKCU \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ StartupApproved \ Run \% insregname%
Da sich der Bootloader in den
RegAsm- Prozess
einfügt , führt das Setzen des persistenten Flags für das Hauptmodul zu interessanten Konsequenzen. Anstatt sich selbst zu kopieren, sicherte die Malware die ursprüngliche
RegAsm.exe- Datei in dem System, in dem die Injektion ausgeführt wurde.
Interaktion mit C & C
Unabhängig von der verwendeten Methode beginnt die Netzwerkinteraktion mit dem
Abrufen der externen IP des Opfers mit dem
Häkchen [.] Amazonaws [.] Com / resource.
Im Folgenden werden die in der Malware enthaltenen Netzwerkmethoden beschrieben.
Webpanel
Die Interaktion erfolgt über das HTTP-Protokoll. Die Malware führt eine POST-Anforderung mit den folgenden Headern aus:
- User-Agent: Mozilla / 5.0 (Windows U Windows NT 6.1 Version: 1.9.2.3) Gecko / 20100401 Firefox / 4.0 (.NET CLR 3.5.30729)
- Verbindung: Keep-Alive
- Inhaltstyp: application / x-www-form-urlencoded
Die Serveradresse ist auf
% PostURL% festgelegt . Die verschlüsselte Nachricht wird im Parameter
"p" übergeben . Der Verschlüsselungsmechanismus wird im Abschnitt
„Verschlüsselungsalgorithmen“ (Methode 2) beschrieben .
Die übertragene Nachricht lautet wie folgt:
type = {0} \ nhwid = {1} \ ntime = {2} \ npcname = {3} \ nlogdata = {4} \ nscreen = {5} \ nipadd = {6} \ nwebcam_link = {7} \ nclient = {8} \ nlink = {9} \ nusername = {10} \ npassword = {11} \ nscreen_link = {12}Der Parameter
type gibt den Nachrichtentyp an:
hwid - Ein MD5-Hash wird aus den Werten der Seriennummer des Motherboards und der Prozessor-ID geschrieben. Wird höchstwahrscheinlich als Benutzer-ID verwendet.
Uhrzeit - dient zur Übermittlung der aktuellen Uhrzeit und des aktuellen Datums.
pcname - definiert als
<Benutzername> / <Computername> .
logdata - Protokolldaten.
Bei der Übermittlung von Passwörtern sieht die Meldung folgendermaßen aus:
type = {0} \ nhwid = {1} \ ntime = {2} \ npcname = {3} \ nlogdata = {4} \ nscreen = {5} \ nipadd = {6} \ nwebcam_link = {7} \ nscreen_link = {8} \ n [Passwörter]Es folgen Beschreibungen der gestohlenen Daten im Format
\ nClient [] = {0} \ nLink [] = {1} \ nBenutzername [] = {2} \ nKennwort [] = {3} .
smtp
Die Interaktion erfolgt über das SMTP-Protokoll. Die übermittelte Nachricht liegt im HTML-Format vor. Der Parameter
BODY lautet:
Der Titel des Briefes hat die allgemeine Form:
<BENUTZERNAME> / <COMPUTERNAME> <INHALTSTYP> . Der Inhalt des Briefes sowie seine Anhänge werden nicht verschlüsselt.
Die Interaktion erfolgt über das FTP-Protokoll. Eine Datei mit dem Namen
<INHALTSTYP> _ <BENUTZERNAME> - <COMPUTERNAME> _ <DATUM UND UHRZEIT> .html wird auf den angegebenen Server übertragen. Der Inhalt der Datei wird nicht verschlüsselt.
Verschlüsselungsalgorithmen
In diesem Fall werden die folgenden Verschlüsselungsmethoden verwendet:
Methode 1
Diese Methode wird verwendet, um Zeichenfolgen im Hauptmodul zu verschlüsseln. Für die Verschlüsselung wird der
AES- Algorithmus
verwendet .
Die Eingabe ist eine sechsstellige Dezimalzahl. Die folgende Transformation wird ausgeführt:
f (x) = (((x >> 2 - 31059) ^ 6380) - 1363) >> 3Der resultierende Wert ist der Index für das eingebettete Datenarray.
Jedes Element des Arrays ist eine
DWORD- Sequenz. Beim Kombinieren von
DWORD wird ein Array von Bytes erhalten: Die ersten 32 Bytes sind der Verschlüsselungsschlüssel, gefolgt von 16 Bytes des Initialisierungsvektors, und die verbleibenden Bytes sind die verschlüsselten Daten.
Methode 2
Der
3DES- Algorithmus wird im
ECB-Modus mit Auffüllung in ganzen Bytes (
PKCS7 ) verwendet.
Der Schlüssel wird durch den Parameter
% urlkey% angegeben, sein MD5-Hash wird jedoch für die Verschlüsselung verwendet.
Schädliche Funktionalität
Das untersuchte Beispiel verwendet die folgenden Programme, um seine schädliche Funktion zu implementieren:
Keylogger
Wenn es ein entsprechendes VPO-Flag gibt, das die WinAPI-Funktion verwendet, weist
SetWindowsHookEx einen eigenen Handler für Tastaturtastenereignisse zu. Die Handlerfunktion beginnt mit dem Abrufen des Titels des aktiven Fensters.
Wenn das Flag zum Durchführen der Anwendungsfilterung gesetzt ist, wird die Filterung abhängig vom angegebenen Typ durchgeführt:
- Der Programmname wird in den Kopfzeilen des Fensters nachgeschlagen
- Der Programmname wird im Fenster Prozessname nachgeschlagen
Als Nächstes wird dem Protokoll ein Datensatz mit Informationen zum aktiven Fenster im folgenden Format hinzugefügt:
Dann werden Informationen über die gedrückte Taste aufgezeichnet:
Mit einer bestimmten Häufigkeit wird das gesammelte Protokoll an den Server gesendet. Wenn die Übertragung fehlgeschlagen ist, wird das Protokoll in der Datei
% TEMP% \\ log.tmp im folgenden Format gespeichert:
Wenn der Timer abläuft, wird die Datei auf den Server übertragen.
Screenlogger
Mit der angegebenen Häufigkeit erstellt die Malware einen Screenshot im
JPEG- Format mit einem
Qualitätswert von 50 und speichert ihn in der Datei
% APPDATA% \\ <beliebige Sequenz von 10 Zeichen> .jpg . Nach der Übertragung wird die Datei gelöscht.
Zwischenablage-Logger
Wenn das entsprechende Flag gesetzt ist, werden Ersetzungen im abgefangenen Text gemäß der folgenden Tabelle vorgenommen.
Danach wird der Text in das Protokoll eingefügt:
PasswordStealer
Malware kann Kennwörter aus den folgenden Anwendungen herunterladen:
Dynamischen Analysen entgegenwirken
- Verwenden der Sleep- Funktion. Ermöglicht das Umgehen einiger Sandkästen nach einer Zeitüberschreitung
- Zerstören des Zone.Identifier- Streams. Ermöglicht das Ausblenden des Herunterladens einer Datei aus dem Internet
- Der Parameter % filter_list% legt die Liste der Prozesse fest, die die Malware im Abstand von einer Sekunde abschließt
- Deaktivieren der Benutzerkontensteuerung
- Task-Manager deaktivieren
- CMD deaktivieren
- Run- Fenster deaktivieren
- Systemsteuerung deaktivieren
- RegEdit Tool deaktivieren
- Deaktivieren von Systemwiederherstellungspunkten
- Kontextmenü im Explorer deaktivieren
- Msconfig deaktivieren
- UAC- Umgehung:
Inaktive Funktionen des Hauptmoduls
Während der Analyse des Hauptmoduls wurden die Funktionen identifiziert, die für die Verteilung über das Netzwerk und die Verfolgung der Position der Maus verantwortlich sind.
Wurm
In einem separaten Stream werden Verbindungsereignisse für Wechselmedien überwacht. Wenn eine Verbindung zum Stammverzeichnis des Dateisystems besteht, wird die
Malware mit dem Namen
scr.exe kopiert.
Anschließend wird nach Dateien mit der Erweiterung
lnk gesucht . Jeder
lnk-Befehl ändert sich in
cmd.exe / c start scr.exe & start <ursprünglicher Befehl> & exit .
Jedes Verzeichnis im Stammverzeichnis des Datenträgers erhält das Attribut
Hidden , und eine Datei mit der Erweiterung
lnk wird mit dem Namen des ausgeblendeten Verzeichnisses und dem Befehl
cmd.exe / c start scr.exe & explorer / root, \ "% CD% <VERZEICHNISNAME> \" & exit erstellt .
Mousetracker
Die Abfangmethode ähnelt der für die Tastatur verwendeten. Diese Funktionalität befindet sich noch in der Entwicklung.
Dateiaktivität
Eindringlingsprofil
Dank der „verkabelten“ Authentifizierungsdaten konnten wir auf die Kommandozentrale zugreifen.
Dadurch konnten wir die endgültige Mail der Angreifer identifizieren:
junaid [.] in *** @ gmail [.] com .
Der Domainname der Kommandozentrale ist bei
sg *** @ gmail [.] Com registriert.
Fazit
Im Rahmen einer detaillierten Analyse der bei dem Angriff verwendeten Malware konnten wir deren Funktionalität ermitteln und die umfassendste Liste der für diesen Fall relevanten Kompromissindikatoren erhalten. Das Verständnis der Mechanismen der Netzwerkinteraktion von Malvari ermöglichte es, Empfehlungen zur Anpassung der Funktionsweise von Informationsschutz-Tools abzugeben und stabile IDS-Regeln zu schreiben.
Die Hauptgefahr von
AgentTesla als DataStealer besteht darin, dass es zur Ausführung seiner Aufgaben nicht erforderlich ist, eine Fixierung im System vorzunehmen oder auf einen Steuerbefehl zu warten. Sobald er auf der Maschine ist, beginnt er sofort mit der Erfassung privater Informationen und überträgt diese an CnC. Ein solches aggressives Verhalten ähnelt in gewisser Weise dem Verhalten von Kryptographen, mit dem einzigen Unterschied, dass diese nicht einmal eine Netzwerkverbindung benötigen. Im Falle einer Kollision mit dieser Familie, nachdem das infizierte System von Malware selbst befreit wurde, müssen alle Kennwörter geändert werden, die zumindest theoretisch in einer der oben genannten Anwendungen gespeichert werden könnten.
Nehmen wir an, dass Angreifer, die
AgentTesla senden, den anfänglichen Bootloader sehr häufig ändern. Dies ermöglicht es Ihnen, zum Zeitpunkt des Angriffs von statischen Scannern und heuristischen Analysegeräten unbemerkt zu bleiben. Und die Tendenz dieser Familie, ihre Tätigkeit sofort aufzunehmen, macht Systemmonitore unbrauchbar. Der beste Weg, mit AgentTesla umzugehen, ist eine vorläufige Analyse in der Sandbox.
Im dritten Artikel dieser Serie werden andere von
AgentTesla verwendete Bootloader
vorgestellt und der Prozess des halbautomatischen Entpackens
erläutert . Verpassen Sie es nicht!
Hash
C & C
Regkey
Mutex
Keine Indikatoren.
Dateien
Proben Info