O SSH é a forma abreviada de se referir ao Secure Shell, um protocolo de rede para conectar computadores e dispositivos remotamente por meio de um link de rede criptografado. Geralmente, esse protocolo é usado para gerenciar servidores Linux usando um console de modo de texto. Além disso, o SSH é a maneira mais comum para que os administradores de sistema gerenciem remotamente, na nuvem ou de forma dedicada, servidores Linux alugados.

A implementação de fato, que vem praticamente em todas as distribuições Linux, é a versão portátil do OpenSSH. Um método popular usado pelos invasores para manter a persistência em servidores Linux comprometidos é backdoorear o servidor e o cliente OpenSSH já instalado. Existem várias razões para explicar a popularidade da criação de um malware baseado no OpenSSH.

  • Não é necessário abrir uma nova Porta TCP no computador comprometido. O SSH já deve estar lá e ser facilmente acessível a partir da Internet.
  • Tanto o daemon quanto o cliente OpenSSH veem as senhas em texto simples, dando ao cibercriminoso a capacidade de roubar os dados de acesso.
  • O código fonte do OpenSSH está disponível gratuitamente, facilitando a criação de uma versão "customizada" e backdooreada.
  • O OpenSSH é projetado para dificultar a implementação de um ataque man-in-the-middle e espionar a atividade de seus usuários. Isso dificulta a detecção das atividades maliciosas do invasor.

Para combater o malware no Linux, os pesquisadores da ESET foram em busca de backdoors OpenSSH ativos, tanto conhecidos como desconhecidos. Tomamos como ponto de partida para a nossa pesquisa o conhecimento reunido em uma de nossas pesquisas anteriores: a Operação Windigo. Nesse white paper, descrevemos de forma detalhada os vários componentes do malware Windigo e como eles funcionam juntos. No núcleo estava o Ebury, um backdoor OpenSHH e um spyware projetado para roubar credenciais que havia sido instalado em dezenas de milhares de servidores Linux comprometidos em todo o mundo.

Algo que não foi originalmente discutido no documento sobre a Operação Windigo, mas é algo que os pesquisadores da ESET falaram em conferências, é como esses invasores tentam detectar outros backdoors OpenSHH antes de implementar seus próprios (Ebury). Eles usam um script em Perl que desenvolveram e que contém mais de 40 assinaturas para diferentes backdooors.

@sd = gs( 'IN: %s@ \(%s\) ', '-B 2' );
@sc = gc( 'OUT=> %s@%s \(%s\)', '-B 1' );
if ( $sd[1] =~ m|^/| or $sc[0] =~ m|^/| ) {
    print
      "mod_sshd29: '$sd[0]':'$sd[1]':'$sd[2]'\nmod_sshc29: '$sc[0]':'$sc[1]'\n";
    ssh_ls( $sd[1], $sc[0] );
}

Exemplo de assinaturas descobertas no script em Perl do Windigo para detectar backdoors OpenSSH

Quando analisamos essas assinaturas, percebemos rapidamente que não tínhamos amostras que coincidissem com a maioria dos backdoors descritos no script. A realidade é que os operadores de malware tinham mais conhecimento e visibilidade dos backdoors SSH ativos do que nós. Portanto, para enfrentar essa realidade, começamos a procurar as amostras de malware ausentes usando suas assinaturas. Isso nos ajudou a encontrar amostras anteriormente desconhecidas para o setor de segurança e relatar as descobertas de forma detalhada.

Atualmente, os pesquisadores da ESET estão publicando um artigo focado nas 21 famílias ativas de malware OpenSSH. Enquanto alguns desses backdoors já foram analisados ​​e documentados, nenhuma análise da maioria deles estava disponível até o momento. Nesse sentido, a intenção deste artigo é descrever de maneira geral como está composto o atual ecossistema de backdoors para OpenSSH. O documento é o resultado de um longo projeto de pesquisa que envolve a criação de regras e detecções, a implementação de honeypots personalizados, a classificação de amostras e a análise de diferentes famílias de malware.

Revelando o lado sombrio

Logo após a pesquisa do Windigo, traduzimos as assinaturas do script em Perl para as regras do YARA (agora disponíveis no GitHub) e as usamos para encontrar possíveis novas amostras de malware de várias fontes. Coletamos novas amostras por mais de três anos e, após filtrar os falsos positivos, obtivemos algumas centenas de binários OpenSSH trojanizados. A análise dessas amostras coletadas demonstra o uso de um conjunto de funções que são comuns em diferentes malwares. Dois deles realmente se destacam:

  • 18 das 21 famílias contam com uma funcionalidade para o roubo de credenciais que permite roubar senhas e/ou chaves usadas pelo servidor e pelo cliente OpenSSH trojanizado.
  • 17 das 21 famílias têm um modo backdoor que oferece aos invasores uma maneira sigilosa e persistente de se reconectar com o dispositivos comprometido.

Mais detalhes sobre as funções comuns desses backdoors OpenSSH estão disponíveis no white paper.

Em paralelo e com a análise das amostras coletadas, configuramos uma arquitetura honeypot personalizada (detalhada em profundidade no white paper) para ampliar nossos resultados. A ideia era fornecer (ou seja, filtrar intencionalmente) credenciais aos invasores usando técnicas de exfiltração a partir de engenharia reversa nas amostras. Isso nos permitiria observar o comportamento dos invasores após o comprometimento do servidor e, com sorte, obter as amostras mais recentes.

Combinar nossa busca passiva com as regras do YARA e a interação dos invasores com o nosso honeypot nos dá informações sobre o quão ativos estão os cibercriminosos e quais são suas habilidades.

Este gráfico resume as famílias do backdoor OpenSSH nesta pesquisa. Alguns de nossos leitores certamente pode ter reconhecido a correspondência entre os nomes com os planetas da saga Star Wars. Observe que eles não correspondem aos nomes de detecção da ESET, já que é apenas uma maneira conveniente de identificá-los em nossa pesquisa. Os nomes de detecção e vários dados dos indicadores de comprometimento são fornecidos no white paper e no nosso repositório de IoC no Github. Avaliar a complexidade de uma família pode ser subjetivo. Tentamos ser o mais objetivo possível e basear nossa classificação em vários fatores como:

  • A presença de uma técnica de exfiltração - presença de servidor C&C, protocolo de rede, criptografia no transporte ou armazenamento, etc.
  • A implementação de módulos que fornecem funções adicionais ao OpenSSH - comandos adicionais, mineração de criptomoedas, etc.
  • O uso de criptografia ou ofuscação para tornar a análise mais difícil.

Para cada família há uma descrição completa no relatório, mas a representação da galáxia ainda nos oferece algumas conclusões.

  • De acordo com o nosso conjunto de amostras, a complexidade do código é cada vez mais importante na maioria das famílias recentes.
  • Coletamos mais amostras para as famílias mais antigas e mais simples. Isso pode ser explicado pelo fato de que os mais sofisticados são mais difíceis de detectar e menos prevalentes.

Visitando alguns planetas interessantes

Alguns dos backdoors que encontramos não são particularmente novos ou interessantes do ponto de vista técnico. No entanto, existem algumas exceções que mostram que alguns invasores estão se esforçando para manter suas botnets.

Uma delas é a Kessel, que se destaca pelos seus múltiplos métodos de comunicação com o seu servidor C&C. Implementa HTTP, TCP e DNS. Além de solicitar credenciais roubadas, o servidor C&C também tem a capacidade de enviar comandos adicionais para baixar ou fazer upload de arquivos para a máquina comprometida. Todas as comunicações com o seu servidor C&C também são criptografadas. Além disso, é bastante novo: o domínio do servidor C&C foi registrado em agosto de 2018.

Kessel DNS exfiltration

Outro exemplo semelhante é o Kamino. A partir da análise das amostras, descobrimos que esta ameaça já existe há algum tempo e que evoluiu, tanto em sua técnica de ofuscação quanto em uso. Ele foi originalmente usado como parte de uma campanha de crimeware conhecida por fazer com que o malware da DarkLeech redirecionasse o tráfego, conforme documentado pelos pesquisadores da ESET em 2013.

Análises detalhadas do Chandrila e Bonadam (funcionalidade para minar criptomoedas) também são fornecidas no white paper.

Mitigação e Detecção

Como os dados que analisamos eram, na maioria das vezes, amostras de malware fora do contexto, é difícil identificar o vetor de infecção original. Nesse sentido, as técnicas poderiam incluir: o uso de credenciais roubadas, uma vez que a vítima usasse um cliente SSH comprometido, força bruta ou exploração de um serviço vulnerável exposto pelo servidor.

Qualquer um dos vetores de ataque mencionados pode ser usado em ataques futuros. Portanto, todas as boas práticas destinadas a impedir que um sistema seja comprometido devem ser seguidas:

  • Mantenha o sistema atualizado.
  • Use a autenticação baseada em certificados para SSH.
  • Desative o login remoto para o usuário administrador.
  • Use uma solução de autenticação multifator para SSH.

Os produtos da ESET detectam os backdoors OpenSSH analisados ​​como variantes Linux/SSHDoor. Além disso, as regras YARA usadas podem ajudar a classificar amostras potenciais. O artigo fornece mais detalhes sobre a validação de arquivos OpenSSH usando o gerenciador de pacotes Linux para verificar a integridade dos executáveis ​​instalados.

Conclusão

Com esta pesquisa, esperamos esclarecer algumas dúvidas sobre os backdoors OpenSHH e, consequentemente, sobre o malware para Linux em geral. Conforme observamos em toda a diversidade da complexidade do código, alguns invasores simplesmente reutilizam o código-fonte disponível, enquanto outros se esforçam para desenvolver suas próprias implementações. Além disso, a pesquisa ativa em nossa estrutura de honeypot personalizada mostra que alguns invasores ainda estão ativos e são muito cautelosos ao implantar seus backdoors.

Depois de ler o artigo, você pode achar que agora existe uma quantidade maior de malware para o Linux do que antes - que isso é uma tendência. Mas não acreditamos que isso seja necessariamente o caso: sempre houve malware para o Linux, mas devido à baixa visibilidade, ele permanece sob o radar por um período mais longo.

Ainda há muitas perguntas sem respostas, como: quão predominantes são essas famílias? Como os sistemas comprometidos são usados ​​pelos invasores? Além de roubar credenciais, eles usam técnicas adicionais para se propagar?

Os pesquisadores da ESET acreditam que os administradores de sistemas e os pesquisadores de malware podem ajudar uns aos outros na luta contra o malware direcionado para servidores. Aqueles que têm detalhes extras sobre os backdoors que descrevemos (ou que não descrevemos) ou caso tenha alguma dúvida, envie um e-mail para threatintel@eset.com.