Výzkum společnosti Kaspersky se zaměřil na podrobnou analýzu builderu LockBit 3.0, který unikl v roce 2022. Od té doby jsou útočníci schopni generovat přizpůsobené verze hrozby podle svých potřeb. To otevírá četné možnosti pro zlomyslné aktéry, jak zefektivnit své útoky, protože je možné konfigurovat možnosti šíření sítě a funkcionalitu zabíjení obrany. To se stává ještě nebezpečnějším, pokud má útočník platná privilegovaná pověření v cílové infrastruktuře.
Při nedávné reakci na incidenty čelili přesně tomuto scénáři: protivníkovi se podařilo získat pověření správce v prostém textu. Vygenerovali vlastní verzi ransomwaru, která používala výše uvedené přihlašovací údaje k šíření po síti a prováděla škodlivé činnosti, jako je zabíjení programu Windows Defender a vymazání protokolů událostí systému Windows, aby zašifrovala data a zakryla jejich stopy.
V tomto článku se znovu podíváme na soubory stavitele LockBit 3.0 a ponoříme se do kroků protivníka k maximalizaci dopadu na síť. Kromě toho poskytujeme seznam preventivních aktivit, které mohou správcům sítí pomoci vyhnout se tomuto druhu hrozby.
Opětovná návštěva souborů stavitele LockBit 3.0
Tvůrce LockBit 3.0 výrazně zjednodušil vytváření přizpůsobeného ransomwaru. Obrázek níže ukazuje soubory, které jej tvoří. Jak vidíme, keygen.exe generuje veřejné a soukromé klíče používané pro šifrování a dešifrování. Poté builder.exe vygeneruje variantu podle možností nastavených v souboru config.json .
Celý tento proces je automatizován pomocí skriptu Build.bat, který provádí následující:
1
2
3
4
5
6
7
8
|
IF exist Build (ERASE /F /Q Build\*.*) ELSE (mkdir Build)
keygen –path Build –pubkey pub.key –privkey priv.key
builder –type dec –privkey Build\priv.key –config config.json –ofile Build\LB3Decryptor.exe
builder –type enc –exe –pubkey Build\pub.key –config config.json –ofile Build\LB3.exe
builder –type enc –exe –pass –pubkey Build\pub.key –config config.json –ofile Build\LB3_pass.exe
builder –type enc –dll –pubkey Build\pub.key –config config.json –ofile Build\LB3_Rundll32.dll
builder –type enc –dll –pass –pubkey Build\pub.key –config config.json –ofile Build\LB3_Rundll32_pass.dll
builder –type enc –ref –pubkey Build\pub.key –config config.json –ofile Build\LB3_ReflectiveDll_DllMain.dll
|
Soubor config.json umožňuje povolit funkce zosobnění (zosobnění) a definovat účty pro zosobnění (impers_accounts). V níže uvedeném příkladu byl účet správce použit k předstírání identity. Konfigurace také umožňuje povolit šifrování síťových sdílených položek (network_shares), deaktivovat Windows Defender (kill_defender) a šířit po síti přes PsExec (psexec_netspread). Po úspěšné infekci může škodlivý vzorek odstranit protokoly událostí systému Windows (delete_eventlogs), aby zakryl své stopy.
Kromě toho umožňuje tvůrce útočníkovi vybrat si, které soubory, ve kterých adresářích a na kterých systémech nechce šifrovat. Pokud se útočník orientuje v cílové infrastruktuře, může generovat malware přizpůsobený konkrétní konfiguraci síťové architektury cíle, jako jsou důležité soubory, administrativní účty a kritické systémy. Obrázky níže ukazují proces generování přizpůsobeného ransomwaru podle výše uvedené konfigurace a výsledné soubory. Jak vidíme, LB3.exe je hlavní soubor. Toto je artefakt, který bude doručen oběti. Tvůrce také generuje LB3Decryptor.exe pro obnovu souborů a také několik různých variant hlavního souboru. Například LB3_pass.exe je heslem chráněná verze ransomwaru, zatímco reflexní DLL lze použít k obejití standardního zavaděče operačního systému a vložení malwaru přímo do paměti. Soubory TXT obsahují pokyny, jak spustit soubory chráněné heslem.
Když jsme provedli toto vlastní sestavení na virtuálním počítači, provedlo své škodlivé aktivity a vygenerovalo vlastní soubory s poznámkami o výkupném. Ve scénářích ze skutečného života bude poznámka obsahovat podrobnosti o tom, jak by oběť měla kontaktovat útočníky, aby získala dešifrovací nástroj. Stojí za zmínku, že vyjednávání s útočníky a zaplacení výkupného by nemělo být volbou. Kromě souvisejících etických problémů existuje pochybnost, zda bude někdy poskytnut nástroj pro obnovu souborů.
Když jsme však sami vygenerovali vzorek ransomwaru a odpovídající dešifrovací nástroj v kontrolovaném laboratorním prostředí, mohli jsme otestovat, zda tento skutečně funguje. Pokusili jsme se dešifrovat naše zašifrované soubory a zjistili jsme, že pokud byl k dispozici dešifrovací nástroj pro vzorek, byl skutečně schopen obnovit soubory, jak je znázorněno na obrázku níže.
To znamená, že musíme znovu zdůraznit, že ani správně fungující dešifrovač není zárukou, že útočníci budou hrát fér.
Nedávné odstranění LockBit a vlastní sestavení LockBit
V únoru 2024 získala mezinárodní pracovní skupina pro vymáhání práva Operation Cronos viditelnost operací LockBit poté, co skupinu srazila. Do společné akce se zapojily donucovací orgány z 10 zemí, které se zmocnily infrastruktury a převzaly kontrolu nad administračním prostředím LockBit. Několik dní po operaci však skupina ransomwaru oznámila , že je zpět v akci.
Operace zastavení šíření umožnila LEA zmocnit se infrastruktury skupiny, získat soukromé dešifrovací klíče a připravit sadu dešifrovacích nástrojů na základě seznamu ID známých obětí, který úřady získaly. Nástroj check_decryption_id zkontroluje, zda je ID výkupného povolené pro oběť na seznamu známých dešifrovacích klíčů:
Nástroj check_decrypt vyhodnocuje dešifrovatelnost: ačkoli existuje možnost, že soubory budou obnoveny, výsledek procesu závisí na více podmínkách a tento nástroj pouze kontroluje, které z těchto podmínek jsou v analyzovaných systémech splněny. Vytvoří se soubor CSV se seznamem souborů, které lze dešifrovat, a s e-mailovou adresou, na kterou se můžete obrátit pro další pokyny k obnovení souborů:
Tato sada nástrojů upoutala naši pozornost, protože jsme vyšetřovali několik případů souvisejících s hrozbou LockBit. Obvykle doporučujeme, aby si naši zákazníci uložili své zašifrované kritické soubory a počkali na příležitost k jejich dešifrování pomocí průzkumů hrozeb nebo artefaktů zabavených úřady, což je pouze otázka času. Spustili jsme ID obětí a zašifrované soubory analyzované naším týmem pomocí dešifrovacího nástroje, ale většina z nich vykazovala stejný výsledek:
Check_decrypt také potvrdil , že nebylo možné dešifrovat soubory pomocí databáze známých klíčů:
Naše analýza a předchozí výzkum potvrdily, že soubory zašifrované pomocí užitečného zatížení generovaného pomocí uniklého stavitele LockBit nebylo možné dešifrovat pomocí stávajících dešifrovacích nástrojů, v podstatě proto, že nezávislé skupiny stojící za těmito útoky nesdílely své soukromé klíče s operátorem RaaS.
Geografie uniklých útoků založených na staviteli LockBit
Vlastní sestavení LockBit vytvořená s uniklým tvůrcem byla zapojena do řady incidentů po celém světě. Tyto útoky s největší pravděpodobností nesouvisely a byly provedeny nezávislými aktéry. Uniklý stavitel byl zjevně použit konkurenty LockBit ransomwaru k zacílení na společnosti ve Společenství nezávislých států, což porušuje pravidlo skupiny číslo jedna, aby se zabránilo kompromitaci státních příslušníků SNS. To spustilo diskuzi na dark webu, kde se provozovatelé LockBit snažili vysvětlit, že s těmito útoky nemají nic společného.
V naší praxi reakce na incidenty jsme narazili na vzorky ransomwaru vytvořené s pomocí uniklého tvůrce při incidentech v Rusku, Itálii, Guineji-Bissau a Chile. Přestože builder poskytuje řadu možností přizpůsobení, jak jsme si ukázali výše, většina útoků používala výchozí nebo mírně upravenou konfiguraci. Jeden incident však vyčníval.
Skutečný případ odezvy na incident zahrnující vlastní sestavení LockBit
V nedávné reakci na incidenty jsme čelili scénáři ransomwaru, který zahrnoval ukázku LockBit vytvořenou s uniklým tvůrcem a obsahující možnosti předstírání identity a šíření sítě, které jsme předtím neviděli. Útočníkovi se podařilo zneužít internetový server, který odhalil několik citlivých portů. Nějakým způsobem se jim podařilo získat heslo správce – domníváme se, že mohlo být uloženo v prostém textu v souboru nebo že útočník mohl použít sociální inženýrství. Poté protivník vygeneroval vlastní ransomware pomocí privilegovaného účtu, ke kterému měl přístup. Náš tým dokázal získat příslušná pole přítomná v souboru config.json , který útočník použil:
1
2
3
4
5
6
7
8
|
„impersonation“: true,
„impers_accounts“: „Administrator:************“,
„local_disks“: true,
„network_shares“: true,
„running_one“: false,
„kill_defender“: true,
„psexec_netspread“: true,
„delete_eventlogs“: true,
|
Jak vidíme, vlastní verze má schopnost vydávat se za účet správce, ovlivňovat sdílené síťové položky a snadno se šířit po síti prostřednictvím PsExec.
Navíc je nakonfigurován tak, aby na každém hostiteli běžel více než jednou. Jedním z prvních kroků, které spustitelný soubor po spuštění provede, je kontrola a vytvoření jedinečného mutexu založeného na součtu hash veřejného klíče ransomwaru ve formátu: „Global\%.8x%.8x%.8x%.8x %.8x” . Pokud je příznak running_one v konfiguraci nastaven na hodnotu true a mutex je již v operačním systému přítomen, proces se ukončí.
V našem případě konfigurace umožňovala souběžné spuštění několika instancí ransomwaru na stejném hostiteli. Toto chování v kombinaci s použitím konfiguračních příznaků pro automatické šíření sítě s vysoce privilegovanými pověřeními domény vedlo k nekontrolovanému lavinovému efektu: každý hostitel, který se nakazil, se poté začal pokoušet infikovat další hostitele v síti, včetně těch, kteří již byli infikováni. Z hlediska reakce na incident to znamená nalezení důkazů, pokud jsou k dispozici, různého původu pro stejnou hrozbu. Níže naleznete důkazy nalezené na jednom hostiteli o vytvoření vzdálené služby pomocí PsExec s ověřením dokončeným z více infikovaných hostitelů.
Ačkoli tento důkaz byl přítomen v infikovaných systémech, většina protokolů byla ransomwarem odstraněna ihned po počáteční infekci. Z tohoto důvodu nebylo možné určit, jak se útočníkovi podařilo získat přístup k serveru a k administrátorskému heslu. Protokoly vytváření vzdálené služby zůstaly, protože když malware prováděl boční pohyb v síti, generoval nové protokoly, které neodstranil a které byly užitečné při zjišťování jeho šíření po infrastruktuře.
Analýzou některých tras, které nebyly vymazány na původním postiženém serveru, jsme identifikovali komprimovaná data Gzip v toku paměti. Data byla zakódována v Base64. Po dekódování a dekompresi jsme našli důkazy o použití Cobalt Strike. Podařilo se nám identifikovat server C2, který útočník používal ke komunikaci s postiženým strojem, a tento indikátor jsme obratem odeslali zákazníkovi na černou listinu.
Zaznamenali jsme také použití skriptu SessionGopher . Tento nástroj používá WMI k extrahování uložených informací o relaci pro nástroje pro přístup ke vzdálené ploše, jako jsou WinSCP, PuTTY, FileZilla a Microsoft Remote Desktop. Toho lze dosáhnout dotazováním HKEY_USERS na uložené relace PuTTY, WinSCP a Vzdálená plocha. V režimu Důkladný může skript identifikovat soubory .ppk , .rdp a .sdtid za účelem extrahování soukromých klíčů a informací o relaci. Může být spuštěn vzdáleně pomocí volby -iL následované seznamem počítačů. Příznak -AllDomain umožňuje spuštění proti všem počítačům připojeným k AD. Jak je znázorněno na obrázku níže, skript může snadno extrahovat uložená hesla pro vzdálená připojení. Výsledky lze exportovat do souboru CSV pro pozdější použití.
Přestože je SessionGopher navržen pro shromažďování uložených přihlašovacích údajů, nebyl to nástroj, který útočníci používali k počátečnímu dumpingu přihlašovacích údajů. Místo toho využili SessionGopher ke shromažďování dalších pověření a služeb v infrastruktuře v pozdější fázi.
Jakmile jsme identifikovali domény C2 a některé další IP adresy související s útočníkem a extrahovali podrobnosti o zosobněných účtech a nástrojích implementovaných pro automatické nasazení, zákazník změnil přihlašovací údaje všech dotčených uživatelů a nakonfiguroval bezpečnostní ovládací prvky, aby zabránil spuštění PsExec, a tím zastavil infekci. . Sledování aktivit sítě a uživatelských účtů nám umožnilo identifikovat infikované systémy a izolovat je pro analýzu a obnovu.
Tento případ ukazuje zajímavou kombinaci technik používaných k získání a udržení přístupu k cílové síti, stejně jako k šifrování důležitých dat a narušení obrany. Níže jsou uvedeny TTP identifikované pro tento scénář.
Taktika | Technika | ID |
Dopad | Data zašifrována pro dopad | T1486 |
Vyhýbání se obraně, vytrvalost, eskalace privilegií, počáteční přístup | Platné účty | T1078.002 |
Přístup k pověření | Pověření z úložiště hesel | T1555 |
Laterální pohyb | Vzdálené služby | T0886 |
Objev | Zjišťování síťových služeb | T1046 |
Obranný únik | Vymazat protokoly událostí systému Windows | T1070.001 |
Obranný únik | Narušit obranu | T1562 |
Preventivní opatření proti útokům ransomwaru
Ransomwarové útoky mohou být zničující, zvláště pokud se útočníkům podaří získat vysoce privilegovaná pověření. Opatření ke zmírnění rizika takového útoku se mohou lišit v závislosti na technologii používané společností.
Existují však určité techniky agnostické infrastruktury:
- Použití robustního, správně nakonfigurovaného antimalwarového řešení, jako je Kaspersky Endpoint Security
- Implementace řízené detekce a odezvy (MDR) k proaktivnímu vyhledávání hrozeb
- Zakázání nepoužívaných služeb a portů, aby se minimalizovala plocha útoku
- Udržování všech systémů a softwaru aktuální
- Provádění pravidelných penetračních testů a skenování zranitelnosti s cílem identifikovat zranitelnosti a rychle uplatnit vhodná protiopatření
- Absolvování pravidelných školení o kybernetické bezpečnosti, aby si zaměstnanci byli vědomi kybernetických hrozeb a způsobů, jak se jim vyhnout
- Časté vytváření záloh a jejich testování
Závěr
Naše zkoumání souborů LockBit 3.0 builder ukazuje alarmující jednoduchost, s jakou mohou útočníci vytvářet přizpůsobený ransomware, jak dokazuje nedávný incident, kdy protivníci zneužili pověření správce k nasazení přizpůsobené varianty ransomwaru. To podtrhuje potřebu robustních bezpečnostních opatření schopných účinně zmírnit tento druh hrozby a také přijetí kultury kybernetické bezpečnosti mezi zaměstnanci.
Produkty Kaspersky detekují hrozbu pomocí následujících verdiktů:
- Trojan-Ransom.Win32.Lockbit.gen
- Trojan.Multi.Crypmod.gen
- Trojan-Ransom.Win32.Generic
A skript SessionGopher, jako:
- HackTool.PowerShell.Agent.l
- HackTool.PowerShell.Agent.ad
Zdroj: Kaspersky