Im Jahr 2018 erlebten wir einen sprunghaften Anstieg der Emotet-Aktivität. Emotet begann als Banking-Trojaner, doch dieser Blogbeitrag beleuchtet, wie er sich auch zu einem „ Bedrohungsverteiler “ entwickelt hat. Wir werden sowohl serverseitige als auch clientseitige Aktivitäten und die Verbreitungsmethoden erörtern. Die Selbstverbreitung erschwert es Sicherheitsanbietern zusätzlich, Emotet statisch zu erkennen. Wir erklären, wie sich die URLs in Spam-E-Mails und die auf diesen URLs gehostete Malware ständig ändern und wie Brute-Force-Angriffe zur lateralen Ausbreitung eingesetzt werden.
Was ist Emotet?
Die Emotet-Malware-Kampagne existiert seit 2014. Sie tritt in regelmäßigen Abständen mit unterschiedlichen Techniken und Varianten auf, um Malware auf den Rechnern der Opfer zu installieren. Angreifer nutzen komplexe Methoden, um einer Erkennung zu entgehen. Emotet hat sich von einem eigenständigen Banking-Trojaner zu einem komplexen Bedrohungsverteiler entwickelt. Anfang 2017 verbreitete sich Emotet über Spam-E-Mails mit angehängten PDF- und JavaScript-Dateien. Seit 2018 verbreitet es sich über MS-Office-Word-Dokumente, die ein stark verschleiertes Makro enthalten. Die E-Mail enthält außerdem einen Link zum Herunterladen der MS-Office-Dokumente (Word, Excel). US-CERT hat eine Warnung herausgegeben und Emotet als ernstzunehmende Bedrohung hervorgehoben.
Was macht ihn zu einem komplexeren Verteiler?
Die Malware ist hartnäckig und sehr aggressiv, da sie URLs und die von ihnen übermittelten Payloads regelmäßig ändert, was eine statische Erkennung erschwert. Wir haben außerdem den Diebstahl von Netzwerk-, E-Mail-Konto- und in Webbrowsern gespeicherten Passwörtern beobachtet. Die Malware versucht, sich mithilfe gestohlener Anmeldeinformationen über Brute-Force-Angriffe im Netzwerk zu verbreiten. Sie kapert die E-Mail-IDs, indem sie Namen und E-Mail-Adressen aus dem Outlook-Konto des Opfers stiehlt und das Konto dann zum Versenden von weiterem Malspam verwendet, wodurch die Opfer im Wesentlichen zu Spammern werden.
Infektionsvektor:

Die Kampagne ist in zwei Phasen unterteilt.
- Angriff auf die Website.
- Angriff auf die Maschine des Opfers. (Bereits in unserem vorherigen Blog besprochen)
Diese kompromittierten Websites wurden zum Hosten der neuesten Malware verwendet. Diese Malware wird als Dokument und dann in der späteren Phase der Verbreitung der Malware als ausführbare Datei von Emotet heruntergeladen.
Warum zielt Emotet auf PHP-basierte Websites ab?
Etwa 70–80 % aller Websites werden mit PHP entwickelt. Selbst Content-Management-Systeme wie Joomla und WordPress basieren auf PHP. Da PHP eine serverseitige Skriptsprache ist, führt sie Code auf dem Server aus und liefert HTML als Antwort. Gelingt es einem Angreifer, Schadcode auf einem PHP-Server auszuführen, kann er Administratorrechte erlangen. Um Schadcode auf dem Server auszuführen, werden Sicherheitslücken ausgenutzt. So finden sich beispielsweise in WordPress- und Joomla-Plugins zahlreiche Schwachstellen, die ausgenutzt werden können. Einige davon sind die „Arbitrary File Upload Vulnerability“, der „Direct access to XMLRPC.php“, die „Remote Privilege Escalation Vulnerability“, Cross-Site-Scripting und die „Information Disclosure Vulnerability“. Im Rahmen der Analyse stellten wir fest, dass die neuesten Schwachstellendatenbanken exploit-db und rapid7 verwendet werden. Der Code enthält außerdem Links wie „ https://exploit-db.com/search/?action=search&filter_description=LinuxLinuxKernelposix_getegid?nameuidnamegid/cwd“ . Website-Betreiber beheben diese Sicherheitslücken üblicherweise nicht, da die Aktualisierung von Plugins auf die neuesten Versionen das Design ihrer Websites beeinträchtigen könnte. Daher sind diese Websites leichte Ziele und können als kostenlose und unentdeckbare Infrastruktur zum Sammeln verschiedener Schadsoftware missbraucht werden.
Wie kompromittiert Emotet Websites und wird als Bedrohungsverteiler eingesetzt?
Wenn ein Benutzer auf die URL zugreift, wird diese als „Get“-Anfrage an den Server gesendet. Der Server liest die URL und führt die mit der aktuellen Anfrage verknüpfte PHP-Seite aus.
Wenn ein Benutzer beispielsweise auf „https://www.Abc.com/login“ zugreift, prüft der serverseitige Webserver die Seite login.php. Ist sie vorhanden, führt er Code auf dem Server aus und sendet als Antwort HTML. Normalerweise können wir nicht direkt auf PHP-Code zugreifen, da der Zugriff vom Server beschränkt ist. Um ein Backdoor-Skript auf PHP-basierten Websites/Servern zu platzieren, muss der Angreifer das Backdoor-Skript unter Ausnutzung einer der oben genannten Sicherheitslücken auf den PHP-Server hochladen. Dann muss der Angreifer eine Anfrage für diese Ressource (das Backdoor-Skript) senden, die auf dem PHP-Server ausgeführt wird und Zugriff auf den PHP-Server sowie die Administrator-ID und das Kennwort des Servers gewährt. Dadurch werden weitere schädliche Inhalte vom CnC-Server heruntergeladen.
Emotet zielt möglicherweise auf PHP-Websites ab, indem es das Backdoor-Skript auf anfällige Websites hochlädt. Der Angreifer kann Schwachstellenscanner wie wpscan, owasp-zap, Joomla-Scanner und nmap verwenden, um Schwachstellen in den Websites zu finden. Wir haben außerdem festgestellt, dass viele kompromittierte Websites auf dem Server „fped8.org“ gelistet sind.

Eine von Emotet kompromittierte Website enthält auch Skripte, die dem Skript von Roi777Eng ähneln , um Websites mithilfe einer PHP-Hintertür zu hacken.
Das erste Ziel von Emotet ist die Kompromittierung von Websites auf dem Server „fped8.org“, um dort schädliche Skripte hochzuladen. Anschließend werden weitere anfällige Websites ausprobiert. Der Schädling lädt Backdoor-PHP-Skripte hoch, indem er eine beliebige Datei-Upload-Schwachstelle ausnutzt. Das bedeutet, dass der MIME-Typ der Datei während des Uploads weder vom Server noch vom Code geprüft wird und der hochgeladene Ordner auf den angegebenen Websites direkt zugänglich ist. So kann der Angreifer leicht eine Backdoor einschleusen. Sobald das Skript auf die Website hochgeladen ist, sendet der Angreifer eine Anfrage wie „https://www.Abc.com/wp-uploads/2018/11/backdoor.php“, die auf dem Server ausgeführt wird. Außerdem kompromittiert er WordPress-Themes, die in WordPress- und Joomla-Shops verfügbar sind. Wir haben eine der kompromittierten Websites analysiert, die das im November hochgeladene Theme „Sketch“ enthält. Die 404.php-Seite dieser Website war kompromittiert und ermöglichte dem Angreifer einen Backdoor-Zugriff. Sobald die Website ausgenutzt ist, führt der Angreifer per Post schädlichen Code aus und erhält eine Anfrage. Um Filter zu umgehen, verwendet er verschleierten Code.
zB „https://www.Abc.com/remote.php?key='shell_'$v'exec(ls -ano)' “.
Im obigen Beispiel ist shell_exec eine PHP-Funktion zum Ausführen von Shell-Befehlen. Um die vom Webhosting-Anbieter hinzugefügten Prüfungen zu umgehen, fügt der Angreifer der Anfrage Nullvariablen wie $v hinzu. Diese nicht initialisierten Variablen werden einfach ignoriert. In PHP haben „shell_exec“ und shell_exec die gleiche Bedeutung, und jeder der Strings kann als Funktionsaufruf verwendet werden. Wir können diesen Funktionsnamen in Hexadezimalform wie „\x73\x68\x65\x6C\x6C\x5F\x65\x78\x65\x63“ schreiben, was nichts anderes als shell_exec ist. Auf diese Weise werden mehrere Befehle auf dem Webserver ausgeführt und die Firewall umgangen.
Z.B:
$m=”shell_exec”;
$v = $m('dir');
echo $v;
?>
Bei unseren Untersuchungen haben wir festgestellt, dass diese kompromittierten Websites von einem Angreifer als Malware-Hosting-Plattform oder -Infrastruktur verwendet werden, die zum Verteilen von Schadsoftware wie Emotet, Miner usw. verwendet werden kann. Wie oben erläutert, gibt es weltweit sehr viele PHP-Websites und dementsprechend viele kompromittierte Websites.

Im Rahmen der Emotet-Kampagne wurden mehrere solcher Skripte gefunden, die gemäß den Befehlen des Angreifers ausgeführt werden. Der Angreifer kann neue Varianten von EXE- oder DOC-Dateien einfach per POST-Anfrage senden. Auf der kompromittierten Website verschlüsseln die Skripte die Datei und speichern sie unter einem zufälligen Namen. Zur Ausführung dieser PHP-Skripte wird die Funktion `eval()` von PHP verwendet. Die folgenden schädlichen Skripte dienen dem Fernzugriff oder dem Öffnen einer Hintertür auf dem kompromittierten Server. Normalerweise befinden sich die Skripte im Verzeichnis `wp-admin\wpclient`.
remote.php
settings.php
minify.php
wsetting.php
syslib.php
neue_lizenz.php

In einigen Fällen fanden wir die oben genannten Skripte im Stammordner der Website oder in den WP-Includes. Außerdem bearbeiteten sie die 404.php-Datei von Themes, die denselben Code wie das unten stehende Skript enthält. Sehen wir uns einige der wichtigsten Skripte an.
Remote.php:
Dieses Skript dient als PHP-Backdoor. Es sendet HTTP- und curl-Anfragen an „ fped8.org/doorways/settings_v2.php“ und „update.php“, wie in der Abbildung unten dargestellt.

Dieses Skript spielt möglicherweise die Hauptrolle bei der Aktualisierung bösartiger Skriptmodule. Angreifer aktivieren Funktionen gemäß den Anforderungsparametern „get“ und „post“. Wir haben festgestellt, dass remote.php in der Lage ist, PHP-Skripte herunterzuladen und auszuführen, die es aus der HTTP-Anforderung erhält. Wenn wir versuchen, direkt auf remote.php zuzugreifen, sendet es eine Antwort als „true“ oder leitet auf eine andere Domain um. Es sucht nach Content-Management-Systemen (CMS), indem es „/wp-blog-header.php“ für WordPress und „/includes/framework.php“ für Joomla erkennt. Dann bearbeitet es je nach Art der PHP-Site die Designvorlage, für die es eine Funktion namens edittext() definiert hat, die _themesfile_data, _extlinksfilename und _other_data akzeptiert, die es den Designs einer Website hinzufügt.


Es lädt Daten herunter und speichert sie im Cache-Ordner mit dem Namen „temp*clientid*“. Es ruft ein verschlüsseltes PHP-Skript und eine IP-Adressliste des Host-Servers ab, der eine Anfrage an fped8.org sendet. Bei unseren Untersuchungen stellten wir fest, dass diese IP-Adressliste der IP-Adressliste im Emotet-Ordner auf der kompromittierten Website ähnelt. Dies half uns, die Emotet-Kampagne mit der Kampagne „Doorways to PHP Backdoor“ in Verbindung zu bringen. Außerdem enthält es eine Funktion zum Löschen des Verzeichnisses full_del_dir().
Einstellungen.php:
Diese Datei ist die Hauptkomponente für einen Eindringling. Wir haben festgestellt, dass beim Öffnen dieser Seite ein Eingabefeld für das Passwort und ein Absenden-Button angezeigt werden. Bei der Analyse des PHP-Codes stellten wir fest, dass die Seite mehrfach verschlüsselt ist. Wir entschlüsselten die Datei mit base64_decode und str_rot13. Das Array enthielt wiederum viele base64-verschlüsselte Zeichenfolgen. Bei der Dekodierung fanden wir ein Perl-Skript und JavaScript, die eine Socket-Verbindung herstellen. Wir gehen davon aus, dass diese Skriptdatei von einem Angreifer verwendet wird, um Shell-Zugriff zu erhalten.


Es enthält außerdem href-Aktionen für „https://exploit-db.com/search/?action=search&filter_description=LinuxLinuxKernelposix_getegid?nameuidnamegid/cwd“, „http[:]//crackfor.me/index.php“, „http[:]//md5.rednoize.com/“ und „https[:]//hashcracking.ru/index.php“. Es führt den Befehl auch mithilfe von PHP-Funktionen wie shell_exec aus, die Befehle auf der Shell ausführen und die Ausgabe als Zeichenfolge zurückgeben. Es bietet außerdem die Möglichkeit, die Datei hochzuladen. Dieses Skript verwendet außerdem Funktionen wie „find -type f -name fetchmailrc, htpasswd und config*“. Es verfügt über SQL-Befehle zum Einfügen und Ausgeben von Daten in SQL.


wpsetting.php:
Es wird verwendet, um hochgeladene Dateien zum Ziel zu verschieben.
Minify.php:
Wenn wir eine Benutzeranfrage senden, erhalten wir ein Eingabefeld für das Passwort. Minify.php und Settings.php sind beide Dateien identisch. Nach der Entschlüsselung stellten wir fest, dass es sich lediglich um eine Webshell handelt. Ähnliche Webshells sind auch unter „hxxps://webshell.co/“ verfügbar. Beide Dateien, minify.php und setting.php, sind mit unterschiedlichen Verschlüsselungsalgorithmen verschlüsselt und werden bei der Ausführung entschlüsselt. Um einer serverseitigen Erkennung zu entgehen, sind beide Skriptdateien hochgradig verschlüsselt. Dieses Skript ist eine Webshell, die aus verschiedenen Dienstprogrammen besteht, die dem Angreifer helfen, ohne Benutzer-ID und Passwort auf das gesamte System zuzugreifen.
In diesem Skript verfügbare Tools:
1.Dateimanager
2.SQL-Browser
3.Konsole
4. PHP-Shell zum Ausführen von PHP-Code. (Eval())
5. Brute-Force-Tools für Wörterbuchangriffe
6.Netzwerkskript zum Erstellen einer Socket-Verbindung.

Sobald dieses Skript auf den Webserver hochgeladen ist, kann der Angreifer problemlos weitere Skripte installieren und über den Dateimanager FTP-Zugriff erhalten. Bei der Untersuchung stellten wir fest, dass dieses Skript auch als 404-Seite im aktiven Design der infizierten Site hinzugefügt wird, um Persistenz zu gewährleisten. Da sich diese Skripte jedoch mit einem Klick selbst löschen lassen, kann der Angreifer alle Skripte löschen.
neue_lizenz.php:
Auf einigen der kompromittierten Server fanden wir die Datei new_license.php. Dieses PHP-Skript enthält ein mehrteiliges HTML-Formular ohne client- und serverseitige Validierung. Ein Angreifer kann beliebige PHP-Dateien (Payload oder Backdoor) auf den Server hochladen, wie in Abb. 12 dargestellt. Auf dieser Seite finden wir einen Link zum hochgeladenen Skript. Diese Art von Skript wird verwendet, um beliebige Dateien hochzuladen und Schadcode auf dem Webserver auszuführen.


Emotet-Skriptdateien
Wir haben festgestellt, dass Emotet fünf Dateien in einem zufällig generierten Ordner abgelegt hat. Die Liste der Dateien finden Sie unten:
.67179322b768a6c97af866b5561a06aabf878f15
.bt
.htaccess
index.php
web.config

.bt:
Dies ist eine versteckte Datei, die die Host-URL-Liste und die IP-Liste aus dieser Datei enthält. Die „PHP-Backdoor-Dateien“ sind identisch. Viele mit Emotet infizierte Domains enthalten diese Datei sowie die oben erwähnte Datei. Daher vermuten wir, dass beide Kampagnen eine gemeinsame Strategie zur Verbreitung der Schadsoftware verfolgten.

.67179322b768a6c97af866b5561a06aabf878f15:
Dies ist eine JSON-Datei, die bei jeder Anfrage aktualisiert wird, wenn Emotet von der angegebenen infizierten Site heruntergeladen wird.
{“4″:1031,”5″:1255,”2″:31,”3”:14}
Hier ist 1031 die Anzahl der Emotet-Downloads von der aktuell infizierten Site.
.htaccess:
Es wird verwendet, um den Zugriff auf Dateien zu ermöglichen und den Zugriff auf bestimmte Dateien einzuschränken. Diese Datei erteilt eine Berechtigung für index.php. Nachfolgend finden Sie eine Liste der Berechtigungs
DirectoryIndex index.php
bestellen allow, deny
ermöglichen aus allen
index.php:
Dieser enthält die Hauptnutzlast von Emotet. In der Phishing-E-Mail wird dem Opfer der oben genannte Ordner mit index.php-Links bereitgestellt. Klickt ein Nutzer auf den Link, wird die entschlüsselte Emotet-Malware (doc/exe) als Antwort gesendet. Die E-Mail enthält einen Link zum Ordner mit index.php. Bei einer Anfrage an den Server führt dieser index.php aus und sendet als Antwort die exe- oder doc-Datei.
Diese index.php ist ebenfalls stark verschlüsselt. Nach der Dekodierung stellten wir fest, dass Emotet Klassen und private Variablen verwendet, um die Hauptnutzlast verschlüsselt zu speichern. Es gibt eine Funktion namens „execute“, die die Nutzlast dekodiert und an den Benutzer sendet. Sie verwendet die Header-Funktion von PHP, um eine Antwort zu senden.

Im Header werden Daten wie „Läuft ab: Dienstag, 01. Januar 1970, 00:00:00 GMT“, „Cache-Control: kein Speichern, kein Cache, muss erneut validiert werden, maximales Alter = 0“ gesendet. Der Inhaltstyp der Datei wird als „Anwendung/Oktett-Stream“ und „Content-Transfer-Encoding: binär“ angegeben. Nach dem erfolgreichen Senden der Datei wird als Antwort die neue Anzahl der Downloads in die JSON-Datei „.67179322b768a6c97af866b5561a06aabf878f15“ geschrieben.
Um dieses Skript zu entschlüsseln, wird zunächst der API-Name mithilfe der Packfunktion entschlüsselt, wie im obigen Bild gezeigt. Anschließend wird die Entschlüsselungsfunktion (Gzinflate,base64_decode) verwendet, um das verbleibende PHP-Skript zu entschlüsseln.


Ausführung auf der Clientseite
In unserem vorherigen Blogbeitrag hatten wir den Verbreitungsmechanismus dieser Kampagne auf Clientseite bereits erläutert. Die Entwicklung eines vier Jahre alten Bedrohungs-Emotets: Vom berüchtigten Trojaner zum komplexen Bedrohungsverbreiter
Fazit:
Auf diese Weise infiziert PHP-Malware saubere PHP-Websites/-Server und ermöglicht dem Angreifer die Ausführung schädlicher Skripte. Darüber hinaus kann sie zur Verbreitung von Schadsoftware verwendet werden, wie in unserem Fall die Datei index.php, die verschlüsselte Emotet-Malware enthält. Bei jedem Aufruf dieser PHP-Datei wird die entschlüsselte Emotet-Malware (doc/exe) als Antwort gesendet. Diese kompromittierten Websites werden von Angreifern als Malware-Hosting-Plattformen oder -Infrastruktur genutzt. In einigen Fällen konnten Angreifer nach dem Zugriff auf den Webserver schädliche Skripte löschen.
Die Emotet-Malware verbreitet sich über Spam-Mails, die Social-Engineering-Tricks verwenden, um den Benutzer leicht zu täuschen.
Quick Heal bietet mehrschichtigen Schutz vor jeder Schicht der Emotet-Kampagne.
Sicherheitsmaßnahmen zu befolgen
- Öffnen Sie keine Links im E-Mail-Text, die von einer unbekannten Quelle gesendet wurden.
- Laden Sie keine Anhänge herunter, die von einer nicht vertrauenswürdigen Quelle stammen.
- Aktivieren Sie immer den E-Mail-Schutz Ihrer Antivirensoftware.
- Aktivieren Sie bei der Ausführung des Dokuments keine „Makros“ oder den „Bearbeitungsmodus“.
Bleiben Sie dran für unser technisches Dokument zur Emotet-Kampagne, das in Kürze erscheint.
Fachexperten:
Bajrang Mane, Vallabh Chole, Preksha Saxena | Quick Heal Security Labs



