Varonis objevil kryptominační virus: naše vyšetřování

Varonis objevil kryptominační virus: naše vyšetřování

Náš tým pro vyšetřování kybernetické bezpečnosti nedávno prozkoumal síť, která byla téměř celá infikována kryptominačním virem ve středně velké společnosti. Analýza
shromážděné vzorky malwaru ukázaly, že byla nalezena nová modifikace
takové viry, tzv Normanpomocí různých metod skrývání své přítomnosti. Navíc bylo objeveno interaktivní webový shell, které mohou být relevantní pro provozovatele těžby.

Přehled studie

  • Společnost Varonis identifikovala rozsáhlou infekci kryptominerů: téměř všechny servery a pracovní stanice ve společnosti byly tímto softwarem infikovány.
  • Od počáteční infekce před více než rokem se počet modifikací a infikovaných zařízení neustále zvyšuje
  • Objevili jsme nový typ kryptomineru Monero (Norman), který používá různé metody k jeho skrytí před analýzou bezpečnostním softwarem, aby se vyhnul detekci
  • Většina variant malwaru používala DuckDNS (bezplatná služba Dynamic DNS) pro připojení k řídicímu centru (servery C&C) a pro získání konfiguračních parametrů nebo odeslání nových dat.
  • Norman je vysoce výkonný těžař kryptoměn Monero založený na open source těžaři - XMRig
  • Zatím nemáme nezvratné důkazy o propojení kryptominerů s interaktivním PHP shellem. Existují však dobré důvody se domnívat, že pocházejí od stejného útočníka. Výzkumníci shromažďují další důkazy o přítomnosti nebo nepřítomnosti takového spojení.
  • V tomto článku se můžete seznámit s doporučeními Varonis ohledně ochrany před vzdálenými webovými shelly a kryptominery

Vyšetřování

Vyšetřování začalo během dalšího pilotního projektu Platformy
kybernetická bezpečnost Varonis
(Varonis Data Security Platform), která umožnila rychle identifikovat několik podezřelých anomálních událostí na úrovni sítě během internetových požadavků (prostřednictvím webového proxy), spojených s anomálními akcemi v systému souborů.
Zákazník okamžitě upozornil, že zařízení identifikovaná naší platformou
patřil ke stejným uživatelům, kteří nedávno hlásili pády aplikací a zpomalení sítě.

Náš tým manuálně prozkoumal prostředí zákazníka a přesunul se z jedné infikované stanice na druhou v souladu s výstrahami generovanými platformou Varonis. Tým pro reakci na incidenty vyvinul speciální pravidlo Modul DataAlert k detekci počítačů, které aktivně těžily, což pomohlo rychle odstranit hrozbu. Vzorky shromážděného malwaru byly zaslány forenzním a vývojovým týmům, které oznámily, že je nezbytné další zkoumání vzorků.
Infikované uzly byly objeveny v důsledku volání, na které provedli DuckDNS, dynamická služba DNS, která svým uživatelům umožňuje vytvářet vlastní názvy domén a rychle je mapovat na měnící se adresy IP. Jak je uvedeno výše, většina malwaru v incidentu přistupovala k DuckDNS, aby se připojila k řídicímu centru (C&C), zatímco ostatní přistupovali ke konfiguračním parametrům nebo odeslali nová data.

Téměř všechny servery a počítače byly infikovány malwarem. Hlavně používané
běžné varianty kryptominerů. Další malware zahrnoval nástroje pro výpis hesel a PHP shelly, zatímco řada nástrojů fungovala několik let.

Poskytli jsme výsledky zákazníkovi, odstranili jsme malware z jeho prostředí a zastavili další infekce.

Mezi všemi objevenými vzorky kryptominerů vyčníval jeden. Pojmenovali jsme ho Norman.

Seznamte se s námi! Norman. Kryptominer

Norman je vysoce výkonný těžař kryptoměn Monero založený na kódu XMRig. Na rozdíl od jiných nalezených vzorků těžařů Norman používá techniky k jejich skrytí před analýzou bezpečnostním softwarem, aby se vyhnul detekci a zabránil dalšímu šíření.

Tento malware je na první pohled běžný těžař skrývající se pod názvem svchost.exe. Studie však zjistila, že používá zajímavější metody, jak se skrýt před odhalením a udržet věci v chodu.

Proces nasazení tohoto malwaru lze rozdělit do tří fází:

  • výkon;
  • implementace;
  • hornictví.

Analýza krok za krokem

Fáze 1. Provedení

První fáze začíná spustitelným souborem svchost.exe.

Malware je kompilován pomocí NSIS (Nullsoft Scriptable Install System), což je neobvyklé. NSIS je open source systém používaný k vytváření instalačních programů Windows. Stejně jako SFX vytváří tento systém archiv souborů a soubor skriptu, který se spouští za běhu instalačního programu. Soubor skriptu říká programu, jaké soubory má spustit, a může pracovat s jinými soubory v archivu.

Poznámka: Chcete-li získat soubor skriptu NSIS ze spustitelného souboru, musíte použít 7zip verze 9.38, protože novější verze tuto funkci neimplementují.

Malware archivovaný NSIS obsahuje následující soubory:

  • CallAnsiPlugin.dll, CLR.dll - moduly NSIS pro volání funkcí .NET DLL;
  • 5zmjbxUIOVQ58qPR.dll - hlavní užitečné zatížení DLL;
  • 4jy4sobf.acz, es1qdxg2.5pk, OIM1iVhZ.txt - soubory užitečného zatížení;
  • Retreat.mp3, Cropped_controller_config_controller_i_lb.png jsou pouze soubory, které v žádném případě nesouvisí s další škodlivou činností.

Příkaz ze souboru skriptu NSIS, který spouští užitečné zatížení, je uveden níže.

Varonis objevil kryptominační virus: naše vyšetřování

Malware se spouští voláním funkce 5zmjbxUIOVQ58qPR.dll, která bere jako parametry jiné soubory.

Fáze 2. Implementace

Soubor 5zmjbxUIOVQ58qPR.dll je hlavním užitečným zatížením, jak lze vidět z výše uvedeného skriptu NSIS. Rychlá analýza metadat odhalila, že DLL se původně jmenovala Norman.dll, a tak jsme ji pojmenovali.

Soubor DLL je vyvinut v .NET a je chráněn před reverzním inženýrstvím trojitým zmatkem
pomocí známého komerčního produktu Agile .NET Obfuscator.

Během provádění je mnoho operací samoinjekce zapojeno do vlastního procesu, stejně jako do jiných procesů. V závislosti na bitové hloubce operačního systému bude malware
vyberte různé cesty k systémovým složkám a spusťte různé procesy.

Varonis objevil kryptominační virus: naše vyšetřování

Na základě cesty systémové složky vybere malware ke spuštění různé procesy.

Varonis objevil kryptominační virus: naše vyšetřování

Vložená užitečná zátěž má dvě hlavní funkce: spuštění kryptomineru a zabránění detekci.

Pokud je OS 64bitový

Když je spuštěn původní soubor svchosts.exe (soubor NSIS), vytvoří se nový vlastní proces a vloží do něj užitečné zatížení (1). Brzy poté spustí notepad.exe nebo explorer.exe a vloží do něj kryptominer (2).

Varonis objevil kryptominační virus: naše vyšetřování

Poté se původní soubor svchost.exe ukončí a nový soubor svchost.exe se použije jako program, který monitoruje proces těžby.

Varonis objevil kryptominační virus: naše vyšetřování

Pokud je OS 32bitový

Když se spustí původní soubor svchosts.exe (soubor NSIS), duplikuje svůj vlastní proces a vloží do něj užitečné zatížení, stejně jako 64bitová verze.

V tomto případě malware vloží užitečné zatížení do uživatelského procesu explorer.exe. Odtud škodlivý kód spustí nový proces (wuapp.exe nebo vchost.exe) a napíchne do něj miner.

Varonis objevil kryptominační virus: naše vyšetřování

Malware skrývá skutečnost, že se vložil do explorer.exe, přepsáním dříve vloženého kódu cestou k wuapp.exe a prázdnými hodnotami.

Varonis objevil kryptominační virus: naše vyšetřování

Stejně jako při běhu v 64bitovém prostředí se původní proces svchost.exe ukončí a druhý se použije k opětovnému vložení škodlivého kódu do explorer.exe, pokud je proces ukončen uživatelem.

Na konci prováděcího algoritmu malware vždy vloží kryptominer do legitimního procesu, který spouští.

Je navržen tak, aby zabránil detekci ukončením těžaře, když uživatel spustí Správce úloh.

Upozorňujeme, že po spuštění Správce úloh se proces wuapp.exe ukončí.

Varonis objevil kryptominační virus: naše vyšetřování

Po zavření správce úloh malware znovu a znovu spouští proces wuapp.exe
těžař to do něj vstříkne.

Fáze 3. Baník

Vezměme si výše zmíněný horník XMRig.

Malware vloží maskovanou UPX verzi těžaře do poznámkového bloku, exe, explorer.exe,
svchost.exe nebo wuapp.exe, v závislosti na bitové hloubce OS a fázi spouštěcího algoritmu.

Záhlaví PE v těžaři bylo odstraněno a na snímku obrazovky níže vidíme, že je maskováno UPX.

Varonis objevil kryptominační virus: naše vyšetřování

Po vytvoření výpisu a opětovném sestavení spustitelného souboru jsme jej mohli spustit:

Varonis objevil kryptominační virus: naše vyšetřování

Je třeba poznamenat, že přístup k cílové XMR stránce je odepřen, což účinně neutralizuje tohoto těžaře.

Konfigurace těžaře:

"url": "pool.minexmr.com:5555","user":
"49WvfokdnuK6ojQePe6x2M3UCD59v3BQiBszkuTGE7wmNJuyAvHM9ojedgxMwNx9tZA33P84EeMLte7t6qZhxNHqHyfq9xA","pass":"x"

Tajemný PHP shell předávající data C&C

Během tohoto vyšetřování náš forenzní tým objevil soubor XSL, který upoutal jejich pozornost. Po hloubkové analýze vzorku byl objeven nový PHP shell, který se neustále připojuje k řídicímu centru (C&C server).

Na několika serverech v prostředí zákazníka byl nalezen soubor XSL, který byl spuštěn známým spustitelným souborem Windows (mscorsv.exe) ze složky v adresáři sysWOW64.

Složka malwaru se jmenovala Automatické obnovení a obsahovala několik souborů:

  • Soubor XSL: xml.XSL
  • devět souborů DLL

Spustitelné soubory:

  • Mscorsv.exe
  • Wmiprvse.exe

Varonis objevil kryptominační virus: naše vyšetřování

soubor XSL

Soubory XSL jsou šablony stylů podobné těm, které se používají v CSS, které popisují, jak zobrazit dokument XML.

Pomocí programu Poznámkový blok jsme zjistili, že se ve skutečnosti nejedná o soubor XSL, ale spíše o kód PHP zatemněný Zend Guardem. Tato zvláštní skutečnost naznačovala, že ano
užitečné zatížení malwaru na základě jeho spouštěcího algoritmu.

Varonis objevil kryptominační virus: naše vyšetřování

Devět DLL

Prvotní analýza souboru XSL vedla k závěru, že přítomnost takového čísla
DLL mají určitý význam. Hlavní složka obsahuje DLL s názvem php.dll a tři další knihovny související s SSL a MySQL. V podsložkách odborníci našli čtyři knihovny PHP a jednu knihovnu Zend Guard. Všechny jsou legitimní a jsou získány z instalačního balíčku PHP nebo jako externí dll.

V této fázi se předpokládalo, že malware byl vytvořen na základě PHP a zatemněn Zend Guardem.

Spustitelné soubory

V této složce byly také dva spustitelné soubory: Mscorsv.exe a Wmiprvse.exe.

Po analýze souboru mscorsv.exe jsme zjistili, že nebyl podepsán společností Microsoft, ačkoli jeho parametr ProductName byl nastaven na „Microsoft. NET Framework".
Zpočátku to vypadalo divně, ale analýza Wmiprvse.exe nám umožnila lépe porozumět situaci.

Soubor Wmiprvse.exe byl také nepodepsaný, ale obsahoval symbol autorských práv skupiny PHP a ikonu PHP. Rychlý pohled na jeho řádky odhalil příkazy z nápovědy PHP. Při spuštění pomocí přepínače -version bylo zjištěno, že se jedná o spustitelný soubor určený ke spuštění Zend Guard.

Varonis objevil kryptominační virus: naše vyšetřování

Když byl mscorsv.exe spuštěn podobným způsobem, na obrazovce se zobrazila stejná data. Porovnali jsme binární data těchto dvou souborů a zjistili jsme, že jsou identická, s výjimkou metadat
Copyright a název společnosti/název produktu.

Varonis objevil kryptominační virus: naše vyšetřování

Na základě toho došlo k závěru, že soubor XSL obsahoval kód PHP, který běžel pomocí spustitelného souboru Zend Guard, skrytého pod názvem mscorsv.exe.

Analýza souboru XSL

Pomocí internetového vyhledávání specialisté rychle získali deobfuskační nástroj Zend Guard a obnovili původní vzhled souboru xml.XSL:

Varonis objevil kryptominační virus: naše vyšetřování

Ukázalo se, že samotný malware je PHP shell, který je neustále připojen k řídicímu centru (C&C server).

Příkazy a výstupy, které odesílá a přijímá, jsou šifrovány. Protože jsme měli zdrojový kód, měli jsme jak šifrovací klíč, tak příkazy.

Tento malware obsahuje následující vestavěné funkce:

  • Eval – Obvykle se používá k úpravě existujících proměnných v kódu
  • Záznam místního souboru
  • Možnosti práce s databází
  • Možnosti práce s PSEXEC
  • Skrytá exekuce
  • Mapování procesů a služeb

Následující proměnná naznačuje, že malware má více verzí.

Varonis objevil kryptominační virus: naše vyšetřování

Při sběru vzorků byly objeveny následující verze:

  • 0.5f
  • 0.4p
  • 0.4o

Jedinou funkcí zajištění stálé přítomnosti malwaru v systému je to, že při spuštění vytvoří službu, která se sama spustí, a její název
změny z verze na verzi.

Odborníci se pokusili najít podobné vzorky na internetu a objevili malware
což byla podle jejich názoru předchozí verze stávajícího vzorku. Obsah složky byl podobný, ale soubor XSL byl jiný a měl jiné číslo verze.

Malware Parle-Vu?

Malware mohl pocházet z Francie nebo jiné frankofonní země: soubor SFX měl komentáře ve francouzštině, což naznačuje, že autor k jeho vytvoření použil francouzskou verzi WinRAR.

Varonis objevil kryptominační virus: naše vyšetřování

Některé proměnné a funkce v kódu byly navíc pojmenovány francouzsky.

Varonis objevil kryptominační virus: naše vyšetřování

Varonis objevil kryptominační virus: naše vyšetřování

Sledování provádění a čekání na nové příkazy

Odborníci upravili kód malwaru a bezpečně spustili již upravený
verzi pro shromažďování informací o přijatých příkazech.

Varonis objevil kryptominační virus: naše vyšetřování

Na konci první komunikační relace odborníci viděli, že malware obdržel příkaz zakódovaný pomocí Base64 jako argument pro spouštěcí klíč EVAL64.
Tento příkaz je dekódován a proveden. Změní několik vnitřních proměnných (velikost vyrovnávací paměti pro čtení a zápis), načež malware vstoupí do pracovního cyklu čekání na příkazy.

V tuto chvíli nebyly přijaty žádné nové příkazy.

Interaktivní PHP shell a kryptominer: spolu souvisí?

Specialisté Varonis si nejsou jisti, zda je Norman spojen s PHP shellem, protože existují silné argumenty pro i proti tomuto předpokladu:

Proč mohou být příbuzní?

  • Žádný ze vzorků škodlivého šifrovacího softwaru neměl schopnost se nezávisle šířit do jiných systémů, ačkoli byly nalezeny na různých zařízeních v různých segmentech sítě. Je možné, že útočník infikoval každý uzel zvlášť (možná za použití stejného útočného vektoru jako při infikování Patient Zero), i když efektivnější by bylo použít PHP shell k šíření po síti, která byla cílem útoku.
  • Rozsáhlé, cílené automatizované kampaně namířené proti konkrétní organizaci za sebou často zanechávají technické artefakty nebo rozpoznatelné stopy kybernetických bezpečnostních hrozeb. V tomto případě se nic takového nenašlo.
  • Norman i PHP shell používali službu DuckDNS.

Proč spolu nesouvisejí?

  • Mezi variantami kryptominačního malwaru a shellem PHP nejsou žádné technické podobnosti. Škodlivý kryptominer je vytvořen v C++ a shell je v PHP. Také neexistují žádné podobnosti ve struktuře kódu a síťové funkce jsou implementovány odlišně.
  • Mezi variantami malwaru a shellem PHP neexistuje žádná přímá komunikace za účelem výměny dat.
  • Nesdílejí komentáře vývojářů, soubory, metadata ani digitální otisky prstů.

Tři doporučení pro ochranu před vzdálenými shelly

Malware, který ke svému fungování vyžaduje příkazy z řídicího centra (servery C&C), není jako běžné viry. Jeho akce nejsou tak předvídatelné a budou se více podobat akcím hackera nebo pentestera prováděným bez automatizovaných nástrojů nebo skriptů. Detekce těchto útoků bez malwarových signatur je proto náročnější než běžná antivirová kontrola.

Níže jsou tři doporučení pro ochranu společností před vzdálenými shelly:

  1. Udržujte veškerý software aktuální
    Útočníci často využívají zranitelnosti v softwaru a operačních systémech k šíření po síti organizace a vyhledávají data, která je zajímají, aby mohli
    krádež. Včasné záplatování výrazně snižuje riziko takových hrozeb.
  2. Monitorujte události anomálního přístupu k datům
    Útočníci se s největší pravděpodobností pokusí dostat důvěrná data organizace za hranice. Sledování událostí anomálního přístupu k těmto datům umožní
    odhalit ohrožené uživatele a celou sadu složek a souborů, které by se ve skutečnosti mohly dostat do rukou útočníků, a nepovažovat za taková pouze všechna data, která mají tito uživatelé k dispozici.
  3. Sledujte síťový provoz
    Použití brány firewall a/nebo proxy serveru může detekovat a blokovat škodlivá připojení k řídicím centrům malwaru (C&C servery), bránit útočníkům ve vykonávání příkazů a ztěžovat
    údaje o obvodu.

Zajímá vás otázka šedé těžby? Šest doporučení pro ochranu:

  1. Udržujte všechny operační systémy aktuální
    Správa oprav je velmi důležitá, aby se zabránilo zneužití zdrojů a infekcím malwaru.
  2. Řízení síťového provozu a webových proxy
    Udělejte to pro detekci některých útoků a pro zabránění některým z nich můžete blokovat provoz na základě informací o škodlivých doménách nebo omezit zbytečné kanály pro přenos dat.
  3. Používejte a udržujte antivirová řešení a systémy zabezpečení koncových bodů (Ale v žádném případě se neomezujte pouze na použití této vrstvy ochrany).
    Produkty pro koncové body dokážou detekovat známé kryptomery a zabránit infekcím dříve, než způsobí poškození výkonu systému a spotřeby energie. Uvědomte si prosím, že nové úpravy nebo nové metody prevence detekce mohou způsobit, že zabezpečení koncového bodu selže při detekci nových verzí stejného malwaru.
  4. Sledujte aktivitu CPU počítače
    Kryptotěžaři obvykle používají k těžbě centrální procesor počítače. Je nutné analyzovat případné zprávy o snížení výkonu („Počítač se začal zpomalovat.“).
  5. Monitorování DNS pro neobvyklé použití dynamických DNS služeb (jako DuckDNS)

    Ačkoli DuckDNS a další služby Dynamic DNS nejsou pro systém ze své podstaty škodlivé, použití DuckDNS malwarem našim vyšetřovacím týmům usnadnilo odhalování infikovaných hostitelů.

  6. Vypracujte plán reakce na incidenty
    Ujistěte se, že máte zavedené nezbytné postupy pro takové incidenty, abyste mohli automaticky detekovat, omezovat a zmírňovat hrozbu šedé těžby kryptoměn.

Poznámka pro zákazníky Varonis.
Varonis DataAlert zahrnuje modely hrozeb, které umožňují detekci kryptominačního malwaru. Zákazníci si také mohou vytvořit vlastní pravidla pro cílenou detekci softwaru na základě domén, které jsou kandidáty na černou listinu. Abyste se ujistili, že používáte nejnovější verzi DatAlert a používáte správné modely hrozeb, kontaktujte svého obchodního zástupce nebo podporu Varonis.

Zdroj: www.habr.com

Přidat komentář