Hacking tutorial: Privacidad en la red

Hace unas semanas, comenzaba a hablar acerca del pentesting porque tenía pensado seguir por esta rama de la informática con una serie de post-tutoriales en los que pudieseis ver algunas de las vías de ataque más comunes hacia nuestros equipos o dispositivos.

Pues bien, quiero comenzar hoy hablando un poco del efecto miedo, que dio lugar al sector de la seguridad informática. Fue allá por la década de los 90, cuando los ordenadores comenzaron a desembarcar en miles de hogares gracias a los primeros pc’s “económicos” con sistemas UNIX.

El miedo a una tecnología desconocida para los ciudadanos inexpertos hacía que se recurriesen a los servicios técnicos de forma muy frecuente por el simple hecho de que el usuario sospechaba que sus archivos estaban infectados o corruptos. Esa preocupación por la integridad de la información no era sólo producto de la psicosis de usuarios inexpertos en el tema, puesto que los hackers ya estaban haciendo de las suyas desde mucho tiempo atrás.

Como todos sabemos, allá por 1968 el proyecto ARPANET inició su andadura en el campo militar, y desde su antes de su puesta en marcha, cuando sólo eran unos bocetos sobre el papel, ya había personas ideando cómo poder hacerse con la información bien desde un punto de acceso bien interceptándola en su trayectoria. Aquí tenemos a los primeros hackers.

Ya en 1990 nuestro venerado amigo Tim Berners-Lee desarrolló e implementó la World Wide Web sumándole a este hito lo que comentábamos antes de la llegada masiva de pc’s a los hogares, el campo de actuación actuación de estos hackers se vio incrementado de una forma brutal una vez que estos equipos comenzaron a conectarse a internet.

Por aquellos entonces, la vida del hacker era bastante sencilla, las vulnerabilidades de sistemas UNIX expuestos a la red de redes hacían que enviar un script que infectase la máquina con malware que posteriormente infectaría más máquinas. Además había un sistema simplísimo para que cada máquina no fuese reinfectada, y no era más que el propio malware contestaría con un sí o un no al intento del script de ejecutarse nuevamente, si la respuesta era afirmativa la máquina ya estaba infectada y en caso de no haber respuesta (respuesta negativa) el script se ejecutaría procediendo a la infección.

Hoy día esto no es tan simple. Podemos encontrar estadísticas mostrando que el software antivirus o antimalware existente hoy día es capaz de evitar hasta el 85% de las amenazas. Pero ese 15% restante será el que veamos en las próximas publicaciones, empezando en este post iniciándonos en la ingeniería social.

La ingeniería social, no es más que el obtener toda la información que podamos de una persona o empresa que tengamos como objetivo. La obsesión de mucha gente, las redes sociales son una fuente inagotable de información ya que nos va ofreciendo datos día a día y no sólo de nuestro target, también de su entorno, conocidos, socios, familia… Prácticamente están exponiendo su vida, de donde podremos obtener seguro que mucho más que la información que íbamos buscando.

Gracias a este método, podríamos identificar pautas de conducta, rasgos de personalidad, por poner un ejemplo, es extremadamente fácil obtener hoy día la fecha de nacimiento de una persona, y si coincide con que esa persona utiliza dicho dato como contraseña… ya os imagináis ¿no?

Existen, aparte de Google, muchas herramientas con las que obtener información mediante esta vía. Los especialistas en esto son los americanos, que tienen bases de datos de prácticamente todo lo que os imaginéis. Páginas como Intelius, aboutme, Spokeo o Findmypast son un ejemplo de que en E.E.U.U. (algunas de estas páginas extienden sus servicios a Reino Unido, Canadá, América Latina, etc…) es demasiado fácil encontrar a alguien. Para nuestro territorio podemos usar WebMii o Pipl, que nos dará un resultado bastante bueno (aunque como digo no al nivel de estos norteamericanos :S) para ver por dónde empezar. Otra función de estas herramientas de búsqueda es para ver el alcance mediático que podemos tener en internet, basándose en la cantidad de búsquedas que llevan nuestros datos, las publicaciones que hayamos realizado, fotografías subidas o etiquetadas, etc…

Además, existen aplicaciones específicas para la recopilación de datos bien de personas o de empresas. Cabe destacar un par de ellas.

Facebook Blaster Pro aplicación inicialmente destinada a favorecer la apariencia empresarial mediante el envío masivo de solicitudes a usuarios de Facebook; es sin duda una muy buena herramienta si por ejemplo queremos acceder al cierta información del perfil de alguien que sólo comparte con amigos o amigos de sus amigos, por lo que esa solicitud masiva la haremos a sus conocidos y seguro que alguien con tal de engrosar su lista de “amigos de Facebook” os acepta, con lo que ya accederemos a la información que buscábamos.

Maltego. Líder de las aplicaciones de recopilación de datos. Con darle un nombre o una URL, nos ofrecerá en un menú muy sencillo qué tipo de información buscaremos y cómo queremos que se nos muestre y escaneará la red en busca de cualquier dato coincidente con la solicitud que le hayamos pasado. Os dejo con unos vídeos de su funcionamiento:

Como vemos, debemos tener en cuenta no sólo la seguridad de nuestro equipo y red, si no también la información que compartimos en internet que como habéis visto, con un poco de paciencia y un par de horas libres, mediante la ingeniería social podemos hacernos con información muy valiosa según en manos de quien caiga.

Como ejemplo, os dejo un par de vídeos, el primero bastante ilustrativo acerca de esto que os comento de la información que publicamos en la red, se trata de una campaña belga que quería concienciar a la ciudadanía de esto que tratamos.

El siguiente trata de lo poco que valoramos la seguridad de nuestras cuentas, servicios, equipos… ya que una reportera consigue que personas de a pie le den sus contraseñas a base de un par de preguntas aparentemente inocentes.

Espero que os sea de utilidad esta información y os ayude a prevenir situaciones no deseadas e incómodas.

Origen: Hacking tutorial: Privacidad en la red

Time-Based Web Browsing History Disclosure using HSTS & Tracking with HPKP (HTTP Public Key Pinning) Cookies

Este fin de semana ha tenido lugar la conferencia ToorCON en San Diego. En ella un investigador ha publicado un para de vulnerabilidades de lo más inteligentes que pueden utilizar los sitios web para espiar la navegación de los usuarios.

Figura 1: Abusando de HSTS para espiar la navegación de los usuarios

Ambas técnicas, aprovechando la estructura de navegación cifrada usando HTTPs, abusando en ambos casos de HSTS (HTTP Strict Transport Security) para conseguir sacar información del historial de sitios visitados y para conseguir crear una supercookie.

Time-Based Web Browsing History Disclosure using HSTS
Cuando un sitio web hace uso de HSTS, se lo notifica al navegador mediante un HTTP Header que envía al navegador en el que le informa de que a esa página web solo se puede conectar usando HTTPs, por lo que el navegador rechazará cualquier intento de conexión que se haga a ese sitio utilizando HTTP. Conocido esto, el investigador Yan Zhu hace uso de una función JavaScript que, pasada una lista de sitios web que utilizan HSTS, intenta conectarse a ellos pidiendo una imagen que no existe en el servidor web por medio de HTTP.
Figura 2: Configuración de HTTP Header de HSTS en Gmail
La conclusión es sencilla, si el sitio ha sido visitado previamente y no ha caducado el TTL – de forma natural o por un ataque vía NTP usando Delorean – que se marca en el HTTP Header de HSTS, entonces el navegador generará un error muy rápidamente y navegará vía HTTPs, ya que sabe que no puede conectarse vía HTTP a ningún recurso de ese dominio. Si por el contrario el sitio no ha sido visitado recientemente, entonces se tiene que producir la petición al servidor web del recurso solicitado para configurar HSTS y luego pedir el recursos, obteniendo un error con un tiempo de respuesta mayor.
Figura 3: Sniffly saca una lista de sitios con HSTS que puede que hayas visitado y que no
El atacante solo debe medir los tiempos de los errores para poder hacer un ataque de Time-Based Web Browsing History Disclosure basado una lista de sitios a consultar. Eso sí, esta técnica solo vale para sitios que hagan uso de HSTS. Para que lo pruebes, ha publicado una Prueba de Concepto online llamada Sniffly.
Tracking with HPKP (HTTP Plublic Key Pinning) en Google Chrome
La segunda de las vulnerabilidades se trata de una nueva supercookie que se puede crear en los navegadores Google Chrome. Ya conocemos desde algún tiempo la posibilidad de dejar una SuperCookie en los TTL de los HTTP Headers de HSTS, pero ahora el investigador hace un abuso de la implementación HPKP que no es más que la implementación de las técnicas de Certificate Pinning en Google Chrome. La idea es que HPKP permite poner un certificado distinto para cada usuario y lo que hace el ataque es generar un cadena de identificación distinta para cada uno de estos certificados.
Figura 4: Implementación de HPKP en Google Chrome. Consulta de Gmail.com
Así, cuando el cliente se conecta la primera vez, este recibe vía HPKP un certificado con un pineo de backup con un TEXT configurado. Después, cada vez que se conecta se fuerza un error y esta cadena de TEXT  e envía vía “report-uri” al servidor que se ha configurado. De esta forma tenemos una SuperCookie usando HPKP en Google Chrome.
Las dos técnicas son muy curiosas y de gran aplicación hoy en día en todos los sistemas de WebBrowsing FingerPrinting para los entornos de tracking publicitario, seguimiento de huellas digitales y scoring de riesgos, por lo que no os debe caber la menor duda que desde ya van a empezar a estar en uso de forma masiva.

mediante Un informático en el lado del mal.