Sathurbot: Angriff auf WordPress-Webseiten

Dieser Artikel betrachtet das aktuelle Umfeld in dem sich der Sathurbot Backdoor-Trojaner bewegt. Insbesondere gehen wir dabei auf die Verwendung von Torrent als Transfermedium und dem Bruteforcing schwacher WordPress Admin-Accounts ein.

Der Torrent-Leecher

Filme und Software herunterladen, ohne dafür zu bezahlen? Das ist nicht ungefährlich. Unter Umständen liefert die Suchmaschine Suchergebnisse (Links), die normalerwiese nichts mit File-Sharing gemein haben. Die angezeigten Webseiten könnten kompromittierte WordPress-Installationen aufweisen.

Beispiele für Suchergebnisse:

Beim Klicken auf einer der Links den die Suchmaschine ausgegeben hat, gelangt man beispielsweise auf eine der folgenden Seiten (Manche nutzen sogar HTTPS):

Die Film-Unterseiten führen zur gleichen Torrent-Datei, während alle Software-Unterseiten zu anderen Torrent-Dateien weiterleiten. Wer den Torrent im Torrent-Client öffnet, wird bemerken, dass die herunterzuladende Datei weit verbreitet ist und damit legitim erscheint. Der Film-Torrent führt zu einer Datei, die mit einer Video-Erweiterung aufwartet und von einem Codec Pack-Installer und einer erläuternden Textdatei begleitet wird. Hinter dem Software-Torrent versteckt sich eine ausführbarer Installer und eine kleine Textdatei. Beide schädlichen Torrents sollen die Opfer dazu verleiten, Dateien auszuführen, um letztendlich die Sathurbot.DLL auf dem Computer des Opfers zum Laufen zu bringen.

Nachdem die ausführbare Datei gestartet ist, folgen die unten stehenden Warnmeldungen:

Während der User noch über seine Optionen nachdenkt, laufen die Schadprozesse schon im Hintergrund ab. Damit ist der Computer des Opfers bereits in das Botnet von Sathurbot integriert.

Backdoor und Downloader

Beim Start stellt Sathurbot eine Verbindung zum C&C-Server durch eine DNS-Abfrage her. Die Antwort kommt als DNS TXT Record. Sein Hex-String-Wert ist entschlüsselt. Dieser wird als C&C Domain Name für die Statusberichterstattung oder dem Aufgabenerhalt verwendet, sowie dafür, Links zu anderen Malware-Downloads zu erhalten.

Sathurbot kann sich selbst aktualisieren und andere ausführbare Dateien herunterladen und starten. Wir haben Variationen von Boaxxe, Kovter und Fleercivet gesehen. Die Liste lässt sich aber noch fortsetzen.

Der Sathurbot berichtet die erfolgreiche Installation und den Port, an dem die Malware lauscht, dem C&C-Server. In regelmäßigen Abständen wird der C&C darüber informiert, ob der Bot aktiv ist und dass er für Aufgaben zur Verfügung steht.

Web Crawler

Sathurbot kommt mit etwa 5.000+ grundlegenden generischen Wörtern. Diese werden zufällig kombiniert, um eine Wortkombination aus bis zu 4 Worten zu bilden. Die Zeichenfolgen orientieren sich an Suchbegriffen aus den Google-, Bing- und Yandex-Suchmaschinen.

Von den Webseiten jeder Suchergebnis-URL wird ein zufälliger zwei bis vier Wort langer Textbrocken ausgewählt und für die nächste Runde von Suchanfragen verwendet. (Diesmal ergeben die Kombinationen schon mehr Sinn, da sie aus echtem Text stammen.)

Schließlich wird die zweite Serie von Suchergebnissen (bis zu den ersten drei Suchergebnisseiten) dazu gebraucht, um die sich ergebenen Domainnamen zu ernten.

Die extrahierten Domainnamen werden nachträglich auf Erstellung durch das WordPress Framework untersucht. Der Trick ist, die Antwort der URL zu überprüfen.

http://[domain_name]/wp-login.php.

Danach wird die Root-Index-Seite der Domain abgerufen und auf das Vorhandensein anderer Frameworks untersucht. Das Botnet interessiert sich auch für: Drupal, Joomla, PHP-NUKE, phpFox und DedeCMS.

Bei der Inbetriebnahme oder in bestimmten Zeitintervallen werden die ausgewählten Domains an den C&C-Server gesendet. (Hier wird eine andere Domain als die für die Backdoor verwendet – nämlich eine hartcodierte).

Umfassender Angriff auf WordPress-Passwörter

Der Bot-Client ist nun bereit, eine Liste der Domain-Zugriffsberechtigungen (formatiert als login: password@domain) zu erhalten, um Passwörter auszuprobieren. Verschiedene Bots im Sathurbot-Botnet versuchen unterschiedliche Anmeldeinformationen für die gleiche Website. Jeder Bot versucht aber nur einen einzigen Login pro Seite und wechselt danach zur nächsten. Dieses Verhalten stellt sicher, dass ein Bot nicht anhand seiner IP-Adresse erkannt und für zukünftige Versuche gesperrt wird.

 

Während unserer Prüfung wurden Listen von 10.000 Seiten an den C&C zurückgegeben.

Für den Angriff selbst wird die XML-RPC API von WordPress missbraucht – besonders die wp.getUsersBlogs API. Eine typische Anfrage sieht wie folgt aus:

Die Reihenfolge der Untersuchungen von Domain-Anmeldeinformationen ist in der folgenden Abbildung dargestellt:

Die Antwort wird ausgewertet und die Ergebnisse dem C&C überliefert.

Torrent Client – Seeder

Der Bot hat die libtorrent-Bibliothek integriert. Der kompromittierte Computer soll selbst zum Seeder werden. Dafür wird eine Binärdatei heruntergeladen, ein Torrent erstellt und gestreut.

Damit vervollständigt sich der Zyklus vom Leecher zum unfreiwilligen Seeder:

Anmerkung: Nicht jeder Bot im Botnet erfüllt alle Funktionsweisen. Einige dienen bloß als Webcrawler, andere greifen nur die XML-RPC-API an und die restlichen erledigen beides. Außerdem scheint es so, als ob nicht jeder Bot für das Seeding in Frage kommt.

Auswirkungen

Die oben genannten vielzähligen Versuche auf /wp-login.php zuzugreifen, selbst auf Webseiten ohne WordPress CMS, kann als direkte Einwirkung von Sathurbot gesehen werden. Viele Web-Admins beobachten das und fragen sich, was dort vor sich geht. Darüber hinaus können WordPress-Admins die potenziellen Angriffe auf wp.getUsersBlogs in den Protokollen sehen.

Untersuchungen von Protokollen, Systemartefakten und anderen Dateien lassen vermuten, dass das Botnet aus über 20.000 kompromittierten Computern besteht und seit mindestens Juni 2016 aktiv ist.

Gelegentlich haben wir Torrent-Links gesehen, die per Email verschickt wurden.

Erkennung von Sathurbot

Web Admins sollten unbekannte Unterseiten und / oder Verzeichnisse auf dem Server überprüfen. Wenn sie auf irgendwelche Hinweise über Torrent-Download-Angebote stoßen, sind die Protokolle auf Angriffe und mögliche Hintergründe zu checken.

User können Wireshark mit einem http.request-Filter benutzen, um überschüssige GET-Anfragen aufzudecken. Alternativ können sie nach Dateien oder Registry-Einträgen aus der IoC-Sektion weiter unten suchen.

Nutzer, die ESET Antivirus auf ihrem Rechner installiert haben, sind durch mehrere Sicherheitslevel geschützt.

Entfernen von Sathurbot

Web-Admins sollten nun zuerst Passwörter ändern und Unterseiten entfernen, die nicht zur Webseite gehören. Optional kann die Seite aus einem sauberen Backup neu aufgesetzt werden.

User können mit einem Drittanbieter-Dateimanager die bösartige .DLL entlarven, mit dem Taskmanager explorer.exe und/oder rundll32.exe terminieren und die betreffende .DLL löschen. Danach muss der Computer neu gestartet werden.

Anmerkung: Hierbei wird nur Sathurbot entfernt und nicht etwaige andere Malware, die im Zuge der Malware-Kampagne zusätzlich heruntergeladen wurde.

Alternativ sollten vertrauenswürdige Antivirus Programme zum Einsatz kommen. Wir empfehlen mindestens einen Online Scanner einzusetzen, wie den ESET Online Scanner.

Sathurbot vorbeugen

Web Admins: Sollte die normale Funktionsweise der Website XML-RPC API nicht erfordern, wird empfohlen, diese API zu deaktivieren und komplexere Passwörter zu verwenden.

User: Nutzer vermeiden am besten das Ausführen von Dateien, deren Ursprung nicht einwandfrei zu klären ist. Außerdem raten wir davon ab, Software von Seiten zu beziehen, die ausschließlich dem File-Sharing dienen.

IoCs

Sathurbot installiert sich in:

\ProgramData\Microsoft\Performance\Monitor\PerformanceMonitor.dll

\ProgramData\Microsoft\Performance\TheftProtection\TheftProtection.dll

\ProgramData\Microsoft\Performance\Monitor\SecurityHelper.dll

\Users\*****\AppData\Local\Microsoft\Protect\protecthost.dll

Läuft im Kontext von rundll32.exe oder explorer.exe Prozessen und sperrt Dateien und Registrierungsschlüssel von der Bearbeitung. Es ist sowohl in x32- als auch in x64-Bit-Versionen Installer vorhanden.

Subfolders to the above (contain the seeded files by torrent)
\SecurityCache\cache\resume\
\SecurityCache\cache\rules\
\SecurityCache\data\
\SecurityCache\zepplauncher.mif – contains the DHT nodes
\temp\

%appdata%\SYSHashTable\ – Enthält Ordner, die die Hashes von besuchten Domänen darstellen
%appdata%\SYSHashTable\SyshashInfo.db – Sammlung von interessanten Domains inkl. Rahmen-Info gefunden

Samples (SHA-1)

Installers:
2D9AFB96EAFBCFCDD8E1CAFF492BFCF0488E6B8C
3D08D416284E9C9C4FF36F474C9D46F3601652D5
512789C90D76785C061A88A0B92F5F5778E80BAA
735C8A382400C985B85D27C67369EF4E7ED30135
798755794D124D00EAB65653442957614400D71D
4F52A4A5BA897F055393174B3DFCA1D022416B88
8EDFE9667ECFE469BF88A5A5EBBB9A75334A48B9
5B45731C6BBA7359770D99124183E8D80548B64F
C0F8C75110123BEE7DB5CA3503C3F5A50A1A055E
C8A514B0309BCDE73F7E28EB72EB6CB3ABE24FDD
AF1AE760F055120CA658D20A21E4B14244BC047D
A1C515B965FB0DED176A0F38C811E6423D9FFD86
B9067085701B206D2AC180E82D5BC68EDD584A8B
77625ADEA198F6756E5D7C613811A5864E9874EA
Sathurbot dll:
F3A265D4209F3E7E6013CA4524E02D19AAC951D9
0EA717E23D70040011BD8BD0BF1FFAAF071DA22C
2381686708174BC5DE2F04704491B331EE9D630B
2B942C57CEE7E2E984EE10F4173F472DB6C15256
2F4FAA5CB5703004CA68865D8D5DACBA35402DE4
4EBC55FDFB4A1DD22E7D329E6EF8C7F27E650B34
0EF3ECD8597CE799715233C8BA52D677E98ABDFD
0307BBAC69C54488C124235449675A0F4B0CCEFA
149518FB8DE56A34B1CA2D66731126CF197958C3
3809C52343A8F3A3597898C9106BA72DB7F6A3CB
4A69B1B1191C9E4BC465F72D76FE45C77A5CB4B0
5CCDB41A34ADA906635CE2EE1AB4615A1AFCB2F2
6C03F7A9F826BB3A75C3946E3EF75BFC19E14683
8DA0DC48AFB8D2D1E9F485029D1800173774C837
AC7D8140A8527B8F7EE6788C128AFF4CA92E82C2
E1286F8AE85EB8BD1B6BE4684E3C9E4B88D300DB

Additional payloads:

C439FC24CAFA3C8008FC01B6F4C39F6010CE32B6
ABA9578AB2588758AD34C3955C06CD2765BFDF68
DFB48B12823E23C52DAE03EE4F7B9B5C9E9FDF92
FAFF56D95F06FE4DA8ED433985FA2E91B94EE9AD
B728EB975CF7FDD484FCBCFFE1D75E4F668F842F
59189ABE0C6C73B66944795A2EF5A2884715772E
C6BDB2DC6A48136E208279587EFA6A9DD70A3FAA
BEAA3159DBE46172FC79E8732C00F286B120E720
5ED0DF92174B62002E6203801A58FE665EF17B76
70DFABA5F98B5EBC471896B792BBEF4DB4B07C53
10F92B962D76E938C154DC7CBD7DEFE97498AB1E
426F9542D0DDA1C0FF8D2F4CB0D74A1594967636
AA2176834BA49B6A9901013645C84C64478AA931
1C274E18A8CAD814E0094C63405D461E815D736A
61384C0F690036E808F5988B5F06FD2D07A87454
F32D42EF1E5ED221D478CFAA1A76BB2E9E93A0C1
594E098E9787EB8B7C13243D0EDF6812F34D0FBA
1AAFEBAA11424B65ED48C68CDEED88F34136B8DC
BA4F20D1C821B81BC324416324BA7605953D0605
E08C36B122C5E8E561A4DE733EBB8F6AE3172BF0
7748115AF04F9FD477041CB40B4C5048464CE43E
3065C1098B5C3FC15C783CDDE38A14DFA2E005E4
FA25E212F77A06C0B7A62C6B7C86643660B24DDA
FADADFFA8F5351794BC5DCABE301157A4A2EBBCF
B0692A03D79CD2EA7622D3A784A1711ADAABEE8D
9411991DCF1B4ED9002D9381083DE714866AEA00

Associated domains

DNS:
zeusgreekmaster.xyz
apollogreekmaster.xyz

C&C:
jhkabmasdjm2asdu7gjaysgddasd.xyz
boomboomboomway.xyz
mrslavelemmiwinkstwo.xyz
uromatalieslave.space
newforceddomainisherenow.club
justanotherforcedomain.xyz
artemisoslave.xyz
asxdq2saxadsdawdq2sasaddfsdfsf4ssfuckk.xyz
kjaskdhkaudhsnkq3uhaksjndkud3asds.xyz
badaboommail.xyz

Torrent trackers:
badaboomsharetracker.xyz
webdatasourcetraffic.xyz
sharetorrentsonlinetracker.xyz
webtrafficsuccess.xyz

Registry values

Möglicherweise muss ein Drittanbieter-Tool verwendet werden, da Windows Regedit diese nicht einmal anzeigen kann:

HKLM\SYSTEM\CurrentControlSet\services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\{variable GUID} = “v2.10|Action=Allow|Active=TRUE|Dir=In|Profile=Private|Profile=Public|App=C:\\Windows\\explorer.exe|Name=Windows Explorer|”

HKLM\SYSTEM\CurrentControlSet\services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\{variable GUID} = “v2.10|Action=Allow|Active=TRUE|Dir=In|Profile=Private|Profile=Public|App=C:\\Windows\\system32\\rundll32.exe|Name=Windows host process (Rundll32)|”

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\0TheftProtectionDll = {GUID1}
HKLM\SOFTWARE\Classes\CLSID\{GUID1} = “Windows Theft Protection”
HKLM\SOFTWARE\Classes\CLSID\{GUID1}\InprocServer32 = “C:\\ProgramData\\Microsoft\\Performance\\TheftProtection\\TheftProtection.dll”
HKLM\SOFTWARE\Classes\CLSID\{GUID1}\InprocServer32\ThreadingModel = “Apartment”

HKLM\SOFTWARE\Classes\CLSID\{GUID2}

Die {GUID2} Einträge sind über Samples hinweg variabel und haben sechs Zeichen lange Unterschlüssel, der Inhalt ist ein binärer Typ und verschlüsselt – wird verwendet, um Variablen, temporäre Werte und Einstellungen, IPs, C & C’s, UID zu speichern.

z.B. {GUID2} Einträge sehen aus wie:

HKLM\SOFTWARE\Classes\CLSID\{8E577F7E-03C2-47D1-B4C0-BCE085F78F66}\00000003
HKLM\SOFTWARE\Classes\CLSID\{8E577F7E-03C2-47D1-B4C0-BCE085F78F66}\00000002
HKLM\SOFTWARE\Classes\CLSID\{8E577F7E-03C2-47D1-B4C0-BCE085F78F66}\00000001
HKLM\SOFTWARE\Classes\CLSID\{8E577F7E-03C2-47D1-B4C0-BCE085F78F66}\00000009
HKLM\SOFTWARE\Classes\CLSID\{8E577F7E-03C2-47D1-B4C0-BCE085F78F66}\00000011
HKLM\SOFTWARE\Classes\CLSID\{8E577F7E-03C2-47D1-B4C0-BCE085F78F66}\00010001
HKLM\SOFTWARE\Classes\CLSID\{8E577F7E-03C2-47D1-B4C0-BCE085F78F66}\00010002
HKLM\SOFTWARE\Classes\CLSID\{8E577F7E-03C2-47D1-B4C0-BCE085F78F66}\00000008
HKLM\SOFTWARE\Classes\CLSID\{8E577F7E-03C2-47D1-B4C0-BCE085F78F66}\00000007
HKLM\SOFTWARE\Classes\CLSID\{8E577F7E-03C2-47D1-B4C0-BCE085F78F66}\00000004
HKLM\SOFTWARE\Classes\CLSID\{8E577F7E-03C2-47D1-B4C0-BCE085F78F66}\00000010
HKLM\SOFTWARE\Classes\CLSID\{8E577F7E-03C2-47D1-B4C0-BCE085F78F66}\00020001

Autor , ESET