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,
Quando ho iniziato a fare ricerche sul tema degli hacker tosti,
Il grande e potente PowerShell
Ho già scritto di alcune di queste idee in
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:
È 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:
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
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
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:
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 è
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.
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