Le avventure del malware sfuggente, parte II: script VBA segreti

Le avventure del malware sfuggente, parte II: script VBA segreti

Questo articolo fa parte della serie Fileless Malware. Tutte le altre parti della serie:

Sono un fan del sito analisi ibrida (analisi ibrida, di seguito HA). Si tratta di una sorta di zoo di malware in cui è possibile osservare in sicurezza i “predatori” selvaggi da una distanza di sicurezza senza essere attaccati. HA esegue malware in ambienti sicuri, registra le chiamate di sistema, i file creati e il traffico Internet e fornisce tutti questi risultati per ogni campione analizzato. In questo modo, non dovrai sprecare tempo ed energie cercando di capire da solo il codice confuso, ma potrai capire immediatamente tutte le intenzioni degli hacker.

Gli esempi HA che hanno attirato la mia attenzione utilizzano script JavaScript codificati o Visual Basic for Applications (VBA) incorporati come macro in documenti Word o Excel e allegati a e-mail di phishing. Una volta aperte, queste macro avviano una sessione di PowerShell sul computer della vittima. Gli hacker in genere inviano un flusso di comandi codificati Base64 a PowerShell. Tutto questo viene fatto per rendere l'attacco difficile da rilevare da parte dei filtri web e dei software antivirus che rispondono a determinate parole chiave.
Fortunatamente, HA decodifica automaticamente Base64 e visualizza immediatamente tutto in un formato leggibile. In sostanza, non devi concentrarti su come funzionano questi script perché sarai in grado di vedere l'output completo del comando per i processi in esecuzione nella sezione corrispondente di HA. Vedi l'esempio qui sotto:

Le avventure del malware sfuggente, parte II: script VBA segreti

L'analisi ibrida intercetta i comandi codificati Base64 inviati a PowerShell:

Le avventure del malware sfuggente, parte II: script VBA segreti

...e poi li decodifica per te. #magicamente

В messaggio precedente Ho creato il mio contenitore JavaScript leggermente offuscato per eseguire una sessione di PowerShell. Il mio script, come molti malware basati su PowerShell, scarica quindi il seguente script PowerShell da un sito Web remoto. Poi, ad esempio, ho caricato un innocuo PS che stampava un messaggio sullo schermo. Ma i tempi stanno cambiando e ora propongo di complicare lo scenario.

PowerShell Empire e Reverse Shell

Uno degli obiettivi di questo esercizio è mostrare come (relativamente) facilmente un hacker possa aggirare le classiche difese perimetrali e gli antivirus. Se un blogger informatico senza competenze di programmazione, come me, riesce a farlo in un paio di sere creare malware non rilevabile (completamente non rilevato, FUD), immagina le capacità di un giovane hacker interessato a questo!

E se sei un fornitore di sicurezza IT, ma il tuo manager non è a conoscenza delle possibili conseguenze di queste minacce, mostragli questo articolo.

Gli hacker sognano di ottenere l'accesso diretto al laptop o al server della vittima. È molto semplice da fare: tutto ciò che un hacker deve fare è ottenere alcuni file riservati sul laptop del CEO.

In qualche modo l'ho già fatto ho scritto sul runtime di post-produzione di PowerShell Empire. Ricordiamo di cosa si tratta.

Si tratta essenzialmente di uno strumento di penetration test basato su PowerShell che, tra molte altre funzionalità, consente di eseguire facilmente una shell inversa. Puoi studiarlo più in dettaglio su Sito principale del PSE.

Facciamo un piccolo esperimento. Ho configurato un ambiente sicuro per testare il malware nel cloud di Amazon Web Services. Puoi seguire il mio esempio per mostrare in modo rapido e sicuro un esempio funzionante di questa vulnerabilità (e non essere licenziato per aver eseguito virus all'interno del perimetro aziendale).

Se avvii la console PowerShell Empire, vedrai qualcosa di simile a questo:

Le avventure del malware sfuggente, parte II: script VBA segreti

Per prima cosa avvii il processo di ascolto sul tuo computer hacker. Inserisci il comando "listener" e specifica l'indirizzo IP del tuo sistema utilizzando "set Host". Quindi avviare il processo di ascolto con il comando "esegui" (sotto). Pertanto, da parte tua, inizierai ad attendere una connessione di rete dalla shell remota:

Le avventure del malware sfuggente, parte II: script VBA segreti

Dall'altro lato, dovrai generare un codice agente inserendo il comando "launcher" (vedi sotto). Ciò genererà il codice PowerShell per l'agente remoto. Tieni presente che è codificato in Base64 e rappresenta la seconda fase del carico utile. In altre parole, il mio codice JavaScript ora farà sì che questo agente esegua PowerShell invece di stampare innocuamente testo sullo schermo e si connetterà al nostro server PSE remoto per eseguire una shell inversa.

Le avventure del malware sfuggente, parte II: script VBA segreti
La magia della conchiglia inversa. Questo comando PowerShell codificato si connetterà al mio ascoltatore e avvierà una shell remota.

Per mostrarvi questo esperimento, ho assunto il ruolo della vittima innocente e ho aperto Evil.doc, lanciando così il nostro JavaScript. Ricordi la prima parte? PowerShell è stato configurato per impedire l'apertura della finestra, in modo che la vittima non noterà nulla di insolito. Tuttavia, se apri il Task Manager di Windows, vedrai un processo di PowerShell in background che comunque non causerà alcun allarme alla maggior parte delle persone. Perché è semplicemente un normale PowerShell, non è vero?

Le avventure del malware sfuggente, parte II: script VBA segreti

Ora quando esegui Evil.doc, un processo in background nascosto si connetterà al server che esegue PowerShell Empire. Indossando il mio cappello da hacker bianco da pentester, sono tornato alla console PowerShell Empire e ora vedo un messaggio che informa che il mio agente remoto è attivo.

Le avventure del malware sfuggente, parte II: script VBA segreti

Ho quindi inserito il comando "interagisci" per aprire una shell in PSE - ed eccomi lì! In breve, una volta ho hackerato il server Taco che avevo configurato io stesso.

Le avventure del malware sfuggente, parte II: script VBA segreti

Ciò che ho appena dimostrato non richiede molto lavoro da parte tua. Puoi fare tutto questo facilmente durante la pausa pranzo per una o due ore per migliorare le tue conoscenze sulla sicurezza delle informazioni. È anche un ottimo modo per capire come gli hacker riescono ad aggirare il perimetro di sicurezza esterno e ad entrare nei tuoi sistemi.

I manager IT che pensano di aver costruito una difesa impenetrabile contro qualsiasi intrusione probabilmente lo troveranno educativo, se riesci a convincerli a stare con te abbastanza a lungo.

Torniamo alla realtà

Come mi aspettavo, un vero e proprio hack, invisibile all'utente medio, è semplicemente una variante di quanto appena descritto. Per raccogliere materiale per la prossima pubblicazione, ho iniziato a cercare un esempio su HA che funzioni allo stesso modo del mio esempio inventato. E non ho dovuto cercarlo a lungo: sul sito ci sono molte opzioni per una tecnica di attacco simile.

Il malware che alla fine ho trovato su HA era uno script VBA incorporato in un documento Word. Cioè, non ho nemmeno bisogno di falsificare l'estensione doc, questo malware è in realtà un documento Microsoft Word dall'aspetto normale. Se sei interessato, ho scelto questo campione chiamato rfq.doc.

Ho imparato subito che spesso non è possibile estrarre direttamente script VBA dannosi da un documento. Gli hacker li comprimono e li nascondono in modo che non siano visibili negli strumenti macro integrati di Word. Avrai bisogno di uno strumento speciale per rimuoverlo. Per fortuna mi sono imbattuto in uno scanner OfficeMalScanner Frank Baldovino. Grazie, Frank.

Utilizzando questo strumento, sono stato in grado di estrarre codice VBA altamente offuscato. Sembrava qualcosa del genere:

Le avventure del malware sfuggente, parte II: script VBA segreti
L'offuscamento è stato fatto da professionisti nel loro campo. Sono rimasto impressionato!

Gli aggressori sono davvero bravi a offuscare il codice, a differenza dei miei sforzi nel creare Evil.doc. Ok, nella parte successiva elimineremo i nostri debugger VBA, approfondiremo un po' questo codice e confronteremo la nostra analisi con i risultati HA.

Fonte: habr.com

Aggiungi un commento