Pesquisadores da firma de segurança web Sucuri descobriram binários modificados no servidor web de código aberto Apache. Os binários irão carregar código malicioso ou outro conteúdo web sem a interação ou consentimento do usuário. Porém, apenas os arquivos que já estavam instalados utilizando a ferramenta de administração cPanel estão comprometidos. O ESET afirma que vários servidores web podem ter sido comprometidos.
Esse ataque recebeu o nome de Linux/Cdorked.A e é muito difícil de detectar: como a ferramenta cPanel não instala o servidor web via gerenciamento de pacotes como RPM ou DEB, os mecanismos de verificação dos próprios gerenciadores de pacotes não serão de nenhuma ajuda. Os atacantes também retem o arquivo timestamp para prevenir quer o mesmo seja detectado pela sua data na listagem de diretório. A Sucuri disse que procurando pela string de caracteres open_tty oferece uma indicação clara que um binário foi manipulado. O comando:
grep -r open_tty /usr/local/apache
não retorna um resultado com binários do Apache que estejam intactos.
Detalhes da funcionalidade dos binários comprometidos do Apache foram mostrados pelos pesquisadores junto ao ESET que descreveram como o malware usa um segmento de memória compartilhado de 6 MB de tamanho, e permite acesso a leitura e escrita para todos os usuários e grupos do sistema. O malware armazena seus arquivos de configuração nesse segmento de memória. O servidor então é controlado através de requisições HTTP manipuladas que não aparecem no arquivo de log do servidor e que permite aos atacantes abrirem uma backdoor permitindo a injeção de comandos em shell.
A conexão HTTP parece estar paralisada durante esse processo em que o shell está em uso, o que oferece uma indicação de que o servidor Apache foi infectado se o administrador verificar conexões demoradas via HTTP. Adicionalmente ao backdoor, os atacantes também construíram um mecanismo que lhes permite carregar conteúdo em outras páginas web que esteja fora de cena. O ESET também informa que, sob certas condições, esse mecanismo é utilizado para redirecionar os usuários para exploits do tipo Blackhole ou páginas com conteúdo pornográfico. Entretanto, esse processo é realizado apenas uma vez por dia e para cada endereço de IP acessando o navegador.
UM servidor Apache que tenha sido infectado com o Linux/Cdorked.A não pode ser substituído facilmente porque o bit de imutabilidade no arquivo está ativo. Para efetuar a devida remoção antes que o servidor possa ser substituído por uma instalação limpa, utilize o comando:
chattr -ai /usr/local/apache/bin/httpd
O "Darkleech", um predecessor desse malware corrente, utilizava módulos do Apache especialmente modificados para carregar exploits do tipo Blackhole, ao invés de se basear em arquivos binários modificados. Acredita-se que a infecção tenha atingido milhares de servidores web pelo mundo, porém os detalhes exatos de como os mesmos foram infectados com o Linux/Cdorked.A ainda permanece um mistério.
Saiba Mais:
- Heise Online: Compromised Apache binaries load malicious code (em Inglês)