Amb aquest article, comencem una sèrie de publicacions sobre programari maliciós esquivant. Els programes de pirateria que no deixen rastre d'un atac, també coneguts com a sense fitxer ("incorpori", invisible, sense fitxer), solen utilitzar PowerShell als sistemes Windows per executar de manera encoberta ordres per cercar i extreure contingut valuós. Detectar l'activitat dels pirates informàtics sense fitxers maliciosos és una tasca difícil. els antivirus i molts altres sistemes de detecció funcionen a partir de l'anàlisi de signatures. Però la bona notícia és que aquest programari existeix. Per exemple,
Quan vaig començar a aprendre sobre els pirates informàtics fantàstics,
El gran i terrible PowerShell
Ja he escrit sobre algunes d'aquestes idees abans
A més de les mostres en si, al lloc podeu veure què fan aquests programes. L'anàlisi híbrid executa programari maliciós a la seva pròpia caixa de proves i supervisa les trucades al sistema, els processos en execució i les activitats de xarxa, i extreu cadenes de text sospitoses. Per a binaris i altres executables, és a dir. on ni tan sols podeu mirar el codi real d'alt nivell, l'anàlisi híbrida decideix si el programari és maliciós o simplement sospitós en funció de la seva activitat en temps d'execució. I després d'això, la mostra ja està avaluada.
En el cas de PowerShell i altres scripts de mostra (Visual Basic, JavaScript, etc.), vaig poder veure el codi en si. Per exemple, em vaig trobar amb aquesta instància de PowerShell:
També podeu executar PowerShell codificat en base64 per evitar la detecció. Observeu l'ús de les opcions No interactives i Ocultes.
Si heu llegit les meves publicacions d'ofuscament, sabeu que l'opció -e indica que el contingut està codificat en base64. Per cert, l'anàlisi híbrida també ajuda amb això, descodificant-ho tot. Si voleu provar de descodificar base64 PowerShell (d'ara endavant - PS) vosaltres mateixos, heu d'executar aquesta ordre:
[System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($EncodedText))
aprofundir
Vaig descodificar el nostre script PS mitjançant aquest mètode, a continuació es mostra el text del programa, tot i que vaig modificar lleugerament per mi:
Tingueu en compte que l'script es va establir el 4 de setembre de 2017 i estava passant galetes de sessió.
Vaig escriure sobre aquest estil d'atac a
Per a què serveix?
Per al programari de seguretat que escaneja els registres d'esdeveniments de Windows o del tallafoc, la codificació base64 evita que es detecti la cadena de patró de text sense format "WebClient" per protegir-se d'aquesta sol·licitud web. I com que tot el programari maliciós "malvat" després es descarrega i es passa al nostre PowerShell, aquest enfocament ens permet així evadir completament la detecció. De fet, això és el que vaig pensar al principi.
Resulta que amb el registre avançat de Windows PowerShell habilitat (vegeu el meu article), podreu veure la cadena carregada al registre d'esdeveniments. Sóc com
Afegint més scripts
Els pirates informàtics amaguen intel·ligentment un atac de PowerShell a les macros de Microsoft Office escrites en Visual Basic i altres llenguatges de script. La idea és que la víctima rebi un missatge, per exemple, d'un servei d'entrega, amb un informe adjunt en format .doc. Obriu aquest document, que conté la macro, i acaba executant el mateix PowerShell maliciós.
Sovint, el propi script de Visual Basic està ofuscat de manera que evadi lliurement els antivirus i altres escàners de programari maliciós. En l'esperit de l'anterior, vaig decidir com a exercici codificar el PowerShell anterior en JavaScript. A continuació es mostren els resultats del meu treball:
JavaScript ofuscat que amaga el nostre PowerShell. Els pirates informàtics reals ho fan una o dues vegades.
Aquesta és una altra tècnica que he trobat al web: utilitzar Wscript.Shell per executar PowerShell codificat. Per cert, el mateix JavaScript ho és
En el nostre cas, l'script JS maliciós està imbricat com a fitxer .doc.js. Normalment, Windows només mostrarà el primer sufix, de manera que es mostrarà com a document de Word a la víctima.
La icona JS només es mostra a la icona de desplaçament. No en va, moltes persones obriran aquest fitxer adjunt pensant que és un document de Word.
Al meu exemple, he modificat el PowerShell anterior per descarregar l'script del meu lloc web. L'script PS eliminat només imprimeix "Evil Malware". Com podeu veure, no és gens dolent. Per descomptat, els pirates informàtics reals estan interessats a obtenir accés a un ordinador portàtil o servidor, per exemple, mitjançant una comanda de shell. Al següent article, us mostraré com fer-ho amb PowerShell Empire.
Espero que per al primer article introductori no ens aprofunditzem massa en el tema. Ara us deixaré respirar i la propera vegada començarem a analitzar exemples reals d'atacs amb programari maliciós sense fitxers sense introduccions i preparacions innecessàries.
Font: www.habr.com