Die Wahlbeteiligung ist gescheitert: Wir bringen AgentTesla zu sauberem Wasser. Teil 2


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:
Beschreibung
Wert
KeyLogger-Verwendungsflag
wahr
Flag für die Verwendung von ScreenLogger
falsch
Sendeintervall des KeyLogger-Protokolls in Minuten
20
Sendeintervall des ScreenLogger-Protokolls in Minuten
20
Flag zur Bearbeitung der Rücktaste. Nur falsche Protokollierung. True - löscht den vorherigen Schlüssel
falsch
Geben Sie CnC ein. Optionen: SMTP, Webpanel, FTP
smtp
Aktivierungsflag des Threads zum Beenden von Prozessen aus der Liste "% filter_list%"
falsch
UAC-Deaktivierungsflag
falsch
Task-Manager-Flag deaktivieren
falsch
CMD-Deaktivierungsflag
falsch
Fenster-Deaktivierungsflag ausführen
falsch
Deaktivieren Sie das Registrierungs-Viewer-Flag
falsch
Deaktivieren Sie die Systemwiederherstellungspunkte
wahr
Control Panel Disable Flag
falsch
MSCONFIG-Deaktivierungsflag
falsch
Deaktivierungsflag im Explorer-Kontextmenü
falsch
System-Pin-Flag
falsch
Pfad zum Kopieren des Hauptmoduls beim Andocken im System
% startupfolder% \\% insfolder% \\% insname%
Flag zum Setzen der Attribute „System“ und „Secretive“ für das im System festgelegte Hauptmodul
falsch
Starten Sie das Ausführungsflag neu, wenn Sie das Problem am System beheben
falsch
Flag zum Verschieben des Hauptmoduls in einen temporären Ordner
falsch
UAC Bypass Run Flag
falsch
Datums- und Uhrzeitformat für die Protokollierung
JJJJ-MM-TT HH: MM: SS
Flag, um den Programmfilter für KeyLogger zu verwenden
wahr
Art der Programmfilterung.
1 - Der Programmname wird in den Fensterköpfen gesucht
2 - Der Programmname wird im Prozessnamen des Fensters gesucht
1
Programmfilter
Facebook
Twitter
Google Mail
Instagram
"Film",
Skype
"Porn",
Hack
WhatsApp
Zwietracht

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) >> 3

Der 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:

  1. Der Programmname wird in den Kopfzeilen des Fensters nachgeschlagen
  2. 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:
Schlüssel
Aufnehmen
Rücktaste
Abhängig vom Flag der Verarbeitung der Rücktaste: False - {BACK}
True - löscht den vorherigen Schlüssel
FESTSTELLTASTE
{CAPSLOCK}
Esc
{ESC}
PageUp
{PageUp}
Runter
darr;
LÖSCHEN
{DEL}

& quot;
F5
{F5}
&
& amp;
F10
{F10}
Tab
{TAB}
<
& lt;
>
& gt;
Leertaste
F8
{F8}
F12
{F12}
F9
{F9}
ALT + TAB
{ALT + TAB}
Ende
{ENDE}
F4
{F4}
F2
{F2}
STRG
{STRG}
F6
{F6}
Richtig
rarr;
Auf
& uarr;
F1
{F1}
Links
& larr;
Pagedown
{PageDown}
Einfügen
{Einfügen}
Gewinnen
{Win}
Numlock
{NumLock}
F11
{F11}
F3
{F3}
Zuhause
{HOME}
ENTER
{ENTER}
ALT + F4
{ALT + F4}
F7
{F7}
Ein weiterer Schlüssel
Groß- oder Kleinbuchstaben, abhängig von der Position der Feststelltaste und der Umschalttaste

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:
Browser
E-Mail-Clients
FTP-Clients
Chrome
Ausblick
Filezilla
Firefox
Thunderbird
WS_FTP
IE / Edge
Foxmail
Winscp
Safari
Opera Mail
Coreftp
Opera-Browser
IncrediMail
FTP Navigator
Yandex
Pocomail
Flashfxp
Comodo
Eudora
Smartftp
Chromeplus
Thebat
FTPCommander
Chrom
Postfach
Fackel
Klauenpost
7Star
Amigo
Bravesoftware
Jabber-Kunden
VPN-Clients
Centbrowser
Psi / psi +
Öffnen Sie VPN
Chedot
Coccoc
Elementbrowser
Manager herunterladen
Epischer Datenschutz-Browser
Internet-Download-Manager
Kometa
Jdownloader
Orbitum
Sputnik
uCozMedia
Vivaldi
Seamonkey
Flock-Browser
Uc-Browser
Blackhawk
Cyberfox
K-Meleon
Icecat
Icedragon
Palemoon
Wasserfuchs
Falkon-Browser


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


Der Weg
Beschreibung
% Temp% \ temp.tmp
Enthält den Zähler für Versuche, die Benutzerkontensteuerung zu umgehen
% startupfolder% \% insfolder% \% insname%
Möglichkeit zur Konsolidierung im HPE-System
% Temp% \ tmpG \ {Aktuelle Zeit in Millisekunden} .tmp
Der Pfad für die Sicherung des Hauptmoduls
% Temp% \ log.tmp
Protokolldatei
% AppData% \ {Beliebige Folge von 10 Zeichen} .jpeg
Screenshots
C: \ Users \ Public \ {Beliebige Folge von 10 Zeichen} .vbs
Der Pfad zur vbs-Datei, die der Bootloader zum Schließen des Systems verwenden kann
% Temp% \ {Beliebiger Ordnername} \ {Dateiname}
Der Pfad, den der Bootloader zum Andocken im System verwendet

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


SHA1
A8C2765B3D655BA23886D663D22BDD8EF6E8E894
8010CC2AF398F9F951555F7D481CE13DF60BBECF
79B445DE923C92BF378B19D12A309C0E9C5851BF
15839B7AB0417FA35F2858722F0BD47BDF840D62
1C981EF3EEA8548A30E8D7BF8D0D61F9224288DD

C & C


URL
sina-c0m [.] icu
smtp [.] sina-c0m [.] icu


Regkey


Registry
HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Run \ {Skriptname}
HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Run \% insregname%
HKCU \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ StartupApproved \ Run \% insregname%

Mutex


Keine Indikatoren.

Dateien


Dateiaktivität
% Temp% \ temp.tmp
% startupfolder% \% insfolder% \% insname%
% Temp% \ tmpG \ {Aktuelle Zeit in Millisekunden} .tmp
% Temp% \ log.tmp
% AppData% \ {Beliebige Folge von 10 Zeichen} .jpeg
C: \ Users \ Public \ {Beliebige Folge von 10 Zeichen} .vbs
% Temp% \ {Beliebiger Ordnername} \ {Dateiname}

Proben Info


Name
Unbekannt
MD5
F7722DD8660B261EA13B710062B59C43
SHA1
15839B7AB0417FA35F2858722F0BD47BDF840D62
SHA256
41DC0D5459F25E2FDCF8797948A7B315D3CB0753
98D808D1772CACCC726AF6E9
Typ
PE (.NET)
Größe
327680
Orginalname
AZZRIDKGGSLTYFUBCCRRCUMRKTOXFVPDKGAGPUZI_20190701133545943.exe
Datenstempel
07/01/2019
Compiler
Vb.net

Name
IELibrary.dll
MD5
BFB160A89F4A607A60464631ED3ED9FD
SHA1
1C981EF3EEA8548A30E8D7BF8D0D61F9224288DD
SHA256
D55800A825792F55999ABDAD199DFA54F3184417
215A298910F2C12CD9CC31EE
Typ
PE (.NET DLL)
Größe
16896
Orginalname
IELibrary.dll
Datenstempel
10/11/2016
Compiler
Microsoft Linker (48.0 *)

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


All Articles