Con este artigo comezamos unha serie de publicacións sobre malware esquivo. Os programas de piratería sen ficheiros, tamén coñecidos como programas de piratería sen ficheiros, normalmente usan PowerShell nos sistemas Windows para executar en silencio comandos para buscar e extraer contido valioso. Detectar a actividade dos piratas informáticos sen ficheiros maliciosos é unha tarefa difícil, porque... antivirus e moitos outros sistemas de detección funcionan baseados na análise de sinaturas. Pero a boa noticia é que ese software existe. Por exemplo,
Cando comecei a investigar o tema dos hackers rudos,
O gran e poderoso PowerShell
Xa escribín sobre algunhas destas ideas antes en
Ademais das propias mostras, no sitio podes ver o que fan estes programas. A análise híbrida executa malware na súa propia caixa de probas e supervisa as chamadas do sistema, os procesos en execución e a actividade da rede, e extrae cadeas de texto sospeitosas. Para binarios e outros ficheiros executables, é dicir. onde nin sequera pode mirar o código real de alto nivel, a análise híbrida decide se o software é malicioso ou só sospeitoso en función da súa actividade de execución. E despois a mostra xa está avaliada.
No caso de PowerShell e outros scripts de mostra (Visual Basic, JavaScript, etc.), puiden ver o propio código. Por exemplo, atopeime con esta instancia de PowerShell:
Tamén pode executar PowerShell en codificación base64 para evitar a detección. Teña en conta o uso de parámetros non interactivos e ocultos.
Se liches as miñas publicacións sobre ofuscación, sabes que a opción -e especifica que o contido está codificado en base64. Por certo, a análise híbrida tamén axuda con isto ao descodificar todo. Se queres probar a decodificar base64 PowerShell (en diante PS), debes executar este comando:
[System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($EncodedText))
Cavar máis a fondo
Descodifiquei o noso script PS usando este método, a continuación está o texto do programa, aínda que levemente modificado por min:
Teña en conta que o script estivo vinculado á data do 4 de setembro de 2017 e transmitiu cookies de sesión.
Escribín sobre este estilo de ataque en
O que fai?
Para o software de seguranza que analiza os rexistros de eventos de Windows ou os cortalumes, a codificación base64 impide que a cadea "WebClient" sexa detectada por un patrón de texto simple para protexerse de facer tal solicitude web. E dado que todo o "mal" do malware é despois descargado e pasado ao noso PowerShell, este enfoque permítenos evadir completamente a detección. Ou mellor dito, iso é o que pensei nun primeiro momento.
Resulta que co rexistro avanzado de Windows PowerShell activado (consulta o meu artigo), poderás ver a liña cargada no rexistro de eventos. son como
Engademos escenarios adicionais
Os piratas informáticos ocultan intelixentemente os ataques de PowerShell en macros de Microsoft Office escritas en Visual Basic e noutras linguaxes de script. A idea é que a vítima reciba unha mensaxe, por exemplo dun servizo de reparto, cun informe adxunto en formato .doc. Abres este documento que contén a macro e acaba lanzando o propio PowerShell malicioso.
Moitas veces, o propio script de Visual Basic está ofuscado para evadir libremente antivirus e outros escáneres de malware. No espírito do anterior, decidín codificar o PowerShell anterior en JavaScript como exercicio. Abaixo amósanse os resultados do meu traballo:
JavaScript ofuscado que oculta o noso PowerShell. Os hackers reais fan isto unha ou dúas veces.
Esta é outra técnica que vin flotando pola web: usar Wscript.Shell para executar PowerShell codificado. Por certo, o propio JavaScript é
No noso caso, o script JS malicioso está incrustado como un ficheiro coa extensión .doc.js. Normalmente, Windows só mostrará o primeiro sufixo, polo que aparecerá á vítima como un documento de Word.
A icona JS só aparece na icona de desprazamento. Non é de estrañar que moita xente abra este anexo pensando que é un documento de Word.
No meu exemplo, modifiquei o PowerShell anterior para descargar o script do meu sitio web. O script remoto de PS só imprime "Evil Malware". Como podes ver, non é malvado en absoluto. Por suposto, os hackers reais están interesados en acceder a un portátil ou servidor, por exemplo, a través dun shell de comandos. No seguinte artigo mostrarei como facelo usando PowerShell Empire.
Espero que para o primeiro artigo introdutorio non nos afondemos demasiado no tema. Agora deixarei que tome aire, e a próxima vez comezaremos a mirar exemplos reais de ataques que usan malware sen ficheiros sen palabras introdutorias ou preparación innecesarias.
Fonte: www.habr.com