Já tem um bom tempo que eu venho pensando em publicar este post. E como meu ânimo com a escrita técnica voltou, eu achei interessante publicar esta dica.
A algum tempo atrás acabei por administrar alguns servidores de hospedagem de sites. E como boa parte deles roda o Wordpress, e em sua maioria boa parte dos clientes nunca se preocupa com atualização, já viu né ?
Sempre apareciam problemas com alguns exploits PHP e também, os famosos PHP Shell que permitiam o uso de funções shell num diretório web, tudo via PHP.
Dá para fazer alguns ajustes nos servidores para este fim, mas … como estamos tratando de usuários e suas mágicas, problemas sempre aparecerão.
O modo mais fácil de tentar resolver este problema é logicamente rodar o clamscan diretamente nos diretórios. Caso você tenha ele instalado, atualize a base do mesmo e faça um escaneamento recursivo nos diretórios das páginas dos seus usuários.
No caso de servidores com Cpanel o padrão de arquivos de páginas é /home/usuario/public_html .
Ou seja,
nice -n 19 clamscan /home/*/public_html -r -i | grep " FOUND"
Agora para quem quiser desenvolver algum monitoramento ou coisa parecida para o seu sistema ( por exemplo, um plugin para Zabbix ou Nagios ) é só usar o comando abaixo.
Este comando, no caso está lendo o diretório corrente ( . ) .
grep ‘((eval.(base64_decode|gzinflate|$_))|$[0O]{4,}|FilesMan|GLOBALS.exit|JGF1dGhfc|IIIl|die(PHP_OS|posix_getpwuid|Array(base64_decode|document.write("\u00|sh(3(ll|11)))’ . -lroE –include=.php
Como pode ser visto o comando procura aquelas combinações comuns que sempre temos em exploits e php shells para esconder códigos que são base64_encode, gzdeflate, etc.
E caso você esteja em um servidor com o Cpanel use sempre o PATH :
/home/*/public_html/
Via DJlab