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