As Aventuras dos Malvari Esquivos, Parte I



Com este artigo, começamos uma série de publicações sobre malvari indescritível. Os programas de hackers que não deixam vestígios de ataque, também conhecidos como sem arquivo, geralmente usam o PowerShell nos sistemas Windows para executar secretamente comandos para localizar e extrair conteúdo valioso. Detectar atividade de hackers 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 que podem detectar atividades maliciosas em sistemas de arquivos.

Quando comecei a estudar o tópico de hackers legais que não usavam métodos tradicionais de infecção , mas apenas ferramentas e software disponíveis no computador da vítima, não suspeitava que isso logo se tornaria um método de ataque popular. Profissionais de segurança dizem que isso está se tornando uma tendência, e títulos assustadores de artigos são uma prova disso. Por isso, decidi fazer uma série de publicações sobre esse tópico.

Grande e terrível PowerShell


Eu escrevi sobre algumas dessas idéias anteriormente na série de ofuscação do PowerShell , mas mais na teoria. Mais tarde, me deparei com um site para análise híbrida , onde você pode encontrar amostras de malvari, "capturadas" na natureza. Decidi tentar usar este site para procurar amostras de malware sem arquivo. E eu fiz isso. A propósito, se você quiser fazer sua própria expedição para procurar malware, precisará passar por uma verificação neste site para que eles saibam que você está fazendo o trabalho como especialista em chapéu branco. Como blogueiro que escreve sobre segurança, passei por isso sem questionar. Tenho certeza que você também pode.

Além das próprias amostras, você pode ver no site o que esses programas fazem. A análise híbrida lança malware em sua própria caixa de proteção e rastreia chamadas do sistema, executando processos e ações na rede e também extrai seqüências de texto suspeitas. Para arquivos binários e outros executáveis, ou seja, Onde você não pode nem olhar para o código real de alto nível, a análise híbrida decide se o software é malicioso ou simplesmente suspeito, com base em sua atividade em tempo de execução. E depois disso a amostra já é avaliada.

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



Você também pode executar o PowerShell codificado em base64 para evitar a detecção. Preste atenção ao uso de parâmetros não interativos e ocultos.


Se você ler minhas entradas de ofuscação, saberá que a opção -e indica que o conteúdo está 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 base64 PowerShell (daqui em diante - PS), precisará executar este comando:

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

Vá mais fundo


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


Observe que o rangido estava vinculado à data de 4 de setembro de 2017 e passou pelos cookies da sessão.


Escrevi sobre esse estilo de ataque na série ofuscação PS , na qual o próprio script codificado base64 baixa o malware ausente de outro site, usando o objeto WebClient da biblioteca .Net Framework para fazer todo o trabalho duro.

Para que é isso?

Para o software de segurança que verifica os logs ou firewalls de eventos do Windows, a codificação base64 impede a detecção da cadeia de caracteres WebClient por um padrão de texto simples para proteger contra uma solicitação da Web. E como todo o malware "maligno" é baixado e transferido para o PowerShell, essa abordagem permite evitar completamente a detecção. Pelo contrário, pensei assim a princípio.

Acontece que, com a inclusão do log avançado dos logs do Windows PowerShell (veja meu artigo), você pode ver a linha carregada no log de eventos. Eu (como outros ) acredito que a Microsoft deve habilitar esse nível de log por padrão. Portanto, quando o log estendido estiver ativado, veremos no log de eventos do Windows uma solicitação concluída para carregar de um script PS, de acordo com o exemplo que examinamos acima. Portanto, faz sentido ativá-lo, concorda?

Adicionar scripts adicionais


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

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


JavaScript ofuscado ocultando nosso PowerShell. Hackers de verdade fazem isso uma ou duas vezes.


Essa é outra das técnicas que encontrei na rede: usar o Wscript.Shell para executar o PowerShell codificado. A propósito, o próprio JavaScript é um meio de fornecer malware. Muitas versões do Windows possuem um host de scripts do Windows interno , que pode executar o JS.
No nosso caso, o script JS malicioso é anexado como um arquivo com a extensão .doc.js. O Windows normalmente mostra apenas o primeiro sufixo, portanto ele aparecerá para a vítima como um documento do Word.


O ícone JS é exibido apenas no ícone de rolagem. Não é de surpreender que muitas pessoas abram esse 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 simplesmente imprime Malware Mal. Como você pode ver, ele não é de todo mau. Obviamente, hackers de verdade 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 mergulhado profundamente no tópico. Agora, deixo você respirar, e da próxima vez começaremos a analisar exemplos da vida real de ataques usando malvari sem arquivo, sem palavras introdutórias e preparação extra.

Source: https://habr.com/ru/post/pt456440/


All Articles