martes, 8 de noviembre de 2016

BruteXSS - Identificación de Cross-site Scripting

BruteXSS desarrollada por Shawar Khan, es una herramienta escrita en python (que sólo necesita de dos dependencias Colorama y Mechanize) y que permite identificar de forma automatizada inyecciones de tipo Cross-site Scripting. Esta herramienta es posiblemente una de las más sencillas en cuanto a manejo y uso para la explotación de estas vulnerabilidades. Se trata de una herramienta que facilita el ataque a través de un asistente pudiendo parametrizar si los payloads XSS serán enviados por método GET o POST y si se utilizará el diccionario de payloads por defecto que tiene, o uno propio.

Ejemplo GET
COMMAND:  python brutexss.py
METHOD:   g
URL:      http://www.site.com/?parameter=value
WORDLIST: wordlist.txt

Ejemplo POST
COMMAND:   python brutexss.py
METHOD:    p
URL:       http://www.site.com/file.php
POST DATA: parameter=value&parameter1=value1
WORDLIST:  wordlist.txt

Img 1: BruteXSS - Ataque de Cross-site Scripting iniciado. Método POST.
La lista de payloads que tiene por defecto cuenta con un total de 25 tipos de XSS. Algo más que suficiente para realizar ataques de XSS.

Img 2: Payloads por defecto.
Tras lanzar la aplicación contra la URL a la que atacar se irán probando cada uno de los Payloads hasta determinar si alguno de ellos fue explotado satisfactoriamente. Además si la URL tiene más de un parámetro irá probando los payload del diccionario de forma recursiva.

Img 3: XSS explotado con BruteXSS.

Img 4: PoC XSS explotado con BruteXSS

Al estar diseñado en "formato" asistente ni tan siquiera tiene opciones de configuración del tipo -h --help.  Esto ya hace entender que la ejecución de la aplicación se hace de forma muy intuitiva.
Esta aplicación aun no se se encuentra en Kali Linux, aunque no creo que tarde mucho en estarlo. Igualmente se trata de una herramienta ligada al  Netsparker.

BruteXSS: https://github.com/shawarkhanethicalhacker/BruteXSS

Prueba de concepto en video



lunes, 7 de noviembre de 2016

Ojo con tu privacidad cuando haces deporte

Aplicaciones como Runtastic, Strava, Nike+ y similares se han convertido desde hace ya algún tiempo en un compañero indiscutible a la hora de hacer deporte, ya que permiten tener un seguimiento del ejercicio realizado; Rutas GPS, tiempo, distancia recorrida, histórico, mediciones estadísticas, frecuencia cardiaca y un largo etcétera.

Personalmente cuando utilicé algunas de estas aplicaciones por primera vez me hacía siempre la misma pregunta, ¿Por qué requieren de un registro?. Los datos registrados por la aplicación se podrían sincronizar automáticamente con el dispositivo (Android o iPhone por ejemplo) sin necesidad de tener que registrarse en ningún sitio. Sin embargo entiendo que el registro se realizará por otras cuestiones de peso. Aun así cada una de estas aplicaciones guarda la información estadística del usuario, a la cual se puede acceder desde la web oficial de cada una de ellas.

¿Cuántos de nosotros no hemos compartido alguna vez en alguna red social la ruta que hemos realizado, la distancia que corrimos o la cantidad de horas en bici que hicimos? Seguros que todos lo hemos hecho alguna vez o al menos lo hemos visto compartido por otra persona en Facebook.

Todos a día de hoy de una manera u otra estamos más o menos concienciados con la seguridad en internet, pero en este caso se nos escapó por un momento pensar si la información que registran y guardan estas aplicaciones queda expuesta de alguna manera al público dejando al descubierto nuestra privacidad.

Haciendo una búsqueda sencilla en Google se pueden obtener un gran número de perfiles públicos.

site:runtastic.com/es/usuarios

¿Os imagináis salir a correr y que todo el mundo pueda saber qué lugar sueles frecuentar?

Img 1: Ruta de Runtastic. Sin privacidad.

¿Os imagináis que además puedan ver las fotos que publicáis de vuestras sesiones deportivas?

Img 2: Fotos del perfil de usuario de Runtastic expuestas todo el mundo. Sin privacidad.

¿Os imagináis que mostraran un calendario con el tipo de deporte realizado, el día, la fecha, el lugar...?

Img 3: Sesiones deportivas, estadísticas abiertas al público. Sin privacidad.
Img 4: Calendario y seguimiento de la actividad del usuario. Sin privacidad por defecto.

Los amigos también son expuestos, y pueden ser vistos por cualquiera, incluso en algunos casos es posible ver esta información sin necesidad de estar registrado. 

Img 5: Amigos del perfil de usuario en Runstastic. Sin privacidad por defecto.

Muchos de los usuarios que utilizan estas aplicaciones realizan el registro a través de su cuenta de Facebook por lo que sabiendo los amigos de esta persona podremos saber posiblemente su lista de amigos de Facebook. ... -Un trabajo fácil para un ataque de ingeniería social ...

Es difícil creer como compañías tan importantes como estas no pensaron en la privacidad del usuario y su importancia dejando todo el perfil al descubierto.

Img 6: Ajustes por defecto de privacidad de Runtastic.
Aunque los pantallazos que se muestran corresponden a Runtastic probé con otras aplicaciones como Strava y todas ellas publican por defecto todos los datos del usuario.

Ya me imagino una aplicación en python para buscar usuarios en estas redes sociales al estilo de Creepy, Tinfoleak o Maltego.