Les aventures del programari maliciós esquivant, part II: scripts secrets de VBA

Les aventures del programari maliciós esquivant, part II: scripts secrets de VBA

Aquest article forma part de la sèrie Fileless Malware. Totes les altres parts de la sèrie:

Sóc un fan del lloc anàlisi híbrida (anàlisi híbrida, d'ara endavant HA). Es tracta d'una espècie de zoològic de programari maliciós on podeu observar amb seguretat "depredadors" salvatges des d'una distància segura sense ser atacats. HA executa programari maliciós en entorns segurs, registra les trucades del sistema, els fitxers creats i el trànsit d'Internet i us ofereix tots aquests resultats per a cada mostra que analitza. D'aquesta manera, no haureu de perdre el vostre temps i energia intentant esbrinar el codi confús vosaltres mateixos, però podeu entendre immediatament totes les intencions dels pirates informàtics.

Els exemples d'HA que em van cridar l'atenció utilitzen scripts de JavaScript codificat o Visual Basic per a aplicacions (VBA) incrustats com a macros en documents de Word o Excel i adjunts als correus electrònics de pesca. Quan s'obren, aquestes macros inicien una sessió de PowerShell a l'ordinador de la víctima. Els pirates informàtics solen enviar un flux d'ordres codificats en Base64 a PowerShell. Tot això es fa per fer que l'atac sigui difícil de detectar mitjançant filtres web i programari antivirus que responen a determinades paraules clau.
Afortunadament, HA descodifica automàticament Base64 i ho mostra tot immediatament en un format llegible. Essencialment, no us heu de centrar en com funcionen aquests scripts perquè podreu veure la sortida completa de l'ordre dels processos en execució a la secció corresponent d'HA. Vegeu l'exemple següent:

Les aventures del programari maliciós esquivant, part II: scripts secrets de VBA

L'anàlisi híbrid intercepta les ordres codificades en Base64 enviades a PowerShell:

Les aventures del programari maliciós esquivant, part II: scripts secrets de VBA

...i després els descodifica per a tu. #màgicament

В publicació anterior Vaig crear el meu propi contenidor JavaScript lleugerament ofuscat per executar una sessió de PowerShell. El meu script, com molts programari maliciós basat en PowerShell, baixa el següent script de PowerShell des d'un lloc web remot. Aleshores, com a exemple, vaig carregar un PS inofensiu que va imprimir un missatge a la pantalla. Però els temps estan canviant, i ara em proposo complicar l'escenari.

PowerShell Empire i Reverse Shell

Un dels objectius d'aquest exercici és mostrar com (relativament) fàcilment un pirata informàtic pot evitar les defenses perimetrals clàssiques i els antivirus. Si un blogger informàtic sense coneixements de programació, com jo, ho pot fer en un parell de vespres crear programari maliciós indetectable (totalment sense detectar, FUD), imagineu les capacitats d'un jove pirata informàtic interessat en això!

I si sou un proveïdor de seguretat informàtica, però el vostre responsable no és conscient de les possibles conseqüències d'aquestes amenaces, només heu de mostrar-li aquest article.

Els pirates informàtics somien amb tenir accés directe a l'ordinador portàtil o al servidor de la víctima. Això és molt senzill de fer: tot el que ha de fer un pirata informàtic és obtenir uns quants fitxers confidencials a l'ordinador portàtil del CEO.

D'alguna manera jo ja va escriure sobre el temps d'execució de postproducció de PowerShell Empire. Recordem què és.

Es tracta bàsicament d'una eina de proves de penetració basada en PowerShell que, entre moltes altres funcions, us permet executar fàcilment un shell invers. Podeu estudiar-ho amb més detall a Lloc d'inici de PSE.

Fem un petit experiment. He configurat un entorn segur de prova de programari maliciós al núvol d'Amazon Web Services. Podeu seguir el meu exemple per mostrar de manera ràpida i segura un exemple de funcionament d'aquesta vulnerabilitat (i no ser acomiadat per executar virus dins del perímetre de l'empresa).

Si inicieu la consola PowerShell Empire, veureu alguna cosa com això:

Les aventures del programari maliciós esquivant, part II: scripts secrets de VBA

Primer inicieu el procés d'escolta a l'ordinador de pirates informàtics. Introduïu l'ordre "listener" i especifiqueu l'adreça IP del vostre sistema mitjançant "set Host". A continuació, inicieu el procés d'escolta amb l'ordre "executar" (a continuació). Així, per la vostra banda, començareu a esperar una connexió de xarxa des del shell remot:

Les aventures del programari maliciós esquivant, part II: scripts secrets de VBA

Per a l'altra banda, haureu de generar un codi d'agent introduint l'ordre "launcher" (vegeu més avall). Això generarà codi de PowerShell per a l'agent remot. Tingueu en compte que està codificat en Base64 i representa la segona fase de la càrrega útil. En altres paraules, el meu codi JavaScript ara tirarà aquest agent per executar PowerShell en lloc d'imprimir text a la pantalla de manera innocua i connectar-se al nostre servidor PSE remot per executar un shell invers.

Les aventures del programari maliciós esquivant, part II: scripts secrets de VBA
La màgia de la closca inversa. Aquesta ordre codificada de PowerShell es connectarà al meu oient i llançarà un shell remot.

Per mostrar-vos aquest experiment, vaig assumir el paper de la víctima innocent i vaig obrir Evil.doc, llançant així el nostre JavaScript. Recordeu la primera part? PowerShell s'ha configurat per evitar que aparegui la seva finestra, de manera que la víctima no notarà res inusual. Tanmateix, si obriu el Gestor de tasques de Windows, veureu un procés de PowerShell de fons que de totes maneres no causarà cap alarma a la majoria de la gent. Perquè només és un PowerShell normal, no?

Les aventures del programari maliciós esquivant, part II: scripts secrets de VBA

Ara, quan executeu Evil.doc, un procés de fons ocult es connectarà al servidor que executa PowerShell Empire. Posant-me el barret blanc de pirates informàtics, vaig tornar a la consola PowerShell Empire i ara veig un missatge que el meu agent remot està actiu.

Les aventures del programari maliciós esquivant, part II: scripts secrets de VBA

Llavors vaig introduir l'ordre "interactuar" per obrir un intèrpret d'ordres a PSE, i allà estava! En resum, vaig piratejar el servidor de Taco que vaig configurar una vegada.

Les aventures del programari maliciós esquivant, part II: scripts secrets de VBA

El que acabo de demostrar no requereix tanta feina per part teva. Tot això ho podeu fer fàcilment durant la pausa per dinar durant una o dues hores per millorar els vostres coneixements sobre seguretat de la informació. També és una manera fantàstica d'entendre com els pirates informàtics estan passant per alt el vostre perímetre de seguretat extern i entren als vostres sistemes.

Els administradors de TI que pensen que han construït una defensa impenetrable contra qualsevol intrusió probablement també ho trobaran educatiu, és a dir, si els podeu convèncer perquè se sentin amb vosaltres el temps suficient.

Tornem a la realitat

Com m'esperava, un hack real, invisible per a l'usuari mitjà, és simplement una variació del que acabo de descriure. Per recollir material per a la propera publicació, vaig començar a buscar una mostra sobre HA que funcioni de la mateixa manera que el meu exemple inventat. I no vaig haver de buscar-ho durant molt de temps: hi ha moltes opcions per a una tècnica d'atac similar al lloc.

El programari maliciós que finalment vaig trobar a HA era un script VBA que estava incrustat en un document de Word. És a dir, ni tan sols necessito falsificar l'extensió del document, aquest programari maliciós és realment un document de Microsoft Word d'aspecte normal. Si esteu interessats, he escollit aquesta mostra que es diu rfq.doc.

Ràpidament vaig aprendre que sovint no podeu treure directament scripts VBA maliciosos d'un document. Els pirates informàtics els comprimeixen i amaguen perquè no siguin visibles a les eines de macro integrades de Word. Necessitareu una eina especial per eliminar-lo. Per sort em vaig trobar amb un escàner OfficeMalScanner Frank Baldwin. Gràcies, Frank.

Amb aquesta eina, vaig poder extreure un codi VBA molt ofuscat. Semblava una cosa així:

Les aventures del programari maliciós esquivant, part II: scripts secrets de VBA
L'ofuscament va ser fet per professionals del seu àmbit. Em vaig impressionar!

Els atacants són molt bons per ofuscar codi, no com els meus esforços per crear Evil.doc. D'acord, a la següent part treurem els nostres depuradors de VBA, aprofundirem una mica més en aquest codi i compararem la nostra anàlisi amb els resultats d'HA.

Font: www.habr.com

Afegeix comentari