domingo, julio 14, 2013

Un ejemplo de ataque driven-by-URL con La Razón (fixed)

Con la socialización masiva de los contenidos de la Web, son muchos los sitios de Internet los que brindan a sus usuarios la opción de enviar e-mails a personas con contenido del sitio gracias a la opción de “Compartir noticia”. Si este sistema no está bien implementado, los riesgos asociados a est sistema pueden ser varios, como convertirse en un servicio para hacer e-mail spoofing, caer en un RBL por ser utilizado para enviar spam o mostrar información sensible de la red interna de la organización. Todo esto está explicado en el artículo del año 2009 titulado Enviar a un "amigo", que se publicó aquí en El lado del mal.

La historia de hoy tiene que ver con el periódico La Razón y su sitio web, ya que hace unos meses se abría la siguiente ventana a la hora de “enviar una noticia a un amigo”, lo que la hacía vulnerable a los mismos problemas de seguridad que tuvo ya el New York Times en el año 2009.

Figura 1: Ventana de enviar noticia a un amigo

En primer lugar, se comprueba que tanto los campos “Remitente” como “Destinatario” necesitan una dirección de correo electrónico, pero no verifican si dicha dirección existe. Y mucho menos si la dirección de correo electrónico del remitente realmente pertenece a la persona que está enviando la noticia, por lo que se puede suplantar cualquier dirección de correo. Esto lleva a que cualquier persona haga envío de spam a otras anónimamente. Pero el verdadero problema no es ese. La URL completa que aparece en la imagen anterior es la siguiente:
http://www.larazon.es/detalle_normal?p_p_id=contenttoolsportlet_WAR_trackingportlet_INSTANCE_cN10&p_p_lifecycle=0&p_p_state=pop_up&p_p_mode=view&p_p_col_id=_118_INSTANCE_Q4Gx__column-1&p_p_col_pos=1&p_p_col_count=4&_contenttoolsportlet_WAR_trackingportlet_INSTANCE_cN10_view=send-mail&_contenttoolsportlet_WAR_trackingportlet_INSTANCE_cN10_shortURL=http://www.larazon.es/detalle_normal/noticias/1712731/montoro-el-plan-de-proveedores-estara-ligado
Para generar la ventana tipo pop-up que permite compartir la noticia, la petición se realiza por GET. Aunque la llamada realizada por el botón “Enviar” de dicho pop-up se realice por POST, es sencillo determinar los parámetros en los que se almacenan los valores correspondientes a remitente y destinatario. Para comenzar, se pueden modificar los parámetros que hay en la URL y luego enviar el correo. De forma sencilla, se localiza que la noticia que es está enviando es el último parámetro que aparece en la URL:
“_contenttoolsportlet_WAR_trackingportlet_INSTANCE_cN10_shortURL=http://www.larazon.es/detalle_normal/noticias/1712731/montoro-el-plan-de-proveedores-estara-ligado”.
De tal manera que cambiando esa dirección por otra maliciosa - como esta URL inventada que simula ser una URL maliciosa para hacer un client-side attack o distribuir malware  http://www.soyunaurlmaliciosa.com -, estaremos enviando a través de una web spam anónimamente. Aquí se puede ver un ejemplo de una supuesta URL que enviaría un mensaje automáticamente con la dirección de maliciosa en vez de utilizar la de la noticia:
http://www.larazon.es/detalle_normal?p_p_id=contenttoolsportlet_WAR_trackingportlet_INSTANCE_cN10&p_p_lifecycle=0&p_p_state=pop_up&p_p_mode=view&p_p_col_id=_118_INSTANCE_Q4Gx__column-1&p_p_col_pos=1&p_p_col_count=4&_contenttoolsportlet_WAR_trackingportlet_INSTANCE_cN10_view=send-mail&_contenttoolsportlet_WAR_trackingportlet_INSTANCE_cN10_shortURL=http://www.soyunaurlmaliciosa.com
Y que, como consecuencia, enviaría automáticamente un e-mail cuyo contenido sería malicioso a una dirección de correo suplantando para ello la identidad de otra dirección. Sin embargo, este correo no puede ser enviado si no ponemos en esa URL los parámetros de “Remitente” y “Destinatario”. Para ello, utilizamos un proxy y desviamos el tráfico hacia la herramienta Burp para así observar cuáles son los nombres que identifican a esos dos parámetros.

Basta con ejecutar “Burp”, rellenar con cualesquiera parámetros la ventana de “Compartir” y dar a “Enviar” para poder observar cuáles son los nombres de los campos pertenecientes a los diferentes campos de entrada y así poder modificarlos.

Figura 2: Ventana con parámetros rellenos.

De esta forma, se han identificado cuáles son los parámetros de “Remitente” y “Destinatario”.

Figura 3: Parámetros a modificar. Los nombres son evidentes en este caso

Si se incluyen dichos parámetros en la URL modificada, seguidos de un “=” y las direcciones de correo que deseemos, nos encontramos ante una URL por GET que envía el correo electrónico sin ningún control extra. Por lo que es realmente sencillo enviar mensajes de e-mail masivos a “víctimas” utilizando una dirección de correo falsa y distribuir una dirección maliciosa en vez de la URL de la noticia.

Figura 4: Mensaje enviado con este sistema

Para este ejemplo se usó la URL que obtenemos al compartir una noticia cualquiera, pero con varios parámetros modificados (aparecen en rojo las modificaciones):
http://www.larazon.es/detalle_normal?p_p_id=contenttoolsportlet_WAR_trackingportlet_INSTANCE_cN10&p_p_lifecycle=1&p_p_state=pop_up&p_p_mode=view&_contenttoolsportlet_WAR_trackingportlet_INSTANCE_cN10_view=send-mail&_contenttoolsportlet_WAR_trackingportlet_INSTANCE_cN10_action=send_Mail&_contenttoolsportlet_WAR_trackingportlet_INSTANCE_cN10_remitente=no.sabes.quien.soy@hotmail.com&_contenttoolsportlet_WAR_trackingportlet_INSTANCE_cN10_destinatario=direccion.de.la.victima@gmail.com&_contenttoolsportlet_WAR_trackingportlet_INSTANCE_cN10_shortURL="http://www.soyunaurlmaliciosa.com"&_contenttoolsportlet_WAR_trackingportlet_INSTANCE_cN10_articleId=&_contenttoolsportlet_WAR_trackingportlet_INSTANCE_cN10_scopeGroupId=10810
Como ya sabemos, en función de las modificaciones, las direcciones de correo usadas y otros elementos, el correo puede llegar directamente a la bandeja de spam de la víctima o aparecer en su bandeja de entrada.

Figura 6: El nuevo modo de compartir una noticia

Sirva este ejemplo para ver cómo de un atacante puede abusar de uno de estos servicios fácilmente. Los administradores del sitio han rediseñado la forma de compartir noticia, pasando de ser vulnerable a esta vulnerabilidad a estar protegida.

Autor: Beatriz Puerta

No hay comentarios:

Entrada destacada

10 maneras de sacarle el jugo a tu cuenta de @MyPublicInbox si eres un Perfil Público

Cuando doy una charla a algún amigo, conocido, o a un grupo de personas que quieren conocer MyPublicInbox , siempre se acaban sorprendiendo ...

Entradas populares