Elusive Malware Adventures Partea II: Scripturi VBA ascunse

Elusive Malware Adventures Partea II: Scripturi VBA ascunse

Acest articol face parte din seria Fileless Malware. Toate celelalte părți ale seriei:

Sunt un fan al site-ului analiza hibridă (analiza hibridă, denumită în continuare HA). Acesta este un fel de grădină zoologică malware în care puteți observa în siguranță „prădătorii” sălbatici de la distanță sigură, fără a fi atacat. HA rulează malware în medii securizate, înregistrează apelurile de sistem, fișierele generate și traficul de internet și vă oferă toate aceste rezultate pentru fiecare probă pe care o analizează. Astfel, nu vă puteți pierde timpul și efortul rezolvând singur codul obscurcat, ci să înțelegeți imediat toate intențiile hackerilor.

Exemplele HA care mi-au atras atenția folosesc scripturi JavaScript codificate sau Visual Basic pentru aplicații (VBA) încorporate ca macrocomenzi în documente Word sau Excel și atașate la e-mailurile de phishing. Când sunt deschise, aceste macrocomenzi pornesc o sesiune PowerShell pe computerul victimei. Hackerii trimit de obicei un flux de comandă codificat în Base64 către PowerShell. Toate acestea sunt făcute pentru a face atacul dificil de detectat de filtrele web și software-ul antivirus care răspund la anumite cuvinte cheie.
Din fericire, HA decodifică automat Base64 și arată imediat totul într-o formă care poate fi citită. În esență, nu trebuie să vă concentrați asupra modului în care funcționează aceste scripturi, deoarece veți putea vedea rezultatul complet al comenzilor pentru rularea proceselor în secțiunea HA corespunzătoare. Vezi exemplul de mai jos:

Elusive Malware Adventures Partea II: Scripturi VBA ascunse

Analiza hibridă interceptează comenzile codificate Base64 trimise către PowerShell:

Elusive Malware Adventures Partea II: Scripturi VBA ascunse

... și apoi le decodifică pentru tine. #magic

В postarea anterioară Mi-am creat propriul container JavaScript ușor ofucat pentru a rula o sesiune PowerShell. Apoi, scriptul meu, ca o mulțime de programe malware bazate pe PowerShell, descarcă următorul script PowerShell de pe un site web la distanță. Apoi, de exemplu, am descărcat un PS inofensiv care a tipărit un mesaj pe ecran. Dar vremurile se schimbă, iar acum îmi propun să complic scenariul.

PowerShell Empire și Reverse Shell

Unul dintre scopurile acestui exercițiu este de a arăta cât de ușor este (relativ) pentru un hacker să ocolească apărările perimetrale clasice și antivirusurile. Dacă un blogger IT fără abilități de programare, ca mine, în câteva seri poate creați malware nedetectabil (complet nedetectat, FUD), imaginați-vă posibilitățile unui tânăr hacker interesat!

Și dacă sunteți o persoană de securitate IT, dar managerul dvs. nu înțelege potențialele implicații ale acestor amenințări, arătați-le acest articol.

Hackerii visează să obțină acces direct la laptopul sau serverul unei victime. Acest lucru este foarte ușor de făcut: tot ce are nevoie un hacker este să obțină câteva fișiere confidențiale de pe laptopul CEO-ului.

Cumva eu ​​deja am scris despre post-producția PowerShell Empire runtime. Să ne amintim ce este.

Este, în esență, un instrument de testare a pătrunderii bazat pe PowerShell, care, printre multe alte caracteristici, facilitează rularea unui shell invers. Îl puteți explora mai detaliat la Site-ul principal al PSE.

Hai să facem un mic experiment. Am configurat un mediu securizat pentru testarea programelor malware în cloud-ul Amazon Web Services. Puteți urma exemplul meu pentru a arăta rapid și în siguranță un exemplu funcțional al acestei vulnerabilități (și să nu fiți concediat pentru rularea de viruși în perimetrul întreprinderii).

Dacă rulați consola PowerShell Empire, veți vedea ceva de genul acesta:

Elusive Malware Adventures Partea II: Scripturi VBA ascunse

În primul rând, începeți procesul de ascultare pe mașina dvs. de hacker. Introduceți comanda „ascultător” și specificați adresa IP a sistemului dumneavoastră folosind „set Host”. Apoi porniți procesul de ascultare cu comanda „execute” (mai jos). Astfel, de partea ta, vei începe să aștepți o conexiune la rețea de la un shell la distanță:

Elusive Malware Adventures Partea II: Scripturi VBA ascunse

Pentru cealaltă parte, va trebui să generați un cod de agent introducând comanda „launcher” (vezi mai jos). Aceasta va genera codul PowerShell pentru agentul de la distanță. Rețineți că este codificat Base64 și reprezintă a doua fază a sarcinii utile. Cu alte cuvinte, codul meu JavaScript va trage acum acest agent pentru a rula PowerShell în loc să afișeze text inofensiv pe ecran și să se conecteze la serverul nostru PSE la distanță pentru a rula shell-ul invers.

Elusive Malware Adventures Partea II: Scripturi VBA ascunse
Magie inversă. Această comandă PowerShell codificată se va conecta la ascultătorul meu și va porni un shell la distanță.

Pentru a vă arăta acest experiment, mi-am asumat rolul unei victime nevinovate și am deschis Evil.doc, rulând astfel JavaScript-ul nostru. Îți amintești prima parte? PowerShell a fost configurat să nu apară, astfel încât victima nu va observa nimic ieșit din comun. Cu toate acestea, dacă deschideți Managerul de activități Windows, veți vedea un proces PowerShell de fundal, care nu va provoca nicio alarmă pentru majoritatea. Pentru că este PowerShell obișnuit, nu-i așa?

Elusive Malware Adventures Partea II: Scripturi VBA ascunse

Acum, când rulați Evil.doc, un proces de fundal ascuns se va conecta la serverul care rulează PowerShell Empire. Punându-mă pălăria albă a unui hacker-pentester, m-am întors la consola PowerShell Empire și acum văd un mesaj că agentul meu de la distanță este activ.

Elusive Malware Adventures Partea II: Scripturi VBA ascunse

Apoi am tastat comanda „interact” pentru a deschide un shell în PSE - și iată-mă! Pe scurt, am spart serverul Taco pe care l-am creat eu în urmă cu ceva timp.

Elusive Malware Adventures Partea II: Scripturi VBA ascunse

Ceea ce tocmai am demonstrat nu necesită atât de multă muncă din partea dvs. Puteți face toate acestea cu ușurință într-o pauză de prânz de una sau două ore, pentru a vă îmbunătăți cunoștințele despre securitatea informațiilor. Este, de asemenea, o modalitate excelentă de a înțelege cum hackerii ocolesc apărarea perimetrului de securitate extern și se strecoară în sistemele dvs.

Managerii IT care cred că și-au construit o apărare impenetrabilă împotriva oricărui tip de intruziune, probabil, o vor găsi, de asemenea, educațional - ei bine, dacă îi poți convinge să stea lângă tine suficient de mult, desigur.

Înapoi la realitate

După cum mă așteptam, adevăratul hack, invizibil pentru utilizatorul obișnuit, este doar o variație a ceea ce tocmai am descris. Pentru a colecta material pentru următoarea publicație, am început să caut un eșantion pe HA, care funcționează în același mod ca exemplul meu inventat. Și nu a trebuit să-l caut mult timp - există multe opțiuni pentru o astfel de tehnică de atac pe site.

Programul malware pe care l-am găsit pe HA este un script VBA care a fost încorporat într-un document Word. Adică, nici nu trebuie să falsific extensia doc, acest malware este într-adevăr cel mai obișnuit document Microsoft Word. În caz că vă întrebați, am ales acest model numit rfq.doc.

Am învățat rapid că adesea nu puteți extrage scripturi VBA rău intenționate direct dintr-un document. Hackerii le comprimă și le ascund și nu sunt vizibile în instrumentele macro încorporate ale Word. Veți avea nevoie de un instrument special pentru a-l extrage. Din fericire am dat peste un scanner Office MalScanner Frank Baldwin. Mulțumesc Frank.

Folosind acest instrument, am reușit să scot un cod VBA foarte obscurcat. Arăta cam așa:

Elusive Malware Adventures Partea II: Scripturi VBA ascunse
Ofucarea a fost făcută de profesioniști din domeniul lor. Am fost impresionat!

Atacatorii sunt foarte buni la ofuscarea codului, nu ca eforturile mele de a crea Evil.doc. Bine, în următoarea parte, vom obține depanatoarele noastre VBA, vom aprofunda puțin în acest cod și vom compara analiza noastră cu rezultatele HA.

Sursa: www.habr.com

Adauga un comentariu