cómo cualquiera puede ver la fuga de información de tus sitios http usando las matemáticas

6
Cómo cualquiera puede ver la fuga de información de tus sitios HTTP usando las Matemáticas Manu Alén SoftCrim Córdoba [España] Abstract: Los sitios HTTP son las webs preferidas por los atacantes para realizar un sencillo Man In The Middle y poder acceder a toda la información posile acerca del sitio web y poder ver a las credenciales de la víctima. Si a esto le sumamos que la gente frecuenta a conectarse a redes Wi-Fi públicas, obtenemos un problema mayor, puesto que cualquiera podría conectarse a la misma red Wi-Fi y por ende, conseguir ver credenciales y demás información que a priori se considera privada. Es por esto que esta investigación se centrará en resolver toda la problemática de lo sencillo que es obtener información de sitios HTTP de una forma Matemática, con ecuaciones. 1. Introducción Como bien es sabido por muchos expertos en Seguridad Informática, cuando te conectas a una web que va en HTTP, por el puerto 80 y haces login, obtener esas credenciales para un atacante, es tan sencillo como abrir un analizador de tráfico de red, por ejemplo WireShark ya que se usa bastante, y escribir un filtro- http.request.method==POST- para que nos aparezca únicamente el “paquete de información” que contenga el POST del login. Pero este problema, debe explicarse mediante una ecuación, hasta hoy desconocida, para que cualquier investigador o atacante con malas intenciones tenga claro el esquema, los pasos a seguir y todo lo que debe tener en cuenta para que este ataque de Man In The Middle sea efectivo y podamos obtener las credenciales de la víctima o las cabeceras de las web en HTTP.

Upload: malvadoalen

Post on 23-Jan-2017

100 views

Category:

Internet


0 download

TRANSCRIPT

Page 1: Cómo cualquiera puede ver la fuga de información de tus sitios HTTP usando las Matemáticas

Cómo cualquiera puede ver la fuga de información de tus sitios HTTP usando las

Matemáticas

Manu Alén

SoftCrim

Córdoba [España]

Abstract: Los sitios HTTP son las webs preferidas por los atacantes para realizar un sencillo Man In The

Middle y poder acceder a toda la información posile acerca del sitio web y poder ver a las credenciales

de la víctima. Si a esto le sumamos que la gente frecuenta a conectarse a redes Wi-Fi públicas,

obtenemos un problema mayor, puesto que cualquiera podría conectarse a la misma red Wi-Fi y por

ende, conseguir ver credenciales y demás información que a priori se considera privada. Es por esto que

esta investigación se centrará en resolver toda la problemática de lo sencillo que es obtener información

de sitios HTTP de una forma Matemática, con ecuaciones.

1. Introducción

Como bien es sabido por muchos expertos en Seguridad Informática, cuando te conectas a una web que va en HTTP, por el puerto 80 y haces login, obtener esas credenciales para un atacante, es tan sencillo como abrir un analizador de tráfico de red, por ejemplo WireShark ya que se usa bastante, y escribir un filtro- http.request.method==POST- para que nos aparezca únicamente el “paquete de información” que

contenga el POST del login.

Pero este problema, debe explicarse mediante una ecuación, hasta hoy desconocida, para que cualquier investigador o atacante con malas intenciones tenga claro el esquema, los pasos a seguir y todo lo que debe tener en cuenta para que este ataque de Man In The Middle sea efectivo y podamos obtener las credenciales de la víctima o las cabeceras de las web en HTTP.

Page 2: Cómo cualquiera puede ver la fuga de información de tus sitios HTTP usando las Matemáticas

Este trabajo de investigación científica-de “matematizar” este problema de seguridad- ha sido realizado durante 2 semanas, después de estar más de 2 años observando este problema el cual hasta este trabajo, no se conocía una ecuación, una fórmula que lo explicase.

Datos del registro

A la hora de registrárse en una web que navega bajo HTTP. Es frecuente encontrarse con un

formulario en el que nos solicitan que proporcionemos datos tales como el nickname que queramos disponer en dicha web, la contraseña-que la suelen pedir en dos ocasiones para asegurarse que se ha escrito correctamente, aunque no es extraño ver sitios webs que solamente piden escribir la contraseña una vez- el correo electrónico, posiblemente el teléfono,etc.

Los datos que pidan, dependerá, obviamente del sitio web, por ejemplo, si se trata de una tienda online, no sería raro que pida datos tales como dónde vives o incluso su número de tarjeta de crédito. Esto lo podemos ver en el formulario de registro de una web de una empresa conocida como es Domino’s

Pizza .

Si se trata de una web que navega bajo HTTP, sin uso del protocolo TLS/SSL, cualquier persona que esté

conectada a la misma red que nosotros, podrá, mediante un analizador de tráfico red, saber las

credenciales que he usado en el registro. A continuación se ilustrará cómo es posible acceder a todas las

credenciales usadas en el registro en la web, que va en HTTP, Domino’s Pizza.

Page 3: Cómo cualquiera puede ver la fuga de información de tus sitios HTTP usando las Matemáticas

Con esto, un científico que sienta la necesidad de “matematizar” este comportamiento y disponer, en

una fórmula sencilla, los datos que podemos obtener cuando la víctima se registra en una web en HTTP,

tendríamos que definir la variable 𝐷𝑅. Así pues, tendríamos que definir esta variable de la siguiente

manera:

𝐷𝑅 = 𝑈 + 𝑃𝑠𝑠 + 𝐶𝑜

Siendo 𝐷𝑅 los “Datos del registro”, U el usuario, 𝑃𝑠𝑠 la contraseña y 𝐶𝑜 el correo electrónico.

Si pidiesen más datos, solamente tendríamos que añadirlo en la suma. Además, hay que destacar que en

algún sitio web, pueden pedir que escribas en 2 ocasiones la contraseña y el correo, o que escribas 2

veces solamente la contraseña y no el correo y viceversa, con esto, la expresión nos podría quedar de las

siguientes formas:

𝐷𝑅 = 𝑈 + 2𝑃𝑠𝑠 + 2𝐶𝑜

𝐷𝑅 = 𝑈 + 2𝑃𝑠𝑠 + 𝐶𝑜

𝐷𝑅 = 𝑈 + 𝑃𝑠𝑠 + 2𝐶𝑜

Dicho esto, ya hemos definido los datos que podemos obtener del registro que realice la víctima en una

web en HTTP. Decir también, que en el presente artículo, se despreciará la opción de que un usuario

reutilice la misma contraseña para más de un sitio web, con lo que obtenidas estas credenciales de esta

manera, ya tendríamos la información suficiente para acceder a todas sus identidades digitales.

Login

Si fuésemos unos atacantes, si hubiésemos realizado el ataque en el proceso anterior, ya tendríamos

información suficiente para acceder a la cuenta de nuestra víctima, pero como somos investigadores y

queremos definir todos los puntos de ataque, todos los puntos de donde podemos obtener información

de una víctima o de la misma web, debemos definir los datos a los que son posibles acceder de un sitio

web en HTTP.

La mayoría de las webs piden exclusivamente un usuario y una contraseña, con lo que definir de manera

matemática los datos que podemos obtener al hacer login, es también muy sencilla y quedaría definida

de la siguiente manera:

L= U+𝑃𝑠𝑠

Es importante decir, que estamos obviando la posibilidad de que la víctima en cuestión, esté usando un

2FA, es decir, un Segundo Factor de Autenticación. Pero reitero, el presente artículo se centra

únicamente en “matematizar” los datos que podemos observar de una web en HTTP. Aunque existe la

opción de realizar un Spear Phishing y obtener de X manera los códigos de aplicación, pero esto es

objeto de estudio para un trabajo posterior.

Page 4: Cómo cualquiera puede ver la fuga de información de tus sitios HTTP usando las Matemáticas

Información de la web

La última información que podemos obtener en un ataque de Man In The Middle pertecen a la

información de la web que va en HTTP. Una web en HTTP se divide en 3 partes distintas:

- Línea Inicial

- Cabeceras

- Cuerpo [Este es optativo]

Si quisiérmos focalizar nuestro ataque a la web en cuestión, obtener la máxima información posible de

estas 3 estructuras, es algo importantísimo. Debido a esto, deberemos montar la siguiente matriz.

IIU=

0 𝐿𝑖1 𝐶1 𝐶𝑢1

−𝐿𝑖1 0 −𝐶𝑢1 −𝐶1

𝐿𝑖2 𝐶2 0 𝐶𝑢2

−𝐶2 −𝐿𝑖2 −𝐶𝑢2 0

Siendo Lin la “Línea Inicial”, Cn las “Cabeceras” y Cun, el “cuerpo”

Y así se finaliza con el proceso de definir todos los datos que podemos obtener de una persona que esté

navegando en una en HTTP. Aunque nos queda enunciar algo muy importante, y es que para realizar el

ataque y ver toda esta información, necesitamos coincidir con la víctima, es decir, que justo cuando

realicemos el ataque, la víctima haga login o se registre a una web en HTTP.

La frecuencia y el tiempo

Con este apartado, terminaríamos de definir el ataque. Y es que es necsario conocer la frecuencia con la

que se conecta la víctima en cuestión y durante cuánto tiempo se conecta, así pues, tendríamos una

relación directamente proporcional entre frecuencia y tiempo.

𝜗 ∙ 𝜏

Con esta exresión ya tendríamos terminado nuestro trabajo y nuestra teoría, pero si quisiéramos

desarrollar la expresión anterior, tendríamos que tener en cuenta dos cosas:

- Si la víctia se suele conectar siempre a la misma hora

- Si la víctima se conecta de manera irregular

Page 5: Cómo cualquiera puede ver la fuga de información de tus sitios HTTP usando las Matemáticas

El primer caso, se trataría de un m.r.u [movimiento rectilíneo uniforme] y el segundo caso de un

m.r.u.a [movimiento rectilíneo uniformemente acelerado] ya que depende si se conecta de manera

constante y regular o no, así pues, la expresión anterior si se desarrollase, quedaría.

𝜗 ∙ 𝜏 =𝑣

𝜆 =

𝑒

𝑡

𝜆 =

𝑒

𝑡𝜆

No obstante, para desarrollar la expresión anterior según el segundo caso, el de m.r.u.a os quedaría

una expresión más larga.

Pero primero deberemos de enunciar 2 ecuaciones principales de un m.r.u.a

X-X0=v0t +𝑎𝑡2

2

V=v0+at

Así pues…

𝜗 ∙ 𝜏 =𝑣

𝜆 =

[𝑣0+𝑎𝑡]𝑡

𝜆=

𝑣0𝑡+𝑎𝑡2

𝜆

Despejamos v0t en la ecuación del movimiento…

x-x0-𝑎𝑡2

2 = v0t

Sustituimos…

x−𝑥0−𝑎𝑡2

2 +𝑎𝑡2

𝜆

Debemos tener en cuenta que x0 es la posición inicial, en nuestro caso, la página inicial, que

entenderemos que es Google, y al ser HTTPS, x0=0.

x−𝑥0−𝑎𝑡2

2 +𝑎𝑡2

𝜆 =

2𝑥+𝑎𝑡2

2

𝜆 =

2x+𝑎𝑡2

2𝜆 =

2x+𝑎𝑡𝑡

2𝜆 =

2x+𝑣𝑡

2𝜆

Siendo X la posición, es decir, la página HTTP en la que se encuentre la víctima; V la velocidad de los

datos; T el tiempo que está conectado.

Para definir 𝜆, tenemos que usar la definición de 𝜆 física, y es que la longuitud de onda [𝜆], es el

intervalo de longitud entre dos puntos sucesivos que se encuentran en idéntico estado de perturbación.

Así pues 𝜆, ahora es el intervalo de cuando se ha conectado y la última vez que se conectó

Dicho todo esto, nuestra fórmula final sería:

Page 6: Cómo cualquiera puede ver la fuga de información de tus sitios HTTP usando las Matemáticas

SHTTP= 𝜗 ∙ 𝜏[DR+L+IIU]

Obteniendo así una relación directamente proporcional que nos explica el comportamiento de las

páginas HTTP, que permiten de manera muy sencilla, que cualquier atacante tenga a su disposición los

datos que ya han sido citados en el presente artículo.