Ensiko: um Webshell com recursos de ransomware

Ensiko é um webshell PHP com recursos de ransomware voltado para várias plataformas, tais como Linux, Windows, macOS ou qualquer outra plataforma que tenha PHP instalado. O malware tem a capacidade de controlar remotamente o sistema e aceitar comandos para realizar atividades maliciosas na máquina infectada.

Ele também pode executar comandos shell em um sistema infectado e enviar os resultados de volta ao invasor através de um shell reverso de PHP. É capaz de verificar servidores quanto à presença de outros webshells, desfigurar sites, enviar e-mails em massa, baixar arquivos remotos, divulgar informações sobre o servidor afetado, ataques de força bruta contra protocolo de transferência de arquivos (FTP), cPanel e Telnet, sobrescrever arquivos com extensões especificadas e muito mais.

Detalhes técnicos

Autenticação Webshell

O malware pode ser protegido por senha. Para autenticação, o malware exibe uma página “Não encontrado” contendo um formulário de login oculto, conforme visto nas próximas duas figuras:

Figura 1. Página “Não encontrado” e formulário de login oculto

Figura 2. Código PHP para autenticação de senha

A senha para este exemplo é “RaBiitch”, enquanto a figura a seguir mostra o tráfego de rede capturado para uma solicitação de autenticação para o painel de webshell:

Figura 3. Tráfego de rede capturado

 

Recursos Webshell

A seguir está uma lista dos recursos do Ensiko:

 

Figura 5. Lista de códigos de recursos do Ensiko

 

Análise de Ransomware

O malware usa PHP RIJNDAEL_128 com modo CBC para criptografar arquivos em um diretório de webshell e subdiretórios e anexa nomes de arquivos com a extensão “.bak”. O seguinte snippet de código demonstra esse comportamento do malware:

Figura 6. Código mostrando o comportamento de criptografia

Figura 7. Código de criptografia e descriptografia

Figura 8. Parte do Webshell com chave de ransomware

Figura 9. Registro de arquivos sendo criptografados

Figura 10. Arquivos criptografados no diretório

Figura 11. Solicitação POST para o servidor afetado

O malware também descarta um arquivo index.php e o define como a página padrão usando um arquivo .htaccess; o invasor também é notificado dessa ação por e-mail. O seguinte snippet de código mostra esse comportamento:

Figura 12. Snippet de código para a página .htaccess descartada

Figura 13. A notificação que aparece quando index.php é acessado

Figura 14. Aparência da página index.php

Figura 15. Forma codificada de index.php

Figura 16. Aparência decodificada de index.php

 

Conjunto de Ferramentas

Para realizar mais tarefas em um sistema infectado, o malware pode carregar várias ferramentas adicionais em um sistema assim. A maioria dessas ferramentas é carregada do Pastebin. O malware cria um diretório chamado tools_ensikology para armazená-las.

Figura 17. Ferramentas carregadas do Pastebin

 

Steganologer

Existe uma técnica na qual um agente malicioso oculta o código dentro dos cabeçalhos do formato de arquivo de imagem (EXIF) de um arquivo de imagem e usa uma função PHP chamada exif_read_data para extrair e executar esse código em um servidor afetado. A função steganologer identifica imagens com cabeçalhos EXIF e os rotula como um registrador. Na captura de tela a seguir, test1.jpg e test2.jpg têm cabeçalhos EXIF com código oculto e são identificados.

Figura 18. Arquivos com código oculto

Figura 19. Código para identificar arquivos com código executável oculto

 

Varredura de backdoor 

Uma varredura de backdoor verifica um determinado host remoto para a existência de um webshell de uma lista codificada.

Figuras 20 e 21. Código para encontrar outros webshells no servidor afetado

 

Varredura de servidor remoto

Como uma varredura de backdoor, a função de varredura do servidor remoto verifica o servidor remoto quanto à presença de outros webshells. No entanto, ao invés de usar uma lista codificada, ele aceita a entrada manual de arquivos a serem pesquisados:

Figuras 22 e 23. Interface e código para verificação de outros webshells

 

Mass Overwrite

A função Mass Overwrite pode reescrever/anexar o conteúdo de todos os arquivos com extensões e diretórios especificados, incluindo todos os subdiretórios de um webshell

Figuras 24 e 25. Interface do usuário e código para sobrescrever arquivos.

 

Conclusão

Ensiko é um webshell usado por um invasor que permite a administração remota, criptografia de arquivos e muitos outros recursos em um servidor da web comprometido. Um método comum para implantar o webshell é explorar vulnerabilidades de aplicações da web ou * obter acesso a um servidor já comprometido. Além disso, o Ensiko tem capacidade de ransomware para criptografar arquivos em um servidor da web infectado usando o algoritmo de criptografia RIJNDAEL. Também é capaz de verificar servidores quanto à presença de outros webshells, desfigurar sites, enviar e-mails em massa, baixar arquivos remotos, divulgar informações sobre o servidor afetado, obter acesso a bancos de dados, executar ataques de força bruta contra protocolo de transferência de arquivos (FTP) , cPanel e Telnet, sobrescrevendo arquivos com extensões especificadas e muito mais.

 

Indicadores de compromisso