string(14) "attribute >>>>" array(0) { }

Analizando el funcionamiento de PoisonTap. Continuación.

string(14) "attribute >>>>" array(5) { ["width"]=> int(408) ["height"]=> int(206) ["file"]=> string(30) "2016/11/HTTP-Cookie-Google.png" ["sizes"]=> array(2) { ["thumbnail"]=> array(4) { ["file"]=> string(30) "HTTP-Cookie-Google-150x150.png" ["width"]=> int(150) ["height"]=> int(150) ["mime-type"]=> string(9) "image/png" } ["medium"]=> array(4) { ["file"]=> string(30) "HTTP-Cookie-Google-300x151.png" ["width"]=> int(300) ["height"]=> int(151) ["mime-type"]=> string(9) "image/png" } } ["image_meta"]=> array(12) { ["aperture"]=> string(1) "0" ["credit"]=> string(0) "" ["camera"]=> string(0) "" ["caption"]=> string(0) "" ["created_timestamp"]=> string(1) "0" ["copyright"]=> string(0) "" ["focal_length"]=> string(1) "0" ["iso"]=> string(1) "0" ["shutter_speed"]=> string(1) "0" ["title"]=> string(0) "" ["orientation"]=> string(1) "0" ["keywords"]=> array(0) { } } } array(0) { }
news and informations automotive,business,crime,health,life,politics,science,technology,travelautomotive,business,crime,health,life,politics,science,technology,travel

En el artículo anterior empezamos el análisis de cómo funciona PoisonTap y qué pasos sigue para comprometer un equipo. Nos habíamos quedado en el momento en que PoisonTap ya ha conseguido que el sistema le reenvíe todo el tráfico que va dirigido a Internet:

http://www.franciscosepulveda.eu/2016/11/20/analizando-el-funcionamiento-de-poisontap/

Además de implementar un servidor DHCP, también tiene instalado un pequeño servidor web basado en node.js:

https://nodejs.org/en/

Y aplica DNS Spoofing a las peticiones que llegan desde la víctima. Este DNS Spoofing provoca que cualquier petición desde la víctima termine en el servidor web interno de PoisonTap. Este servidor envía a la víctima respuestas en HTML y Javascript que generan iframes ocultos para dominios que están listados entre el primer millón de páginas más visitadas en Alexa. Si lo vemos de una forma muy simple, esto tiene como objetivo que el navegador de la víctima piense que va a visitar esas páginas, enviando las cookies que probablemente tenga almacenadas. De esta forma PoisonTap consigue las cookies de usuario pudiendo almacenar decenas de miles de ellas.

http-cookie-google

Como es PoisonTap el que hace las veces de servidor web, es él quien decide qué encabezados enviar a la víctima y puede saltarse la seguridad de las X-Frame-Options.

Al capturar estas cookies, el atacante podría suplantar a la víctima para continuar sesiones que tenga abiertas en diferentes páginas sin necesidad de volver a introducir las credenciales.

Al mismo tiempo, ya que obliga a la víctima a visitar páginas usando los iframes ocultos, sustituye archivos javascript de CDNs (Content Delivery Networks) como los de Google o de jQuery por otros modificados con backdoors que permiten al atacante acceder a cualquier dominio que cargue esos archivos infectados.

¿Cómo podemos protegernos contra PoisonTap?

La protección frente a este nuevo “juguete” es una tarea conjunta entre los servidores y los usuarios.

En primer lugar, los servidores Web deberían utilizar siempre HTTPS y garantizar que el flag “Secure” está habilitado en las cookies para evitar que puedan capturarse vía HTTP. Otra medida de seguridad es utilizar Subresource Integrity para estar seguros de que los archivos Jabascript que se cargan no han sido manipulados.

https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity

Otra medida de seguridad muy importante en los servidores es aplicar HSTS, aunque aún hará falta que pase más tiempo para que esto sea algo común.

http://www.wikiwand.com/en/HTTP_Strict_Transport_Security

¿Y los usuarios? ¿Qué podemos hacer para protegernos? Bloquear el ordenador mientras no lo estamos utilizando no sirve para nada, ya que el ataque sigue siendo perfectamente posible. Desactivar los puertos USB tampoco es algo práctico y, aunque contásemos con un mecanismo simple para activarlos y desactivarlos, probablemente se nos olvidaría con frecuencia. Otra medida que podemos tomar es cerrar siempre el navegador cuando nos vamos a alejar de nuestro equipo, pero esto tampoco solemos hacerlo. Estamos en otra de esas situaciones en las que la seguridad está reñida con la comodidad para los usuarios.

Sin duda, la mejor opción es confiar en que se empiecen a utilizar de forma general protocolos seguros para sustituir a los habituales que se diseñaron sin tener en mente todos estos posibles ataques.