Angler Exploit Kit – Opererar i framkant

Som vi lovade i ett av våra tidigare blogginlägg om exploit kits (Nuclear EK) ska vi nu ta en mer djupgående titt på Angler Exploit Kit. Angler EK är möjligen det mest sofistikerade exploit kit som för närvarande används av cyberkriminella. Det har banat väg för lösningar som andra exploit kits började använda senare, t.ex. antivirusdetektering och krypterade dropperfiler. Dessutom tenderar Angler att vara snabbast på att integrera de senaste nolldagarna, t.ex. Adobe Flash-nolldagen (CVE-2015-0311) för några veckor sedan, och det använder sig av en anmärkningsvärt unik fördunklingsmetod. Slutligen kör Angler den tappade skadlig kod från minnet, utan att någonsin behöva skriva till hårddisken. Denna unika teknik bland exploit kits gör det extremt svårt för traditionella antivirustekniker att upptäcka den eftersom de förlitar sig på att skanna filsystemet.

Medans Angler är det mest avancerade exploit kit i dagens hotbild skyddas Websense-kunder från detta hot med ACE, vår Advanced Classification Engine, i följande steg:

  • Steg 2 (Lure) – ACE har detektion för de komprometterade webbplatserna.
  • Steg 3 (omdirigering) – ACE har detektion för den injicerade koden som omdirigerar användaren till exploateringssidan.
  • Steg 4 (exploateringskit) – ACE har detektion för den skadliga koden som försöker utföra denna cyberattack.
  • Steg 5 (Dropper Files) – ACE har detektering för de binära filer som är kopplade till denna attack

Obfuskering

Anglers landningssida består av fyra grundläggande delar. För det första finns det en del synlig engelsk text som används för att få offret för exploateringskitet att tro att de har surfat till en legitim sida. För det andra har den olika deobfuskeringsrutiner för att deobfuska de faktiska skadliga skripten. Dessa skript finns inom p class-taggar och de är kodade som base64. Genom att avkoda base64-strängarna avslöjas den faktiska fördunklade koden för exploateringsutrustningen. Slutligen innehåller landningssidan flera krypterade strängar som innehåller olika webbadresser som leder till de olika exploateringarna (Flash, Silverlight, Internet Explorer) som ingår i satsen.

Exempel från Angler-landningssidan

Angler

Exploit

Deobfuscated Exploit Code

När landningssidan är deobfuscated avslöjas kodens sanna natur. Angler, precis som Nuclear och olika andra exploit kits, använder sig av en mycket grundläggande andra lagers obfuskering för att göra detektering av säkerhetsprodukter ännu svårare.

Den använder också antivirusdetektering förutom att upptäcka olika virtualiseringslösningar (VMWare, VirtualBox, Parallels) samt en proxy för webbdebuggning kallad Fiddler, som används flitigt av säkerhetsforskare. Genom att genomföra dessa åtgärder blir det mycket svårt att observera och undersöka detta exploit kit i det vilda, eftersom de flesta säkerhetsforskare ofta förlitar sig mycket på dessa verktyg.

Detektering av olika .sys- och .dll-filer som tillhör AV- och virtualiseringsmjukvara

Mjukvara

VMWare, VirtualBox, Parallels-detektering samt Fiddler web debugging proxy

Exploit

Den mest unika egenskapen hos Angler är användningen av dessa krypterade URL-sökvägar. Den använder ett enkelt transpositionsbaserat chiffer (i lekmannatermer: förvränger bokstäverna) för att kryptera och dekryptera dessa data.

Dekrypteringsrutinen är inbäddad i den fördunklade delen av exploateringsutrustningen.

Dekrypteringsrutinen som den finns i kitet

Rutin

Dekrypteringsrutinen är formaterad och kommenterad

Exploit

Vi kommer att använda ett mycket enkelt exempel för att visa hur dekrypteringen fungerar. Anta att vår chiffertext (krypterade data) är ”TEER CSURH TO PLTAOEL IX TP” och vår dekrypteringsnyckel är ”OBFUSCATE”. Angler tar bokstävernas alfabetiska ordning i nyckeln och ordnar om den krypterade texten utifrån den. Till exempel:

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

Detta ger oss bokstavsordningen i chiffertexten. Med hjälp av detta kan vi enkelt dekryptera den genom att ordna om bokstäverna.

Exempel på dekryptering

Malware

Och slutligen tas vitrymder bort från den dekrypterade strängen . Detta är naturligtvis en extremt rudimentär form av kryptering och skulle vara mycket lätt att knäcka även utan nyckeln om (som i exemplet ovan) klartexten bestod av riktiga ord. Angler använder dock mycket slumpmässiga webbadresser så denna typ av kryptering är mer än tillräcklig för att dölja dessa strängars sanna natur och de faktiska webbadresserna från olika säkerhetsprodukter.

Resten av den deobfuskerade koden följer vanliga mönster för exploateringsutrustningar: det finns olika rutiner för upptäckt av insticksmoduler och kontroll av versioner så att exploateringsutrustningen ”vet” vilken eller vilka exploateringar som ska användas på målet. Det finns också en hel del rutiner för skapande av skalkod eftersom Angler använder en skalkod i flera steg, där olika steg kodas och avkodas av de föregående stegen. Den innehåller också en hårdkodad krypterings-/avkrypteringsnyckel för dropperfilen.

Krypteringsnyckel för nyttolast

Kryptering

Multi stage Shellcode

Shellcode

Dropper

Om exploateringen lyckas släpps Anglers nyttolast på offrets system. När nyttolasten färdas genom nätverket är den fortfarande krypterad och avkrypteras senare av skalkoden i slutskedet. Denna teknik används för att göra det mycket svårt för traditionella system för upptäckt av intrång (IDS) att upptäcka den skadliga dropparen. Som vi nämnde tidigare använder Angler ”fillösa” droppers, vilket innebär att de körs direkt från minnet. Den dropper som Angler använder heter Bedep, som egentligen bara är en nedladdare – det vill säga den är inte skadlig i sig, men den används för att ladda ner och exekvera olika typer av skadlig kod.

Nyttolasten består av en kombination av skalkod och Bedep DLL. Om de första bytena i nyttolasten är ”90909090” (NOPs eller No Operations i x86-assemblering) laddas DLL:n från minnet, annars skrivs den till disken precis som en vanlig dropper-fil. Skalkoden ansvarar för att DLL:n körs från minnet.

API

Ochskalkoden löser upp API:er som kernel32.dll och wininet.dll

API

Summary

Angler Exploit Kit är utan tvekan en av de farligaste exploateringsutrustningarna som finns ute i naturen idag. Det har olika tekniker i sin arsenal för att besegra traditionella upptäcktsmetoder som:

  • Unique Obfuscation
  • Detekterar antivirus/virtualiseringsmjukvara
  • Krypterad nyttolast
  • Filfria infektioner

Det är dessutom så att Angler ofta är först med att ta till sig de senaste exploiteringsmetoderna, vilket inkluderar nolldagar från tid till annan. Anglers ständiga utveckling understryker också behovet av säkerhetslösningar som ger skydd över hela kill chain i stället för att bara fokusera på ett enda steg i den.

Lämna ett svar

Din e-postadress kommer inte publiceras.