Hoje, notei uma alta taxa de solicitações incomum no servidor da web Apache e também um tráfego de rede de entrada bastante alto. Ao verificar a página mod_status do Apache, encontrei os URLs ofensivos como path www.server.com/www/wp-includes/js/tinymce/plugins/wpautoresize/
. E, de fato, eu encontrei vários scripts PHP hackeados (ofuscados) lá.
Também notou um processo estranho executado pelo usuário www-data:
www-data 7300 10.8 0.1 2122900 18768 ? Ssl Jul11 121:47 /usr/bin/host
A verificação /proc/7300/cmdline
revelou que, de fato, este é o /usr/bin/host
binário original . netstat -anp
mostrou que tem muitas conexões HTTP abertas, de alguma forma que o binário é abusado. debsums
confirmou que a soma de verificação binária está OK. Como o processo foi executado no usuário www-data, não tive motivos para acreditar que o próprio servidor estava comprometido.
Como esse binário é abusado?
Edição: Esta questão não é ampla "como lidar com o servidor comprometido". Antes, uma pergunta (e já uma resposta) sobre um tipo específico de abuso, como é tecnicamente feito, pois esse caso em particular é bastante criativo na maneira como funciona. Parece que isso está no ar há vários anos (tópicos e perguntas antigas de 2012) e eu o encontrei esta semana.
Respostas:
Depois de pesquisar os códigos-fonte dos scripts PHP ofendidos e pesquisar no Google ( este tópico ), encontrei uma explicação.
Isso faz parte do
system.php
código que eu encontrei:O
/usr/bin/host
envolvimento está um pouco mais avançado. Os programas usam bibliotecas (.so
arquivos) para algumas de suas funções. Os usuários podem pré-vincular (LD_PRELOAD
) alguns arquivos .so antes de iniciar um binário legítimo para alterar como ele age.Como você pode ver, esse script cria um arquivo
libworker.so
e usaLD_PRELOAD
a variável de ambiente para pré-carregá-lo; portanto, ohost
binário legítimo está fazendo algo totalmente diferente.Ele cria um
1.sh
shell script e tenta executá-lo de várias maneiras (diretamente, usando oat
comando, usando o cron). Imediatamente após isso, ele remove o script e o arquivo da biblioteca do disco, para que não seja notado.O que aconteceu em primeiro lugar foi que algum plugin vulnerável do Wordpress foi abusado e o atacante foi capaz de colocar seus arquivos em diretórios de escrita por palavras.
Mitigação significa analisar arquivos de log de acesso antigos para esse domínio e tentar encontrar
POST
solicitações para locais incomuns - por exemplo, acessar diretamente os arquivos PHP do plugin WP / Joomla é incomum. Em seguida, remova todos os arquivos PHP ofuscados encontrados, corrija as permissões de diretório, encerre oshost
processos em execução e monitore os arquivos de log para qualquer tentativa de re-hacks.EDIT: Eu tenho informações da ESET que eles já detectam essa biblioteca específica e também outras versões. As empresas de antivírus dão o nome de Roopre e parece que ele é usado como parte da botnet Mayhem .
Análise aprofundada da botnet Mayhem.
Análise aprofundada dessa exploração.
fonte