Banner 1

Mostrando entradas con la etiqueta envenenamiento. Mostrar todas las entradas
Mostrando entradas con la etiqueta envenenamiento. Mostrar todas las entradas

Envenenamiento DNS en Android: puede ser engañado a la hora de resolver dominios

0 comentarios

Roee Hay y Roi Saltzman del equipo IBM Application Security Research Group, han descubierto una vulnerabilidad en el sistema DNS de Android, que afecta a la versión 4.0.4 (Ice Cream Sandwich) y anteriores. Permite a un atacante hacer que un dominio resuelva hacia otra dirección.

La vulnerabilidad se debe a una implementación débil del sistema generador de números pseudo-aleatorios que se utilizan como identificador único de cada petición DNS. La debilidad de este sistema está ocasionada por el uso del identificador del proceso (PID) y la hora actual como semilla para generar los números aleatorios.

Sistema DNS

En el protocolo DNS (cuando trabaja sobre UDP) las peticiones DNS para resolver dominios se envían al servidor con un identificador único en los paquetes que conforman la petición. Así, a la hora de que el servidor responda, sabe a quién corresponde cada conversación.

Este identificador debe estar conformado por un valor aleatorio y el puerto UDP de destino. Para que un ataque de envenenamiento de DNS a este nivel funcione, un atacante podría enviar respuestas falsas al que intenta resolver (y hacerlo antes de que llegue la respuesta legítima del servidor real consultado).

En esta inundación de respuestas falsificaría la relación dominio-ip y podría engañar a la víctima. Tratándose de UDP (que no necesita confirmación de las dos partes como TCP) esto es posible. En cierta manera, lo que impide este ataque es precisamente ese código aleatorio que genera el cliente cuando quiere resolver. El atacante debe intentar predecir el próximo número aleatorio e inyectar respuestas que el sistema de resolución DNS no ha solicitado. Así puede engañarlo.

Si el identificador generado para cada consulta no es suficientemente aleatorio y llega a ser predicho de alguna manera, el atacante solo tiene que inundar al resolvedor de paquetes UDP con una pequeña cantidad de respuestas DNS. La que coincida será tomada en serio por el dispositivo que intenta resolver, haciéndole caso a los paquetes del atacante en vez de al servidor DNS legítimo consultado.

Si por el contrario el sistema de resolución realmente elige números aleatorios, las posibilidades del atacante son mínimas y necesitaría años para poder engañar al dispositivo. En el caso de Android, de los 32 bits posibles que pueden componer el identificador, se han visto que hasta 21 no eran realmente aleatorios, lo que facilita enormemente este ataque.

¿A qué se expone la víctima?

Este fallo podría permitir a un atacante predecir el identificador único y llevar a cabo un envenenamiento DNStradicional, enviando paquetes UDP a la víctima. En la demostración del vídeo, el ataque dura solo unos 10 minutos.

Una aplicación interesante que proponen los descubridores es la de incitar a la víctima a visitar una web del atacante. Esta, a través de JavaScript, comienza a "estimular" al sistema de resolución intentando resolver subdominios que no existen. El atacante además comienza a inyectar respuestas desde otro punto. El sistema de resolución se "confunde" y acaba creyendo que el dominio está en la IP que pertenece al atacante. Este configura el servidor web en esa IP para que robe todas las cookies de la víctima. El usuario acaba visitándola y así se podrá suplantar su usuario en cualquier página.

Han publicado un vídeo con una prueba de concepto como demostración de la vulnerabilidad, en la que se obtienen las cookies de un dominio.:


Por supuesto, para consumar totalmente estos ataques sobre páginas autenticadas con SSL, la víctima debería obviar las alertas del navegador.

La vulnerabilidad ha sido reportada y corregida por el del Android Security Team en la versión 4.1.1. En esta versión, para obtener números aleatorios se utiliza /dev/urandom que dispone de una entropía adecuada determinada por la actividad en la red.

Más información:

Weak randomness in Android’s DNS resolver (CVE-2012-2808)

Android DNS Poisoning: Randomness gone bad (CVE-2012-2808)

Android DNS Poisoning: Randomness gone bad (CVE-2012-2808)

Fuente:

Video: Ataque de envenenamiento de cookies (Cookie-Poisoning)

0 comentarios

Otra entrada interezante del blog dragon

---------------------------------------------------

El ataque de envenenamiento de cookies o mas conocido como cookie poison, consiste en modificar el contenido una cookie  con el fin  de saltar algunos mecanismos de seguridad que se basan en este método.¿ Pero que es una cookie? para todos aquellos que no tengan claro que es una cookie (no es una galleta) cito la wiki:
BQIRE Video: Ataque de 
envenenamiento de cookies (Cookie Poisoning)
Una cookie (pronunciado ['ku.ki]; literalmente galleta) es un fragmento de información que se almacena en el disco duro del visitante de una página web a través de su navegador, a petición del servidor de la página. Esta información puede ser luego recuperada por el servidor en posteriores visitas. En ocasiones también se le llama “huella”.
Con este tipo de ataque se pueden hacer cosas muy interesantes entre las cuales tenemos:
  • robo de identidad.
  • Obtener informacion no autorizada.
  • Modificar algunos datos.
  • Robar sesiones.
En el siguiente vídeo la gente de imperva nos muestra como podemos hacer efectivo una ataque de cookie poisoning usando la herramienta llamada: paros proxy la cual funciona como un proxy, permitiendo capturar las peticiones HTTP e incluso las HTTPS, De esta forma  y con un poco de malicia y suerte se pueden realizar este tipo de ataques. A continuación el vídeo demostrativo:
Mas Información:
Using Cookie Poisoning to Bypass Security Mechanisms

FUENTE:
http://www.dragonjar.org/video-ataque-de-envenamiento-de-cookies-cookie-poisoning.xhtml
Powered by Bad Robot
Helped by Blackubay