Burlando Protetores de Links III – protetor.org

Introdução

Continuando a série de posts de como burlar protetores de links, hoje irei mostrar como burlar o protetor usado pelo http://www.protetor.org. Nada contra o pessoal desse site, mas é irritante ser obrigado a cadastrar o seu celular para baixar um arquivo protegido por eles. Fora que eles ganham dinheiro/publicidade protegendo arquivos que eles nem tiveram o trabalho em upar.

Para quem ainda não viu um link deles, veja o exemplo que será usado nesse post:

http://www.protetor.org/baixar.php?h=m4479uu333gtj:zk7axz-g0xtu?-=k:k_fjt_

Hoje iremos aprender como fazer o download do link acima sem ter que cadastrar o número do celular.

Outros posts

Para quem ainda não viu aqui no blog tem mais dois posts ensinado como burlar alguns tipos de protetores de links.

1) Burlando protetores codificados em hexadecimal

https://daemoniolabs.wordpress.com/2011/07/23/burlando-protetor-de-link-com-url-codificada-em-hex/

2) Burlando protetores codificados em base64

https://daemoniolabs.wordpress.com/2011/08/02/burlando-protetores-de-links-ii-base64/

Ferramentas

Infelizmente ainda não encontrei nenhum site que decodifique automaticamente os links do http://www.protetor.org. Como iremos ver ainda, esse tipo de link foi criptografado por substituição simples (veja referência [1]) e como parece que eu fui o primeiro a “quebrar” a criptografia deles, ainda não existe alguma ferramenta para isso.

Se você é programador web e deseja implementar o algoritmo de conversão fique à vontade e deixe o seu site nos comentários.

Linux

Quem usa linux poderá usar o sed para descriptografar os links. O código para isso se encontra a seguir.

Criptografia por substituição

Esse tipo de criptografia consiste em mapear um símbolo em outro, e no nosso caso, a troca de uma letra por outra. Esse processo é muito simples de ser feito, pois basta substituir todas as ocorrências de uma letra x por uma letra y. Quebrar esse tipo de codificação sem saber as substituições de antemão é fácil desde que você disponha de uma quantidade razoável de texto cifrado [1].

Não é objetivo desse post discutir sobre criptografia. Para saber mais, veja a referência [1].

Procurando por padrões

A criptografia por substituições sempre mapeia um símbolo x em um símbolo y e por isso fica fácil predizer determinada cifra se você conhece bem a entrada de dados.

Sabemos que um link na maioria das vezes começa com http://, isso é: 1 ‘h’, 2 ‘t’s, 1 ‘p’, 1 ‘:’ e por fim, 2 ‘/’s. Vasculhando vários links protegidos a procura de algum padrão, verifiquei que todos os links começavam com a string m4479uu. Essa string nada mais é que: 1 ‘m’, 2 ‘4’s, 1 ‘7’, 1 ‘9’ e 2 ‘u’s que bate perfeitamente com o mesmo padrão 1:2:1:1:2 da string http://.

m 4 4 7 9 u u
| | | | | | |
v v v v v v v
h t t p : / /

Buscando mais substituições

Até agora sabemos que onde aparece ‘m’ no link devemos substituir por ‘h’. Os ‘4’s viram ‘t’ e assim por diante. Para encontrar mais dessas substituições considere o texto abaixo:

m4479uu333gtj:zk7axz-g0xtu

O site que peguei essa cifra me informou que o servidor de download era o http://www.megaupload.com/. Sabendo disso fui logo mapeando as strings:

m 4 4 7 9 u u 3 3 3 g t j : z k 7 a x z - g 0 x t u
| | | | | | | | | | | | | | | | | | | | | | | | | |
v v v v v v v v v v v v v v v v v v v v v v v v v v
h t t p : / / w w w . m e g a u p l o a d . c o m /

Agora sabemos que o ‘3’ mapeia no ‘w’, o ‘g’ no ‘.’, etc.

Tabela completa de substituições

Usando uma quantidade razoável de links encriptados e substituições já conhecidas, consegui mapear as outras substituições que faltavam. Todas as substituições estão dispostas na tabela abaixo (primeira coluna é um caractere do link encriptado e a segunda é o caractere “real”).

0 c     f 2     u /
1 q     g .     v _
2 v     h x     w 0
3 w     i 8     x o
4 t     j e     y 4
5 y     k u     z a
6 r     l n     - d
7 p     m h     : g
8 3     n i     . s
9 :     o 9     _ k
a l     p f     ? ?
b 6     q 5     = =
c j     r -     / z
d 1     s 7     % %
e b     t m

Exemplo prático

Para obter o endereço real primeiro você tem que obter o link criptografado. Isso às vezes não é uma tarefa fácil, pois quando um link do http://www.protetor.org é carregado, a página muda automaticamente para http://www.protetor.org/continuar.php. O detalhe aqui é não clicar no link e sim copiá-lo com o botão direito->copiar link (no firefox).

Bem, suponha então que você tenha o link:

http://www.protetor.org/baixar.php?h=m4479uu333gtj:zk7axz-g0xtu?-=k:k_fjt_

Para obter o link real pegamos tudo após o h=:

m4479uu333gtj:zk7axz-g0xtu?-=k:k_fjt_

depois pegue cada letrinha dessa cifra e olhe na tabela acima para obter o correspondente do link original.

m 4 4 7 9 u u 3 3 3 g t j : z k 7 a x z - g 0 x t u ? - = k : k _ f j t _
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v
h t t p : / / w w w . m e g a u p l o a d . c o m / ? d = u g u k 2 e m k

Agilizando o processo no Linux

O linux dispõe de muitas ferramentas úteis para tratamento de texto, uma delas é o sed que será usado aqui fazer a tradução dos caracteres (obs: usarei o sed, mas o tr também pode ser usado.)

O comando sed para a tradução é:

sed 'y#0123456789abcdefghijklmnopqrstuvwxyz-:._?=/%#cqvwtyrp3:l6j1b2.x8eunhi9f5-7m/_0o4adgsk?=z%#'

Para usá-lo escoe via pipe o link encriptado:

echo 'm4479uu333gtj:zk7axz-g0xtu?-=k:k_fjt_' | sed 'y#0123456789abcdefghijklmnopqrstuvwxyz-:._?=/%#cqvwtyrp3:l6j1b2.x8eunhi9f5-7m/_0o4adgsk?=z%#'
http://www.megaupload.com/?d=uguk2emk

Agilizando o processo no Windows

Bem, por enquanto não há nenhum site que decodifique esse tipo de encriptação, então os usuários windows terão que fazer a tradução manualmente, por enquanto.

Conclusão

Os conceitos mostrados aqui podem ser usados para todos os outros protetores de links que codificam a url por substituição simples. Tudo que precisamos é conseguir a maior quantidade possível de texto cifrado para que o processo de engenharia reversa seja facilitado.

Referências

[1] Criptografia Basica by Dimitri Vashnov & Unsekurity Team (Acessado em: Agosto/2011)
http://www.ataliba.eti.br/sections/old-hacking/unsekurity/texto1/manual-crypto.txt

6 pensamentos sobre “Burlando Protetores de Links III – protetor.org

Deixe um comentário