Le avventure del malware sfuggente, parte I

Le avventure del malware sfuggente, parte I

Con questo articolo iniziamo una serie di pubblicazioni sul malware sfuggente. I programmi di hacking senza file, noti anche come programmi di hacking senza file, in genere utilizzano PowerShell sui sistemi Windows per eseguire silenziosamente comandi per cercare ed estrarre contenuti preziosi. Rilevare l'attività degli hacker senza file dannosi è un compito difficile, perché... gli antivirus e molti altri sistemi di rilevamento funzionano in base all'analisi delle firme. Ma la buona notizia è che questo software esiste. Per esempio, Sistemi UBA, in grado di rilevare attività dannose nei file system.

Quando ho iniziato a fare ricerche sul tema degli hacker tosti, non utilizzando metodi tradizionali di infezione, ma solo gli strumenti e i software disponibili sul computer della vittima, non avevo idea che questo sarebbe presto diventato un metodo di attacco popolare. Professionisti della sicurezza говорятche questa sta diventando una tendenza, e titoli di articoli spaventosi - conferma di ciò. Pertanto, ho deciso di realizzare una serie di pubblicazioni su questo argomento.

Il grande e potente PowerShell

Ho già scritto di alcune di queste idee in Serie di offuscamento di PowerShell, ma più basato su un concetto teorico. Più tardi mi sono imbattuto sito web per l'analisi ibrida, dove è possibile trovare campioni di malware “catturati” in natura. Ho deciso di provare a utilizzare questo sito per trovare esempi di malware senza file. E ci sono riuscito. A proposito, se vuoi intraprendere la tua spedizione di caccia al malware, dovrai essere verificato da questo sito in modo che sappiano che stai svolgendo il lavoro come specialista del cappello bianco. Come blogger sulla sicurezza, l'ho superato senza fare domande. Sono sicuro che puoi farlo anche tu.

Oltre agli esempi stessi, sul sito puoi vedere cosa fanno questi programmi. L'analisi ibrida esegue il malware nella propria sandbox e monitora le chiamate di sistema, i processi in esecuzione e l'attività di rete ed estrae stringhe di testo sospette. Per i file binari e altri file eseguibili, ad es. laddove non è possibile nemmeno osservare il codice effettivo di alto livello, l'analisi ibrida decide se il software è dannoso o semplicemente sospetto in base alla sua attività di runtime. E dopo il campione è già valutato.

Nel caso di PowerShell e di altri script di esempio (Visual Basic, JavaScript, ecc.) ho potuto vedere il codice stesso. Ad esempio, mi sono imbattuto in questa istanza di PowerShell:

Le avventure del malware sfuggente, parte I

È anche possibile eseguire PowerShell nella codifica base64 per evitare il rilevamento. Nota l'uso dei parametri Non interattivi e Nascosti.

Se hai letto i miei post sull'offuscamento, allora sai che l'opzione -e specifica che il contenuto è codificato base64. A proposito, anche l'analisi ibrida aiuta in questo, decodificando tutto. Se vuoi provare tu stesso a decodificare base64 PowerShell (di seguito denominato PS), devi eseguire questo comando:

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

Vai più in profondità

Ho decodificato il nostro script PS utilizzando questo metodo, di seguito è riportato il testo del programma, anche se leggermente modificato da me:

Le avventure del malware sfuggente, parte I

Tieni presente che lo script era legato alla data del 4 settembre 2017 e trasmetteva cookie di sessione.

Ho scritto di questo stile di attacco in Serie di offuscamento PS, in cui viene caricato lo script con codifica base64 stesso mancante malware da un altro sito, utilizzando l'oggetto WebClient della libreria .Net Framework per eseguire il lavoro pesante.

A cosa serve?

Per il software di sicurezza che esegue la scansione dei registri eventi o dei firewall di Windows, la codifica base64 impedisce che la stringa "WebClient" venga rilevata da un modello di testo normale per evitare di effettuare tale richiesta Web. E poiché tutto il “male” del malware viene poi scaricato e trasferito nel nostro PowerShell, questo approccio ci consente di eludere completamente il rilevamento. O meglio, questo è quello che ho pensato all'inizio.

Risulta che con la registrazione avanzata di Windows PowerShell abilitata (vedi il mio articolo), sarai in grado di vedere la riga caricata nel registro eventi. sono come e altri ) Penso che Microsoft dovrebbe abilitare questo livello di registrazione per impostazione predefinita. Pertanto, con la registrazione estesa abilitata, vedremo nel registro eventi di Windows una richiesta di download completata da uno script PS secondo l'esempio discusso in precedenza. Ha quindi senso attivarlo, non sei d’accordo?

Aggiungiamo ulteriori scenari

Gli hacker nascondono abilmente gli attacchi PowerShell nelle macro di Microsoft Office scritte in Visual Basic e altri linguaggi di scripting. L'idea è che la vittima riceva un messaggio, ad esempio da un servizio di consegna, con allegata una denuncia in formato .doc. Apri questo documento che contiene la macro e finisce per avviare lo stesso PowerShell dannoso.

Spesso lo stesso script Visual Basic viene offuscato in modo da poter eludere liberamente antivirus e altri scanner di malware. Nello spirito di quanto sopra, ho deciso di codificare PowerShell di cui sopra in JavaScript come esercizio. Di seguito sono riportati i risultati del mio lavoro:

Le avventure del malware sfuggente, parte I

JavaScript offuscato che nasconde il nostro PowerShell. I veri hacker lo fanno una o due volte.

Questa è un'altra tecnica che ho visto fluttuare sul Web: utilizzare Wscript.Shell per eseguire PowerShell codificato. A proposito, JavaScript stesso lo è si intende consegna di malware. Molte versioni di Windows sono integrate Windows Script Host, che a sua volta può eseguire JS.
Nel nostro caso, lo script JS dannoso è incorporato come file con estensione .doc.js. Windows in genere mostrerà solo il primo suffisso, quindi apparirà alla vittima come un documento Word.

Le avventure del malware sfuggente, parte I

L'icona JS appare solo nell'icona di scorrimento. Non sorprende che molte persone aprano questo allegato pensando che sia un documento Word.

Nel mio esempio, ho modificato PowerShell sopra per scaricare lo script dal mio sito web. Lo script PS remoto stampa semplicemente "Evil Malware". Come puoi vedere, non è affatto malvagio. Naturalmente, i veri hacker sono interessati ad accedere a un laptop o a un server, ad esempio, tramite una shell di comandi. Nel prossimo articolo ti mostrerò come farlo utilizzando PowerShell Empire.

Spero che per il primo articolo introduttivo non abbiamo approfondito troppo l'argomento. Ora vi lascerò prendere fiato e la prossima volta inizieremo a osservare esempi reali di attacchi che utilizzano malware senza file senza alcuna parola introduttiva o preparazione non necessaria.

Fonte: habr.com

Aggiungi un commento