Obfuscando JavaScripts com o Metasploit

Iniciado por Fvox, 21 de Outubro , 2011, 09:00:41 AM

tópico anterior - próximo tópico

0 Membros e 1 Visitante estão vendo este tópico.

Fvox

Hi.

Neste post irei apresentar o novo método do módulo JSObfu do Metasploit.
A parte mais fácil é que agora, ao invés de receber uma hash como parâmetro, o módulo pode receber diretamente uma string.

Como exemplo, irei obfuscar uma função boba que fiz agora:

function fvox(s) {
r = 0;
len = s.length;
for(i = 0; i < len; i++)
r += s.charCodeAt(i);
return parseInt(r) * len;
}
alert(fvox('SYNYSTER'));



Vamos ver como fica? :-)




Resultado:

function BPRCZfHnCpf(RpPzsaHjymFohz){r = ('i'.length - 1);len = RpPzsaHjymFohz.length;for(i = ('qIpWyVzoHR'.length - 10); i < len; i++) r += RpPzsaHjymFohz.charCodeAt(i);return parseInt(r) * len;}alert(BPRCZfHnCpf(String.fromCharCode(0x53,0x59,0116,0x59,0x53,0x54,0x45,82)));


Claro que não existe proteção client-side, e pelo amor, não confiem nisso pra nada envolvendo login.

Também deixo claro que ele adiciona umas chamadas de funções a mais, em especial, o length. Ou seja, isso não optimiza os scripts, apenas os obfusca!


Referência: http://unsecurity.com.br/obfuscando-javascripts-com-o-metasploit/

[]'s
"Achas que estás caindo na insanidade? Mergulhe."


Reeves

ótimo tópico Fvox, muito útil!

Obrigado ;)
  °vº   NÃO USE DROGAS,
/(_)\  USE GNU/LINUX
^ ^

PH.


Fvox

Citação de: PH. online 18 de Novembro , 2011, 07:25:47 AM
é possivel desofuscar ?

Nops.
Os nomes de variáveis e métodos são totalmente randômicos. Sem contar os inteiros são trocados por strings, etc. Assim, só seria possível desofuscar um pequeno pedaço do código.

[]'s
"Achas que estás caindo na insanidade? Mergulhe."



Fvox

É bom, mas não tem a ver com ofuscação de código. =o

[]'s
"Achas que estás caindo na insanidade? Mergulhe."


PH.

ai nao vai precisar ofuscar né é javascript server side