O que é um PHP Backdoors e Web Shell e como removê-lo?
Hoje em dia, o PHP é o principal mecanismo que alimenta quase todos os CMS populares, como Prestashop, WordPress, Magento, etc. Essa linguagem de script do lado do servidor é tão popular que alimenta quase 80% dos sites na internet hoje. No entanto, sites que usam PHP também são
amplamente visados por hackers , pois um exploit pode funcionar em todos eles.
Muitas vezes, técnicas inteligentes são implantadas para trabalhar maliciosamente nos bastidores. O backdoor do shell da web PHP é um desses scripts ou programas maliciosos projetados para infectar seu site secretamente.
Temos um pouco mais de relatórios de segurança do que algumas outras linguagens por aí. Muitas dessas coisas são basicamente exploits locais, no sentido de que você tem que estar na máquina e tem que ser capaz de escrever código em PHP.De acordo com Rasmus Lerdorf, o fundador do PHP
Backdoors de shell web PHP são basicamente scripts e programas maliciosos que são projetados para executar uma variedade de ações maliciosas em seu site. Shells web simples são scripts baseados em comando. Um shell web PHP permite que invasores gerenciem a administração do seu servidor PHP remotamente. Os invasores podem acessá-lo usando uma URL na internet. Shells web mais complexos também podem acessar diretamente a memória.
Frequentemente, essas infecções ocorrem novamente mesmo após a limpeza, pois são projetadas para manter acesso persistente. A maioria dos backdoors usa várias técnicas de ofuscação para evitar a detecção. Alguns até implementam algoritmos complexos para se esconder diretamente na memória.
Há muitas maneiras de um shell web PHP residir em seu site. No entanto, alguns problemas comuns de segurança que permitem essa infecção:
- Senhas fracas ou padrão.
- Upload de arquivo PHP irrestrito.
- Codificação ruim do site PHP que permite entrada invalidada.
- Versão desatualizada do PHP.
- Configurações PHP inadequadas .
- Permissões de arquivo fracas para arquivos confidenciais.
- Relatórios de erros e divulgação de código inadequados.
O que um backdoor de shell web PHP pode fazer?
Um backdoor genérico de shell web PHP permite que invasores executem comandos no seu servidor PHP como um administrador. Às vezes, os invasores também podem tentar escalar privilégios. Usando esse shell, os invasores podem:
- Acesse qualquer tipo de dado no seu servidor.
- Pode usar seu servidor para minerar criptomoedas.
- Pode transformar seu servidor em um bot que obedece às instruções do invasor para enviar grandes quantidades de spam.
- E que venham mais coisas más!
PHP Web Shell Backdoor: Análise de código
Um backdoor de shell web PHP genérico funciona através das seguintes etapas:
O primeiro passo é inicializar as variáveis do sistema. Ao fazer isso, o web shell garante que nenhum erro seja impresso para evitar a detecção. Isso é feito criando uma x_die
função. Sempre que há um erro, mensagens sobre o problema são passadas por essa função. Essa função então usa a função die() do PHP para sair do script atual.
O próximo passo é verificar se o web shell pode executar comandos no servidor PHP. Para isso, o web shell PHP genérico verifica várias funções de execução do PHP como o
, etc. exec(), system()
Depois disso, o web shell PHP verifica as configurações do sistema e confere se elas podem ser alteradas pelo web shell. Caso as funções de configuração não estejam presentes, ele simplesmente passa uma can not config
mensagem ‘ ‘ para a função e() . x_di
Depois disso, ele também verifica o modo de segurança no servidor PHP. O modo de segurança do PHP é frequentemente implantado em servidores compartilhados. Este é um recurso que verifica se o processo que abriu um arquivo específico é executado por um usuário verificado. Caso o modo de segurança esteja habilitado, o shell da web interrompe a execução posterior.
if(x_ini_get('safe_mode')){x_die('não é possível executar: modo de segurança ativo');}
Quando todas essas condições são satisfeitas, o web shell usa o serviço Superfetch dos sistemas Windows para executar comandos.
PHP Web Shell Backdoor: Detecção e Limpeza
- Verifique se você foi infectado pelo backdoor genérico do web shell PHP observando o código-fonte de todos os seus arquivos PHP.
- Se a busca manual for difícil, use o
Grep
comando . - Use os comandos grep para pesquisar o dump do código do shell da web dentro de suas pastas por este código:
grep -r "dump of web shell" /folderToSearch/
- Usando esse método, o web shell genérico pode ser detectado. No entanto, esse método tem suas próprias limitações, pois ele pode procurar apenas por um tipo de web shell genérico.
- Para procurar outros web shells, você precisa saber o código-fonte. Para superar esse problema, você pode usar ferramentas de detecção de web shell disponíveis gratuitamente no GitHub .
- Não se esqueça de verificar os logs para quaisquer solicitações HTTP suspeitas para detectar o shell web PHP. Exclua o shell web assim que encontrá-lo.
- Caso o dump de um shell web PHP seja encontrado em algum arquivo sensível, comente e entre em contato com os especialistas para posterior remoção e análise de malware .
PHP Web Shell Backdoor: Mitigação
- Mantenha sua versão do PHP atualizada e evite servidores com versões vulneráveis
- Evite usar senhas padrão ou fracas sem qualquer critério de segurança.
- Verifique sempre se há alguma configuração incorreta no site e forneça um endurecimento geral.
- Certifique-se de que as permissões de arquivo nunca estejam definidas como 777, pois isso pode permitir que qualquer pessoa edite seus arquivos, revise suas permissões
- Certifique-se de que práticas de codificação seguras sejam seguidas ao desenvolver seu arquivo PHP.
- Faça um teste de penetração abrangente para descobrir vulnerabilidades no seu site PHP.
Conclusão
Excluir o shell da web não é apenas o suficiente para proteger seu site. Os invasores ainda podem carregar um novo shell usando a vulnerabilidade em seu site. Para um usuário comum, detectar essa vulnerabilidade pode não ser fácil. Portanto, é recomendável usar uma solução de segurança para automatizar esse processo.
Um plugin para Wordperss como Wordfence ajuda a automatizar e detecta um grande número de shells web PHP e malware com um clique. Além disso, o firewall da HostCuritiba remove automaticamente e monitora seu site e bloqueia ameaças de segurança futuras. Escolha um plano de acordo com suas necessidades e comece hoje mesmo!