Falsificación de cookies
El cookie poisoning, también conocido como envenamiento de cookies, falsificación de cookies, es algo muy usado para falsificar nuestra identidad en apliciones webs. No tiene ninguna ciencia ya que el método consiste en cambiar la cookie a mano.
¿Que vamos a necesitar para realizarlo??
Achilles: http://neosecurityteam.net/practicas/cookies/Achilles.zip
Firefox: http://getfirefox.com/
Falsificando las cookies con el Achilles
La utilidad de la falsificación de cookies como ya dije es la de falsificar nuestra identidad. Por ejemplo, vemos en www.waraxe.us que hay una inyección sql para phpbb2 que nos brinda el md5 de un administrador. Si el pass es muy largo no podremos crackearlo o bien tardaremos muchísmo tiempo. En este caso, podríamos modificar la cookie de tal forma que nos loguee como administradore
s.
Vamos a ver el ejemplo con un simple php que nos dice la info de nuestra cookie. Lo que hace es comprobar si el usuario admin tiene un pass correcto. Lo que vamos a hacer será cambiar el contenido de la cookie usando el Achilles y el firefox.
En primer lugar creamos el script en PHP:
CODE
<?
if (!isset($_COOKIE['datos'])) {
if (isset($_POST['enviar'])) {
$password=$_POST['password'];
setcookie("datos", "admin:" . md5($password) . "", time()+12000);
if (md5($password)=="32250170a0dca9
2d53ec9624f336
ca24")
print "El usuario se logueó satisfactoriam
ente";
else print "El password insertado no es válido";
}
if (!isset($_POST['enviar'])) { ?>
<form method=POST>
<table align=center>
<tr>
<td>Usuario: </td>
<td><input type=text name=usuario value=Admin></td>
</tr>
<tr>
<td>Password: </td>
<td><input type=password name=password></td>
</tr>
<tr align=center>
<td colspan=2><input type=submit value=Aceptar name=enviar></td></tr>
</table></form>
<?
}
} else {
$dat=explode(":",$_COOKIE['datos']);
if ($dat[1]=="32250170a0dca9
2d53ec9624f336
ca24") print "Password válido";
else print "Password no válido";
}
?>
Lo que hace es fijarse si la cookie contiene un MD5 que representa al pass pass123.
Unavez que tienen el Achilles lo abren, chequean todos los checkbox menos el "Log to File", cambian el client timeout y el server time out a 5, el Listen on Port lo ponen en 666 (en firefox el 5000 causa problemas) y apretan el botón con el signo de "Play" para que empiece a funcionar el server proxy (si les interesa este programa pueden leer el artículo acerca de cómo manejarlo).
Ahora vamos a nuestro navegador y lo configuramos para que utilice un servidor proxy con los siguientes datos. Host: localhost. Puerto: 666
En Internet Explorer van a Herramientas, Opciones, Conexiones, Configuración Lan, habilitan la casilla para usar un server proxy y completan los datos.
En firefox van a Tools, Options, después a Connection Settings en General y habilitan el server proxy (configurando sólo para HTTP).
Ahora bien, abrimos el navegador configurado para utilizar el proxy y ponemos la dirección: www.neosecurit
yteam.net/practicas/falsificar_cookies.php
En el achilles van a ir apareciendo las peticiones HTTP. Nosotros vamos a poder modificarlas sin ningún tipo de problema y, para que siga con las demás peticiones, tenemos que apretar Send cada vez que nos llegue una.
Ponemos cualquier pass y nos dirá "Password no válido". Ahora bien, cierren el navegador, abran la misma dirección y en el achilles les saldrá algo así:
Una vez que llegamos a esta petición tendremos que cambiar el md5 que estás después del %3A por 32250170a0dca9
2d53ec9624f336
ca24. De esta manera, mandamos las peticiones y nos autenticaremos satisfactoriam
ente. biggrin.gif
Falsificando cookies en Firefox
Vamos a usar el mismo ejemplo, pero esta vez editaremos la cookie desde el archivo que les almacena. El mismo, se encuentra en C:\Documents and Settings\Usuario\Datos de programa\Mozilla\Firefox\Profiles\k1z7gila.default\ y se llama cookies.txt
Una vez que tenemos abierto el fichero buscamos la cookie. Esto podemos hacerlo buscando admin%3A o bien buscando el dominio o alguna referencia a la web víctima. Llegamos a la parte de los datos y nos encontramos con esto:
CODE
/~moneos/practicas/ FALSE 1010231955 datos admin%3A7815696ecbf1c96e6894b779456d330e
Haremos lo mismo que con el Achilles: cambiamos el md5 que está después de %3A, en este caso 7815696ecbf1c9
6e6894b779456d
330e, por el que es válido para la comprobación, 32250170a0dca9
2d53ec9624f336
ca24. Una vez que hicimos el cambio, guardamos la cookie y abrimos el navegador nuevamente
Modificando la cookie para un foro phpBB
La cookie que crean los foros phpbb tienen básicamente dos cosas: el id del usuario y el password encriptado en MD5. Suponiendo que nosotros ya sacamos el MD5 con una inyección sql por ejemplo.. vamos a falsificar la cookie de tal forma de logearns con ese usuario.
En primer lugar vamos a conseguir el user id del usuario, pero ¿Cómo lo hago?. Vamos a la parte de miembros del foro, buscamos al user (pueden ordenar por nombre para que les sea más fácil) y cuando estemos mirando su perfil miramos la barra de direcciones, en donde aparecerá la varaible u con el user id del usuario
En este caso el número de id del usuario, que será usado en la cookie, es 6766. Ahora bien, el MD5 del usuario es el siguiente: 8e39d6f736568b
6cbd6ac76858cd
fe3c. El MD5 lo sacarán con alguna inyección si es que el foro es vulnerable a un bug conocido.
Ahora bien, ya tenemos el id del usuario, y su MD5. Vamos a ir a nuestro archivo de cookies, cookies.txt si es que tienen mozilla o firefox, y vamos a modificar el siguiente fragmento:
a%3A2%3A%7Bs%3A11%3A%22autologinid%22%3Bs%3A32%3A%22e10adc3949ba59abbe56e057f20f883e%22%3Bs%3A6%3A%22userid%22%3Bi%3A488%3B%7D
Esta es la cookie en definitiva. Yo la conseguí buscando el dominio de la web, www.hackerss.c
om en este caso. Ahora bien, lo cambiamos lo que esta entre %3A% y %22% por el MD5 del user víctima y el id de tal manera que la cookie nos quede así :
a%3A2%3A%7Bs%3A11%3A%22autologinid%22%3Bs%3A32%3A%228e39d6f736568b6cbd6ac76858cdfe3c%22%3Bs%3A6%3A%22userid%22%3Bi%3A6766%3B%7D
Antes de modificar el archivo de las cookies hay que cerrar el navegador, cualquier cambio se hace con el navegador cerrado. Ahora bien, guardamos los cambios, abrimos el navegador y efectivamente nos logueamos con el user Elhackerman, sabiendo su user id y su MD5
Espero que les haya servido esto. Recuerden que puede servir para cualquier tipo de nukes, fors y hasta para webs que generen cookies con javascript, etc.
suertee.
Comenten y si tienen dudas pregunten

Salu2.