Aventuras do Elusive Malvari, Parte I

Aventuras do Elusive Malvari, Parte I

Com este artigo iniciamos uma série de publicações sobre malware evasivo. Os programas de hacking sem arquivo, também conhecidos como programas de hacking sem arquivo, normalmente usam o PowerShell em sistemas Windows para executar comandos silenciosamente para pesquisar e extrair conteúdo valioso. Detectar atividade hacker sem arquivos maliciosos é uma tarefa difícil, porque... antivírus e muitos outros sistemas de detecção funcionam com base na análise de assinaturas. Mas a boa notícia é que esse software existe. Por exemplo, Sistemas UBA, capaz de detectar atividades maliciosas em sistemas de arquivos.

Quando comecei a pesquisar o tema dos hackers durões, não usar métodos tradicionais de infecção, mas apenas as ferramentas e softwares disponíveis no computador da vítima, eu não tinha ideia de que isso logo se tornaria um método popular de ataque. Profissionais de segurança eles dizemque isso está se tornando uma tendência, e manchetes de artigos assustadores - confirmação disso. Por isso, decidi fazer uma série de publicações sobre esse tema.

O grande e poderoso PowerShell

Já escrevi sobre algumas dessas ideias antes em Série de ofuscação do PowerShell, mas mais baseado em um conceito teórico. Mais tarde me deparei site para análise híbrida, onde você pode encontrar amostras de malware “capturado” em liberdade. Decidi tentar usar este site para encontrar amostras de malware sem arquivo. E eu consegui. A propósito, se você quiser embarcar em sua própria expedição de caça a malware, precisará ser verificado por este site para que eles saibam que você está fazendo o trabalho como especialista em chapéu branco. Como blogueiro de segurança, passei sem questionar. Tenho certeza que você também pode.

Além dos próprios exemplos, no site você pode ver o que esses programas fazem. A análise híbrida executa malware em sua própria sandbox e monitora chamadas do sistema, processos em execução e atividades de rede, além de extrair sequências de texto suspeitas. Para binários e outros arquivos executáveis, ou seja, onde você não consegue sequer olhar para o código real de alto nível, a análise híbrida decide se o software é malicioso ou apenas suspeito com base em sua atividade de tempo de execução. E depois disso a amostra já está avaliada.

No caso do PowerShell e de outros scripts de amostra (Visual Basic, JavaScript, etc.), consegui ver o próprio código. Por exemplo, me deparei com esta instância do PowerShell:

Aventuras do Elusive Malvari, Parte I

Você também pode executar o PowerShell na codificação base64 para evitar a detecção. Observe o uso de parâmetros Não interativos e Ocultos.

Se você leu minhas postagens sobre ofuscação, sabe que a opção -e especifica que o conteúdo é codificado em base64. A propósito, a análise híbrida também ajuda nisso, decodificando tudo de volta. Se você quiser tentar decodificar o PowerShell base64 (doravante denominado PS), precisará executar este comando:

 [System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($EncodedText))

Vá mais fundo

Decodifiquei nosso script PS usando este método, abaixo está o texto do programa, embora ligeiramente modificado por mim:

Aventuras do Elusive Malvari, Parte I

Observe que o script estava vinculado à data de 4 de setembro de 2017 e transmitiu cookies de sessão.

Escrevi sobre esse estilo de ataque em Série de ofuscação PS, no qual o próprio script codificado em base64 é carregado ausente malware de outro site, usando o objeto WebClient da biblioteca .Net Framework para fazer o trabalho pesado.

O que ele faz?

Para software de segurança que verifica logs de eventos ou firewalls do Windows, a codificação base64 evita que a string "WebClient" seja detectada por um padrão de texto simples para proteger contra a realização de tal solicitação da Web. E como todo o “mal” do malware é baixado e passado para o nosso PowerShell, essa abordagem nos permite escapar completamente da detecção. Ou melhor, foi o que pensei a princípio.

Acontece que com o Log Avançado do Windows PowerShell habilitado (veja meu artigo), você poderá ver a linha carregada no log de eventos. Eu sou como e outros ) Acho que a Microsoft deveria habilitar esse nível de registro por padrão. Portanto, com o log estendido habilitado, veremos no log de eventos do Windows uma solicitação de download concluída de um script PS de acordo com o exemplo que discutimos acima. Portanto, faz sentido ativá-lo, não concorda?

Vamos adicionar cenários adicionais

Os hackers ocultam habilmente os ataques do PowerShell em macros do Microsoft Office escritas em Visual Basic e outras linguagens de script. A ideia é que a vítima receba uma mensagem, por exemplo de um serviço de entrega, com um relatório anexado em formato .doc. Você abre este documento que contém a macro e acaba iniciando o próprio PowerShell malicioso.

Freqüentemente, o próprio script do Visual Basic é ofuscado para escapar livremente de antivírus e outros scanners de malware. Seguindo o espírito acima, decidi codificar o PowerShell acima em JavaScript como um exercício. Abaixo estão os resultados do meu trabalho:

Aventuras do Elusive Malvari, Parte I

JavaScript ofuscado escondendo nosso PowerShell. Hackers reais fazem isso uma ou duas vezes.

Esta é outra técnica que vi circulando pela web: usar Wscript.Shell para executar o PowerShell codificado. A propósito, o próprio JavaScript é significa entrega de malware. Muitas versões do Windows possuem Windows Script Host, que por si só pode executar JS.
No nosso caso, o script JS malicioso é incorporado como um arquivo com a extensão .doc.js. O Windows normalmente mostrará apenas o primeiro sufixo, portanto ele aparecerá para a vítima como um documento do Word.

Aventuras do Elusive Malvari, Parte I

O ícone JS aparece apenas no ícone de rolagem. Não é surpreendente que muitas pessoas abram este anexo pensando que é um documento do Word.

No meu exemplo, modifiquei o PowerShell acima para baixar o script do meu site. O script PS remoto apenas imprime "Evil Malware". Como você pode ver, ele não é nada mau. É claro que hackers reais estão interessados ​​em obter acesso a um laptop ou servidor, digamos, por meio de um shell de comando. No próximo artigo, mostrarei como fazer isso usando o PowerShell Empire.

Espero que no primeiro artigo introdutório não tenhamos nos aprofundado muito no assunto. Agora vou deixar você respirar fundo e, da próxima vez, começaremos a examinar exemplos reais de ataques usando malware sem arquivo, sem quaisquer palavras introdutórias ou preparação desnecessárias.

Fonte: habr.com

Adicionar um comentário