Aventurile lui Malvari evaziv, partea I

Aventurile lui Malvari evaziv, partea I

Cu acest articol începem o serie de publicații despre malware evaziv. Programele de hacking fără fișiere, cunoscute și sub numele de programe de hacking fără fișiere, folosesc de obicei PowerShell pe sistemele Windows pentru a rula în tăcere comenzi pentru a căuta și a extrage conținut valoros. Detectarea activității hackerilor fără fișiere rău intenționate este o sarcină dificilă, deoarece... antivirusurile și multe alte sisteme de detectare funcționează pe baza analizei semnăturilor. Dar vestea bună este că un astfel de software există. De exemplu, sisteme UBA, capabil să detecteze activități rău intenționate în sistemele de fișiere.

Când am început să cercetez subiectul hackerilor răi, nefolosind metodele tradiționale de infecție, dar numai instrumentele și software-ul disponibile pe computerul victimei, nu aveam idee că aceasta va deveni în curând o metodă populară de atac. Profesionişti în securitate Spunecă aceasta devine o tendință și titluri de articole înfricoșătoare - confirmarea acestui lucru. Prin urmare, am decis să fac o serie de publicații pe această temă.

Marele și Puternicul PowerShell

Am mai scris despre unele dintre aceste idei în Seria de ofuscare PowerShell, dar mai mult bazat pe un concept teoretic. Mai târziu am dat peste site web pentru analiza hibridă, unde puteți găsi mostre de programe malware „prinse” în sălbăticie. Am decis să încerc să folosesc acest site pentru a găsi mostre de malware fără fișiere. Și am reușit. Apropo, dacă doriți să mergeți în propria expediție de vânătoare de programe malware, va trebui să fiți verificat de acest site, astfel încât să știe că faceți treaba ca specialist în pălărie albă. Ca blogger de securitate, am trecut-o fără îndoială. Sunt sigur că poți și tu.

Pe lângă mostrele în sine, pe site puteți vedea ce fac aceste programe. Analiza hibridă rulează malware în propriul sandbox și monitorizează apelurile de sistem, procesele care rulează și activitatea în rețea și extrage șiruri de text suspecte. Pentru fișiere binare și alte fișiere executabile, de ex. unde nici măcar nu poți privi codul real de nivel înalt, analiza hibridă decide dacă software-ul este rău intenționat sau doar suspect pe baza activității sale de rulare. Și după aceea eșantionul este deja evaluat.

În cazul PowerShell și al altor exemple de scripturi (Visual Basic, JavaScript etc.), am putut vedea codul în sine. De exemplu, am dat peste această instanță PowerShell:

Aventurile lui Malvari evaziv, partea I

De asemenea, puteți rula PowerShell în codificare base64 pentru a evita detectarea. Observați utilizarea parametrilor Noninteractiv și Hidden.

Dacă ați citit postările mele despre ofuscare, atunci știți că opțiunea -e specifică că conținutul este codificat în base64. Apropo, analiza hibridă ajută și la acest lucru, decodând totul înapoi. Dacă doriți să încercați dvs. să decodați base64 PowerShell (denumit în continuare PS), trebuie să rulați această comandă:

 [System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($EncodedText))

Mergi mai adânc

Am decodat scriptul nostru PS folosind această metodă, mai jos este textul programului, deși ușor modificat de mine:

Aventurile lui Malvari evaziv, partea I

Rețineți că scriptul a fost legat de data de 4 septembrie 2017 și a transmis cookie-uri de sesiune.

Am scris despre acest stil de atac în Seria de ofuscare PS, în care se încarcă scriptul codificat în base64 dispărut malware de pe alt site, folosind obiectul WebClient al bibliotecii .Net Framework pentru a face munca grea.

Ce face?

Pentru software-ul de securitate care scanează jurnalele de evenimente Windows sau paravanele de protecție, codarea în bază64 împiedică detectarea șirului „WebClient” de un model de text simplu pentru a proteja împotriva efectuării unei astfel de solicitări web. Și din moment ce tot „răul” malware-ului este apoi descărcat și trecut în PowerShell-ul nostru, această abordare ne permite astfel să evităm complet detectarea. Sau, mai degrabă, asta am crezut la început.

Se pare că, cu Windows PowerShell Advanced Logging activat (vezi articolul meu), veți putea vedea linia încărcată în jurnalul de evenimente. eu sunt ca alte ) Cred că Microsoft ar trebui să activeze acest nivel de înregistrare în mod implicit. Prin urmare, cu înregistrarea extinsă activată, vom vedea în jurnalul de evenimente Windows o solicitare de descărcare finalizată dintr-un script PS conform exemplului discutat mai sus. Prin urmare, are sens să-l activezi, nu ești de acord?

Să adăugăm scenarii suplimentare

Hackerii ascund în mod inteligent atacurile PowerShell în macrocomenzile Microsoft Office scrise în Visual Basic și în alte limbaje de scripting. Ideea este ca victima sa primeasca un mesaj, de exemplu de la un serviciu de livrare, cu un raport atasat in format .doc. Deschideți acest document care conține macrocomanda și ajunge să lanseze PowerShell rău intenționat.

Adesea, scriptul Visual Basic în sine este obscurcat, astfel încât să se sustragă în mod liber antivirus și alte scanere malware. În spiritul celor de mai sus, am decis să codific PowerShell de mai sus în JavaScript ca exercițiu. Mai jos sunt rezultatele muncii mele:

Aventurile lui Malvari evaziv, partea I

JavaScript obscurcat care ascunde PowerShell-ul nostru. Hackerii adevărați fac asta o dată sau de două ori.

Aceasta este o altă tehnică pe care am văzut-o plutind pe web: folosind Wscript.Shell pentru a rula PowerShell codificat. Apropo, JavaScript în sine este mijloace livrarea de malware. Multe versiuni de Windows au încorporat Windows Script Host, care în sine poate rula JS.
În cazul nostru, scriptul JS rău intenționat este încorporat ca fișier cu extensia .doc.js. Windows va afișa de obicei doar primul sufix, așa că va apărea victimei ca un document Word.

Aventurile lui Malvari evaziv, partea I

Pictograma JS apare numai în pictograma de defilare. Nu este surprinzător că mulți oameni vor deschide acest atașament crezând că este un document Word.

În exemplul meu, am modificat PowerShell de mai sus pentru a descărca scriptul de pe site-ul meu. Scriptul PS de la distanță imprimă doar „Evil Malware”. După cum puteți vedea, el nu este deloc rău. Desigur, adevărații hackeri sunt interesați să obțină acces la un laptop sau un server, să zicem, printr-un shell de comandă. În următorul articol, vă voi arăta cum să faceți acest lucru folosind PowerShell Empire.

Sper că pentru primul articol introductiv nu ne-am scufundat prea adânc în subiect. Acum vă voi lăsa să respirați, iar data viitoare vom începe să ne uităm la exemple reale de atacuri care utilizează programe malware fără fișiere, fără cuvinte introductive sau pregătire inutile.

Sursa: www.habr.com

Adauga un comentariu