Um daemon SSH que rouba passwords

Quando a ESET avançou no final do ano passado com algumas previsões para o ano de 2013, Stephen Cobb referiu que seria provável o aparecimento de novas ameaças para o sistema operativo Linux.

Os últimos acontecimentos parecem dar razão a esta previsão, já que um artigo colocado pela Sucuri revela que foi descoberta uma versão do daemon SSH com uma backdoor em servidores comprometidos. Curiosamente esta backdoor é utilizada conjuntamente com o módulo de Apache malicioso Linux/Chapro.A.

backdoorO protocolo SSH, ou Secure Shell Protocol, é popular e muito utilizado para proteger os dados entre comunicações. É amplamente usado no mundo Unix para gerir servidores remotos, transferir ficheiros, entre outras funções. O daemon SSH aqui descrito, Linux/SSHDoor.A, foi desenvolvido para roubar palavras-passe e nomes de utilizador permitindo um acesso remoto ao servidor através de uma password codificada ou chave SSH.

Os parâmetros alusivos aos comportamentos escondidos estão encriptados com XOR. O objectivo é evitar uma identificação simples através de uma análise de binário para linhas suspeitas. Identificámos no total 16 linhas codificadas. A imagem abaixo revela parte do código responsável pelo comportamento malicioso.

linux-ssh-backdoor-1

O protocolo HTTP é utilizado para enviar dados roubados para um servidor remoto. A informação é, em primeiro lugar, encriptada utilizando uma chave RSA de 1024-bit armazenada no binário e posteriormente codificada com Base 64.

linux-ssh-backdoor-2

O binário que analisámos continha dois nomes de hosts para servidores utilizados para a recolha de dados: openssh.info e linuxrepository.org. Ambos os nomes foram provavelmente escolhidos para evitar o aparecimento de suspeitas por parte dos administradores dos sistemas comprometidos. Neste momento, ambos os nomes dos hosts apontam para um servidor alojado na Islândia com o IP 82.221.99.69.

Quando o daemon é iniciado, o backdoor envia o IP e porta onde o serviço está a correr e ainda o nome do host pertencente ao servidor.

linux-ssh-backdoor-3

Para além disso, quando um utilizador se liga com sucesso a um servidor comprometido, o nome de utilizador e as palavras-passe são enviadas para o servidor remoto.

linux-ssh-backdoor-4

Para além de roubar credenciais, o backdoor garante a persistência no host comprometido de duas formas distintas. Primeiro tem uma palavra-passe codificada inserida no código. Se qualquer utilizador se ligar ao sistema com esta password, obtém um controlo total do servidor comprometido.

linux-ssh-backdoor-5

Em segundo, o binário modificado também transporta uma chave SSH. Se o utilizador se ligar ao servidor com uma chave privada correspondendo à chave pública, ele tem acesso automático.

linux-ssh-backdoor-6

Através do backdoor também é possível obtermos os dados de configuração a partir do ficheiro /var/run/.options. Se este ficheiro existir, o backdoor, vai utilizar o hostname, a password do backdoor e a chave SSH armazenada no mesmo.

À semelhança do que aconteceu com o Linux/Chapro.A, é dificil perceber como este daemon SSH chegou aos servidores comprometidos, mas provavelmente aplicações desactualizadas ou palavras-passe fracas podem estar na origem do problema.

DEIXE UMA RESPOSTA

Please enter your comment!
Please enter your name here

seventeen − seventeen =