Como eles hackearam meus sites Wordpress

4

Eu tenho muitos sites wordpress hospedados em um ambiente de hospedagem compartilhada Bluehost. Recentemente, quando pesquisei um dos sites no Google, ele disse "O site pode estar comprometido".

Recebi alertas do Google Webmaster sobre um script em um dos sites do WP. Quando chequei os sites, encontrei alguns links no rodapé, mencionando "myteenmovies.net" e um outro site. As informações do Whois mostraram que eram sites russos.

Eu também encontrei alguns outros arquivos PHP com nomes estranhos, wxwz.php , xypz.php etc ... O código PHP foi criptografado com alguns eval(gununcompress(base64_decode())) como esse. Havia um outro arquivo que tinha um comentário "#Web Shell by orb".

Eu entendo que o hacker tem acesso completo ao meu servidor (com script WebShell). Todos os sites são bastante antigos (cerca de um ano), o Wordpress 2.5. As permissões são 755. Alguém pode adivinhar ou avisar, como o hacker fez o upload dos arquivos? Senhas FTP / SSH / Cpanel são bastante strongs. Alguma outra maneira?

    
por Sam Alex 16.04.2011 / 18:57

6 respostas

10

Esse é o seu problema. A maioria desses ataques é realizada por scripts automatizados que procuram vulnerabilidades conhecidas em sistemas wordpress mais antigos. Como qualquer um pode ver relatórios de erros e changelogs, não é muito difícil criar um script para explorar uma fraqueza.

A sua melhor defesa é ter sempre a sua versão wordpress e os seus temas / plugins atualizados.

Eu costumava ter esse problema com alguns dos meus blogs extintos, mas mantê-los constantemente atualizados o corrigiu.

Faça um grep em seus blogs existentes e procure por quaisquer iframes ou chamadas de método eval em seu diretório do WP. Verifique também o DB. Quando estiver tudo limpo, atualize sua versão do WP e os temas / plugins e mantenha-o atualizado.

Em seguida, acesse o webmaster do Google e, se ainda não o fez, comprove a propriedade e solicite uma revisão do seu site. O aviso deve desaparecer depois de algum tempo.

    
por 16.04.2011 / 19:02
6

Bem-vindo à realidade. Seus sites foram invadidos porque você não tomou todas as precauções. Executar versões antigas e vulneráveis do WordPress é simplesmente pedir que isso aconteça. Dado o convite que você criou, não fique surpreso quando as pessoas vierem à festa.

Sugiro que você coloque um pouco de eferv em seus sites ou pare de jogar para ser um webmaster e peça a alguém que saiba o que está fazendo para gerenciar seus sistemas e garantir que todas as medidas de segurança aceitáveis sejam implementadas, incluindo a atualização conforme necessário. Há mais em um site do que apenas lançar uma versão pré-empacotada do software, digitar algum conteúdo e sentar-se.

    
por 17.04.2011 / 00:55
4

A menos que você tenha os logs do dia que aconteceu, provavelmente não há como você saber como isso aconteceu. Existem toneladas de exploits contra versões históricas do wordpress como 2.5. Aqui estão alguns CVEs que podem ser como eles entraram:

Você mantém seus plugins atualizados? Há exploits contra eles também, que podem ser o avenida de ataque também.

Você pode passar dias observando os CVEs e explorar o código, mas a razão pela qual eles chegaram lá (presumindo que foi através do wordpress) foi através de algum bug no código. Esse bug provavelmente foi encontrado há vários anos, amplamente publicado e já corrigido. Provavelmente não há nada de especial na sua instalação do wordpress, ela provavelmente foi explorada através de alguma ferramenta automatizada que procura versões antigas do wordpress.

Você mantém seus plugins atualizados? Há exploits contra eles também, que podem ser o avenida de ataque também.

Se você quiser apenas ver como alguém pode explorar alguma versão antiga do wordpress, basta pesquisar o link .

FTP/SSH/Cpanel passwords are quite strong

Você reutiliza senhas? Sua senha de FTP é a mesma para o fórum que você talvez tenha registrado há três anos, que armazenou suas senhas em texto puro e foi hackeado? Essa é outra avenida de ataque.

    
por 16.04.2011 / 23:34
2

Esta questão é realmente antiga, mas desde que eu tenho lidado recentemente com o mesmo tipo de ataque, aqui estão algumas coisas muito básicas que você pode fazer:

  1. Edite seu arquivo php.ini para não permitir a funcionalidade base64_decode . Encontre a linha que diz disable_functions = e altere para disable_functions = eval, base64_decode, gzinflate . Muitos desses scripts usam essa função para descompactar seus arquivos e executá-los em seu servidor. Isso, pelo menos, impedirá que os arquivos sejam descompactados automaticamente.
  2. Altere o prefixo da sua tabela do wordpress. Você terá que fazer isso no banco de dados MySql, bem como no arquivo config.php . O prefixo padrão é wp_ e isso torna a adivinhação de nomes de tabelas e campos muito fácil para 90% dos blogs wordpress que existem por aí. Não é uma bala de prata nem nada, mas vai forçá-los a tentar adivinhar quais são os nomes dos seus bancos de dados, o que poderia atrasá-los o suficiente para desistir de tentar inserir coisas em seu banco de dados.
  3. Altere o nome da sua pasta de uploads. O Wordpress permite o acesso de escrita a esta pasta através do media uploader, o que torna este um lugar realmente fácil para eles fazerem upload de arquivos PHP que contenham shell scripts e é provável que você não os veja aqui. Eles não aparecerão em sua biblioteca de mídia AND e eles serão enterrados em um lugar em que você provavelmente não navegará ao usar um programa de FTP. Assim como alterar o prefixo do banco de dados padrão, se você deixar essa pasta como padrão, qualquer pessoa com alguma habilidade poderá adivinhar o caminho do arquivo para essa pasta. Também chegamos a restringir os tipos de arquivos que podem ser adicionados a essa pasta para .jpg , .gif e .png , pois o nome da pasta de uploads pode ser facilmente descoberto verificando a URL de qualquer imagem em seu blog.
  4. Obtenha um bom plugin de segurança como Wordfence . Eu fiquei muito satisfeito com isso até agora.
  5. Eu não recomendaria usuários inexperientes para isso, mas outra boa maneira de manter seus arquivos secretos é mover sua pasta de conteúdo para fora da instalação principal do wordpress (isto é, diretório de aplicativos). Ele funcionará de maneira semelhante a ter um diretório virtual, no qual as URLs do seu blog não refletem os caminhos de arquivos literais. Ao fazer isso, se eles tentarem fazer o upload para os diretórios encontrados em sua URL, eles terão erros. Há informações sobre como alterar a localização da sua pasta de conteúdo no codex aqui

Em geral, é uma boa ideia alterar todos os padrões para personalizar sua instalação o máximo possível. Há muito, muito mais que você pode fazer e eu recomendo muito ler sobre hardening wordpress e php, mas coisas simples como essa irão manter a maioria dos hackers casuais e aqueles que usam scanners de vulnerabilidade automatizados.

Saiba também que, se tivessem acesso total ao seu servidor, você teria que alterar todas as suas contas de usuário. Altere o nome da sua conta. Mude suas senhas. TODAS as suas senhas, incluindo banco de dados, FTP ... tudo o que requer validação agora está comprometido e, se eles tiverem, todo o endurecimento do mundo não significa nada.

    
por 03.01.2013 / 21:29
1

Alex, a menos que você seja um segurança em tempo integral, fazer perícia em coisas como essa é um desperdício de tempo. Rodar o WP 2.5, que tem 3 anos, está apenas pedindo para ser pwned.

Algumas regras simples:

  • Seja muito conservador em quais tipos de arquivos você permite que os usuários enviem para seu site. A melhor escolha é "nenhum".
  • Mantenha backups atuais, testados e fora do local de tudo .
  • Use / exija as senhas boas para todas as contas.
  • Mantenha seu software atualizado,
  • E, se você for o administrador de sistema, não exponha nenhum serviço que não precise (normalmente, limito-o às portas 80/443 para a Web e 22 para o SSH).
por 16.04.2011 / 20:37