Angler Exploit Kit – Operace na hraně

Jak jsme slíbili v jednom z našich předchozích blogových příspěvků o exploit kitech (Nuclear EK), podíváme se na Angler Exploit Kit podrobněji. Angler EK je pravděpodobně nejsofistikovanější exploit kit, který v současnosti používají kyberzločinci. Je průkopníkem řešení, která ostatní exploit kity začaly používat později, jako je antivirová detekce a šifrované soubory dropper. Kromě toho má Angler tendenci nejrychleji integrovat nejnovější zero days, jako je například zero day Adobe Flash (CVE-2015-0311) z doby před několika týdny, a používá pozoruhodně unikátní obfuskaci. A konečně, Angler spouští vysazený malware z paměti, aniž by musel zapisovat na pevný disk; tato unikátní technika mezi exploit kity velmi ztěžuje jeho detekci tradičním antivirovým technologiím, které se spoléhají na skenování souborového systému.

Ačkoli je Angler nejpokročilejší exploit kit v současném prostředí hrozeb, zákazníci společnosti Websense jsou před touto hrozbou chráněni pomocí ACE, našeho pokročilého klasifikačního enginu, v následujících fázích:

  • Fáze 2 (Lure) – ACE má detekci napadených webových stránek.
  • Stupeň 3 (Přesměrování) – ACE má detekci pro injektovaný kód, který uživatele přesměruje na stránku se zneužitím.
  • Stupeň 4 (Exploit Kit) – ACE má detekci pro škodlivý kód, který se pokouší provést tento kybernetický útok.
  • Stage 5 (Dropper Files) – ACE má detekci pro binární soubory spojené s tímto útokem

Obfuskace

Útočná stránka útočníka se skládá ze čtyř základních částí. Za prvé je zde viditelný anglický text, který slouží k tomu, aby se oběť exploit kitu domnívala, že přešla na legitimní stránku. Za druhé obsahuje různé deobfuskační rutiny, které deobfukují skutečné škodlivé skripty. Tyto skripty jsou umístěny v rámci značek třídy p a jsou kódovány jako base64. Dekódování řetězců base64 odhalí skutečný obfuskovaný kód exploit kitu. A konečně vstupní stránka obsahuje několik zašifrovaných řetězců, které obsahují různé adresy URL vedoucí k různým exploitům (Flash, Silverlight, Internet Explorer) obsaženým v sadě.

Ukázky z cílové stránky Angler

Angler

Exploit

Deobfuskovaný kód exploitu

Po deobfuskování cílové stránky je odhalena skutečná povaha kódu. Angler, stejně jako Nuclear a různé další exploit kity, používá velmi základní druhou vrstvu obfuskace, aby ještě více ztížil detekci bezpečnostními produkty.

Kromě detekce různých virtualizačních řešení (VMWare, VirtualBox, Parallels) používá také antivirovou detekci a také webový ladicí proxy server Fiddler, který je hojně využíván bezpečnostními výzkumníky. Implementace těchto opatření velmi ztěžuje pozorování a zkoumání této sady exploitů ve volné přírodě, protože většina bezpečnostních výzkumníků na tyto nástroje často silně spoléhá.

Detekce různých souborů .sys a .dll, které patří k AV a virtualizačnímu softwaru

Software

Detekce VMWare, VirtualBox, Parallels a také proxy server Fiddler pro ladění webu

Exploit

Nejunikátnějším rysem Angleru je použití těchto šifrovaných cest URL. K šifrování a dešifrování těchto dat používá jednoduchou šifru založenou na transpozici (laicky řečeno: šifrování písmen).

Dešifrovací rutina je vložena do obfuskované části exploit kitu.

Dekódovací rutina, jak se nachází v sadě

Rutina

Dekódovací rutina naformátovaná a okomentovaná

Exploit

Použijeme velmi jednoduchý příklad, abychom ukázali, jak dekódování funguje. Předpokládejme, že náš šifrovaný text (zašifrovaná data) je „TEER CSURH TO PLTAOEL IX TP“ a náš dešifrovací klíč je „OBFUSCATE“. Angler udělá to, že vezme abecední pořadí písmen v klíči a na jeho základě přeuspořádá šifrový text. Například:

OBFUSCATE → 6,2,5,9,7,3,1,8,4

Tím získáme pořadí písmen v šifrovém textu. Pomocí něj jej můžeme snadno dešifrovat změnou pořadí písmen.

Příklad dešifrování

Malware

A nakonec se z dešifrovaného řetězce odstraní bílé znaky . Je zřejmé, že se jedná o extrémně primitivní formu šifrování, která by byla velmi snadno prolomitelná i bez klíče, pokud by se (jako ve výše uvedeném příkladu) otevřený text skládal ze skutečných slov. Angler však používá vysoce randomizované adresy URL, takže tento druh šifrování je více než dostatečný pro skrytí skutečné povahy těchto řetězců a skutečných cest URL před různými bezpečnostními produkty.

Zbytek deobfuskovaného kódu odpovídá obvyklým vzorům exploit kitů: jsou zde různé rutiny pro detekci zásuvných modulů a kontrolu verzí, takže exploit kit „ví“, který exploit(y) má na cíl vypálit. Je zde také poměrně málo rutin pro tvorbu shellkódu, protože Angler používá vícestupňový shellkód, kde jsou různé stupně zakódovány a dekódovány předchozími stupni. Obsahuje také pevně zakódovaný šifrovací/dešifrovací klíč pro soubor dropper.

Šifrovací klíč pro payload

Šifrování

Vícestupňový shellcode

Shellcode

Dropper

Pokud exploit uspěje, je payload Angleru vysazen v systému oběti. Při cestě po síti je užitečné zatížení stále zašifrované a později se dešifruje pomocí shellkódu v konečné fázi. Tato technika se používá ke ztížení detekce škodlivého dropperu pro tradiční systémy detekce narušení (IDS). Jak jsme již zmínili, Angler používá „bezsouborové“ droppery, což znamená, že jsou spouštěny přímo z paměti. Dropper používaný nástrojem Angler se nazývá Bedep, který je ve skutečnosti pouze downloaderem – to znamená, že sám o sobě není škodlivý, ale slouží ke stahování a spouštění různého malwaru.

Platba se skládá z kombinace shellkódu a knihovny Bedep DLL. Pokud je prvních několik bajtů payloadu „909090“ (NOP neboli No Operations v assembleru x86), DLL se načte z paměti, jinak se zapíše na disk stejně jako běžný dropper soubor. Za spuštění knihovny DLL z paměti je zodpovědný shellkód.

API

Chellkód řeší rozhraní API, jako jsou kernel32.dll a wininet.dll

API

Shrnutí

Sada Angler Exploit Kit je bezpochyby jednou z nejnebezpečnějších sad exploitů, které jsou dnes ve volné přírodě k dispozici. Ve svém arzenálu má různé techniky, které umožňují překonat tradiční metody detekce, jako například:

  • Unikátní obfuskace
  • Detekce antivirového/virtualizačního softwaru
  • Šifrovaný payload
  • Infekce bez souborů

Kromě toho Angler často jako první přebírá nejnovější exploity, mezi které čas od času patří zero days. Neustále se vyvíjející povaha Angleru také zdůrazňuje potřebu bezpečnostních řešení, která poskytují ochranu v celém řetězci útoku, místo aby se zaměřovala pouze na jednu jeho fázi

.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.