Foro de elhacker.net

Seguridad Informática => Hacking => Mensaje iniciado por: Hendrix en 9 Noviembre 2010, 21:19 pm



Título: CookieDump, el FireSheep en C
Publicado por: Hendrix en 9 Noviembre 2010, 21:19 pm
Hace ya unas semanas que salió en varios blog's de seguridad esta (http://codebutler.com/firesheep) curiosa extensión para Firefox que te permitía capturar las cookies que eran enviadas a través de una red wifi no cifrada demostrando una vez más, la inseguridad que provoca el no implementar HTTPS en sitios web que requieran autentificado (y el peligro de conectarse a una red abierta).


Si se sabe algo sobre seguridad wifi no es difícil imaginarse como trabaja esta extensión. A partir de WinPcap/Libpcap pone la interfaz wifi en modo promiscuo (esta conectado con el AP y a la vez captura todo el trafico que circule por la red) y empieza a filtrar los paquetes y cuando tiene una cookie la enseña por pantalla.

Hace ya tiempo que quería trastear un poco con WinPcap y al leer la existencia de esta extensión me decidí. El resultado es una aplicación modo consola que captura la cookies que sean enviadas a través de nuestra red. Mi herramienta no es tan "directa" como lo es FireSheep (con un click ya se te abre una pestaña con las cookies capturadas) pero con la extensión Add N Edit Cookies de Firefox se puede conseguir el mismo resultado.

Aquí les enseño unas cuantas impresiones del resultado de la consola:

Citar
C:\CookieDump>CookieDump.exe
CookieDumper v1.0 by Hendrix
        hendrix@elhacker.net

Usage: CookieDump.exe [options]

Options:
        -l: List all devices
        -d number: Select a device. Example: -d 2
        -f "filter": Filter sites. Example: -f "www.google.com;www.msn.es;"
        -w file: Write output to file
        -n: Don't dump packets of your computer
C:\CookieDump>CookieDump.exe -l
  • Listing devices...

1. \Device\NPF_{1F217971-70F9-4315-8B2C-F5C5728EF91F} (VMware Virtual Ethernet Adapter)
2. \Device\NPF_{E4ABC72B-166E-4CD4-B9A4-E588012828C3} (Marvell Gigabit Ethernet Controller (Microsoft's Packet Scheduler) )
3. \Device\NPF_{34BA4DCA-4941-4C43-A33E-0CA83A295942} (VMware Virtual Ethernet Adapter)
4. \Device\NPF_{E442FFE1-9450-4E52-979B-F4B51F3B121C} (Intel(R) Wireless WiFi Link 4965AGN (Microsoft's Packet Scheduler) )

C:\CookieDump>CookieDump.exe -d 4

[Ok] Device numer 4 attatched
        Local Addr: 192.168.0.21

If you wanna terminate the program, press Ctrl+C

[Local]
  • Packet intercepted to host: www.google.es
Cooie found!!  HSID=*****


[Local]
  • Packet intercepted to host: www.google.es
Cooie found!!  HSID=****


[Local]
  • Packet intercepted to host: www.google.es
Cooie found!!  HSID=****

(Evidentemente las cookies las e censurado  :P)

Como ven, su uso es bastante sencillo, con -l listamos las interfaces y con -d y el numero de interfaz la seleccionamos.

La opción -f es de filtrado, sirve para no mostrar las peticiones a url especificada. Se pueden incluir todas las que queramos, siempre terminadas con ; tal y como aparece en el ejemplo.

la opción -w es para guardar los resultados en un archivo de texto se guarda exactamente lo mismo que se muestra en la consola.

y finalmente la opción -n sirve para filtrar los paquetes locales, es decir, no capturamos lo que enviamos nosotros (así únicamente se nos imprimirán los paquetes que no genere nuestro PC).

En la descarga se incluye el ejecutable y el código, así como librerías necesarias para compilar  ;)

Descarga (http://web.i.elhacker.net/archivos/CookieDump.rar)

Nota: Tras varios testeos el resultado obtenido es el mismo que el que obtuve con FireSheep, es decir, la captura de mis cookies. Probablemente es debido a mi tarjeta de red, agradecería a quien pudiera probar el FireSheep y luego mi aplicación, para ver si de verdad funciona. En teoría el código es el correcto.

PD: Si tengo tiempo, sacaré una herramienta de seguridad contra dicha aplicación  :)

Un Saludo  :)


Título: Re: CookieDump, el FireSheep en C
Publicado por: Karcrack en 9 Noviembre 2010, 21:26 pm
El tema del FireSheep es muy interesante :D

Como protegerse:
Código:
http://www.securitybydefault.com/2010/11/faq-como-me-protejo-de-firesheep.html

Me he bajado el codigo, luego le hecho un vistazo ;D Pero lo interesante del FireSheep es que automaticamente reemplaza tus cookies por las encontradas...

Buen trabajo ;)


Título: Re: CookieDump, el FireSheep en C
Publicado por: Hendrix en 9 Noviembre 2010, 21:37 pm
Pero lo interesante del FireSheep es que automaticamente reemplaza tus cookies por las encontradas...

Bueno, siendo una extensión del mismo navegador, supongo que el acceso a las cookies debe de ser bastante sencillo, nunca e programando nada para firefox  :-\


Título: Re: CookieDump, el FireSheep en C
Publicado por: madpitbull_99 en 9 Noviembre 2010, 21:41 pm
Me lo he bajado, gracias por poner el source, me servira para aprender a trabajar con las librerías del Wincap.

Por cierto, cambia :
If you wanna terminate the program, press Ctrl+C

por want to xD , wanna suena mas al ingles de bronx xD


Un saludo!


Título: Re: CookieDump, el FireSheep en C
Publicado por: Hendrix en 9 Noviembre 2010, 22:06 pm
Por cierto, cambia :
If you wanna terminate the program, press Ctrl+C

por want to xD , wanna suena mas al ingles de bronx xD


Un saludo!


 :xD Es un modo de abreviar, al igual que gonna, supongo que want to suena mas "formal"  :D


Título: Re: CookieDump, el FireSheep en C
Publicado por: bizco en 9 Noviembre 2010, 22:13 pm
en firefox programas en javascript, pero puedes crearte un perfil y meter en el las cookies capturadas y listo ya tienes acceso normal a las cookies.


Título: Re: CookieDump, el FireSheep en C
Publicado por: Hendrix en 9 Noviembre 2010, 22:32 pm
en firefox programas en javascript, pero puedes crearte un perfil y meter en el las cookies capturadas y listo ya tienes acceso normal a las cookies.

Si, pero al ser un programa externo a firefox preferí no complicarme  ;)

Mas info sobre la programación de extensiones:

https://wiki.mozilla.org/FUEL
https://developer.mozilla.org/en/FUEL


Título: Re: CookieDump, el FireSheep en C
Publicado por: bizco en 10 Noviembre 2010, 00:07 am
mira te dejo un ejemplo de como mostrarlas haciendote una extension:

Código:
window.addEventListener("DOMContentLoaded", function () {
 var cDiv = window.content.document.createElement("div"); //esto es solo para pruebas realmente no hace falta.
 //el css para el div
 var dCss = "position: absolute; width: auto; min-width: 600px; height: auto; background-color: white; border: 1px solid blue; top: 10px; left: 10px;";
 var c = window.content.document.cookie;
 cDiv.setAttribute("style",dCss);
 var b = window.content.document.getElementsByTagName("body")[0];
 b.appendChild(cDiv);
 if (c)
 {
  cDiv.innerHTML = c;
 }
 else { cDiv.innerHTML = "<b> No hay cookies</b>"; }
},true);

la idea es que una aplicacion este escuchando el puerto X y abrir un tab a tu aplicacion para interactuar con la extension. na es una chorrada, pero seria para automatizar el proceso de cambiar las cookies solo si existen :).


Título: Re: CookieDump, el FireSheep en C
Publicado por: Hendrix en 10 Noviembre 2010, 00:22 am
mira te dejo un ejemplo de como mostrarlas haciendote una extension:

Código:
window.addEventListener("DOMContentLoaded", function () {
 var cDiv = window.content.document.createElement("div"); //esto es solo para pruebas realmente no hace falta.
 //el css para el div
 var dCss = "position: absolute; width: auto; min-width: 600px; height: auto; background-color: white; border: 1px solid blue; top: 10px; left: 10px;";
 var c = window.content.document.cookie;
 cDiv.setAttribute("style",dCss);
 var b = window.content.document.getElementsByTagName("body")[0];
 b.appendChild(cDiv);
 if (c)
 {
  cDiv.innerHTML = c;
 }
 else { cDiv.innerHTML = "<b> No hay cookies</b>"; }
},true);

la idea es que una aplicacion este escuchando el puerto X y abrir un tab a tu aplicacion para interactuar con la extension. na es una chorrada, pero seria para automatizar el proceso de cambiar las cookies solo si existen :).

Ok, veré como implementarlo  :) gracias  ;)


Título: Re: CookieDump, el FireSheep en C
Publicado por: Littlehorse en 10 Noviembre 2010, 05:22 am
Si pensas ampliar la aplicacion, hay algunos detalles que deberían mejorarse. Muchas variables globales innecesarias. Si tenes mas de 10 funciones no tiene sentido tener un doble puntero en un scope global siendo que se utiliza solo en dos de las funciones. Son pequeñas cosas que luego traen problemas conforme el código se extiende.
Muchos defines que a pesar que tienen su utilidad, en tu código no las utilizas para nada, al igual que la mascara de flags. Aunque supongo tal vez las agregaste para utilizarlas en otra futura función, pero si no es así, no deberían estar.
El código podría organizarse en distintos archivos, por el momento bastaría con uno de cabecera y uno de implementación. Facilitaría el trabajo a quien quiera utilizar tus funciones en otro proyecto, y también al desarrollo mismo.

Después el resto esta bien, mas adelante estaría bueno agregarle una interfaz gráfica si es que se le agrega lo de la integración con los navegadores. Seria mas sencillo para los usuarios finales.

En cuanto a la compilación, por lo menos en Windows falta algún archivo de cabecera:

pcap-stdinc ya que en pcap.h se encuentra:
Código
  1. #if defined(WIN32)
  2. #include <pcap-stdinc.h>
  3.  

También es necesario linkear ws2_32 (htonl).

Saludos!


Título: Re: CookieDump, el FireSheep en C
Publicado por: Hendrix en 10 Noviembre 2010, 11:38 am
Si pensas ampliar la aplicacion, hay algunos detalles que deberían mejorarse. Muchas variables globales innecesarias. Si tenes mas de 10 funciones no tiene sentido tener un doble puntero en un scope global siendo que se utiliza solo en dos de las funciones. Son pequeñas cosas que luego traen problemas conforme el código se extiende.
Muchos defines que a pesar que tienen su utilidad, en tu código no las utilizas para nada, al igual que la mascara de flags.

Todas esas variables están porque fui haciendo pruebas con WinPcap antes de reformar el código y programar lo que es la actual aplicación, muchas cosas quedaron sin eliminar (incluso lineas comentadas, que en un principio las quería eliminar).

También se me olvidó, como bien dices, comentar en el archivo de instrucciones lo del link a ws2_32.lib.

En cuanto a la parte gráfica, ya veremos, tenía pensado hacerlo en C# que me es más cómodo, pero no prometo nada  ;)

Un Saludo  :)


Título: Re: CookieDump, el FireSheep en C
Publicado por: kamsky en 10 Noviembre 2010, 13:41 pm
buen trabajo!


Título: Re: CookieDump, el FireSheep en C
Publicado por: cPositron en 10 Noviembre 2010, 14:19 pm
muchas gracias por tu aporte!


Título: Re: CookieDump, el FireSheep en C
Publicado por: raul338 en 10 Noviembre 2010, 16:23 pm
Lindo experimento hendrix, pero el concurso es en 3 semanas :xD.... voy a verlo aunque dudo que entienda algo


Título: Re: CookieDump, el FireSheep en C
Publicado por: afdlkglfgfdgfhgf en 12 Noviembre 2010, 15:15 pm
muy interesante, pero tengo una duda, ni firesheep ni tu programa me funcionan, instale el "WinPcap version is 4.1.2l" , en firesheep me aparece un error que nose puede hallar el dispositivo especificado, y cuando listo las interfaz en tu programa me aparecen 3 opciones, he probado con las 3 opciones y ninguna medio resultado, me lanza las opciones nuevamente :/ , ¿ puede ser que mi tarjeta de red no sea compatible ? .

EDIT: ¿puede ser por problemas de driver con una tarjeta de Sonido? , ya que tengo una tarjeta de sonido instalada pero sin sus drivers .


Título: Re: CookieDump, el FireSheep en C
Publicado por: Hendrix en 12 Noviembre 2010, 16:22 pm
muy interesante, pero tengo una duda, ni firesheep ni tu programa me funcionan, instale el "WinPcap version is 4.1.2l" , en firesheep me aparece un error que nose puede hallar el dispositivo especificado, y cuando listo las interfaz en tu programa me aparecen 3 opciones, he probado con las 3 opciones y ninguna medio resultado, me lanza las opciones nuevamente :/ , ¿ puede ser que mi tarjeta de red no sea compatible ? .

EDIT: ¿puede ser por problemas de driver con una tarjeta de Sonido? , ya que tengo una tarjeta de sonido instalada pero sin sus drivers .

En teoria no tiene por que afectar la tarjeta de sonido. Que tarjeda de red tienes??? Usas la inalámbrica???

Un Saludo


Título: Re: CookieDump, el FireSheep en C
Publicado por: afdlkglfgfdgfhgf en 12 Noviembre 2010, 17:35 pm
claro es una tarjeta WIFI TP-LINK , su programa me lo reconoce pero cuando presiono  cookiedump -d 2 me aparecen las opciones del cookiedump es como si escribiera mal la sintaxis del comando. desintale el winpcap y probe con el cookiedump y no me aparecia ninguna tarjeta, despues lo instale denuevo y aparecieron las tarjetas, esta tarjeta anteriormente la he puesto en modo promiscuo y he sacado algunas contraseñas wifi, asique no creo que pueda ser compatibilidad de la tarjeta, puede ser problema de mi S.O porque igual el firesheep me lanza error  :huh:.


Título: Re: CookieDump, el FireSheep en C
Publicado por: afdlkglfgfdgfhgf en 15 Noviembre 2010, 00:32 am
ya saque algo en limpio, al parecer tu programa tiene un error :/ , porque hize lo siguiente, en el PC de escritorio lo formatie y aun asi no me funcionaba ni el firesheep ni el cookiedump, ahora lo probe en el Portatil y me funciona perfectamente el firesheep, pero el cookiedump me sigue dando el mismo error :/ .

¿ una pregunta, alguien sabe como agregar una pagina en firesheep ?.


Título: Re: CookieDump, el FireSheep en C
Publicado por: ‭‭‭‭jackl007 en 30 Noviembre 2010, 15:41 pm
a mi no me funciona, estoy en windows 7, 32 bits.

coloco: CookieDump.exe -l (todo Okay)
pero cuando eligo el dispositivo: CookieDump.exe -d 1
me vuelve a dar el mensaje como si no hubiese puesto parametros, tampoco me reconoce con los otros elemntos de la lista, voy a revisar el source a ver si encuentro algo para arreglarlo


Título: Re: CookieDump, el FireSheep en C
Publicado por: afdlkglfgfdgfhgf en 2 Diciembre 2010, 01:19 am
creo que con esto          


else if(!strcmp(argv,"-d"))
{
   dev = atoi(argv[i+1]);
   Filter();
 }


solucionamos nuestro problema.
pero me dice que no puede abrir mi adaptador  :silbar:

pd: parece que mi tarjeta no es compatible con los drivers del winpcap .
      a hendrix se le olvido copiar este trozo

fprintf(stderr,"\nUnable to open the adapter. %s is not supported by WinPcap\n", d->name);  

 :




LO PUDE HACER FUNCIONAR , aparte de lo de arriba, tube que cambiar esta linea
   

//el parametro 3 lo cambie por 0, y funciona bien , pero nose si capturara las cookies  de los otros pc.

   if ((fp = pcap_open_live(d->name,65536,0,1000,errbuf)) == NULL)



 ;-)


Título: Re: CookieDump, el FireSheep en C
Publicado por: Hendrix en 2 Diciembre 2010, 13:10 pm
//el parametro 3 lo cambie por 0, y funciona bien , pero nose si capturara las cookies  de los otros pc.

   if ((fp = pcap_open_live(d->name,65536,0,1000,errbuf)) == NULL)



 ;-)


Si lo pones a cero el modo promiscuo está desactivado.


Título: Re: CookieDump, el FireSheep en C
Publicado por: Littlehorse en 2 Diciembre 2010, 16:45 pm
Depende, si ya esta en modo promiscuo no se desactiva. Simplemente no modifica el modo en el que se encuentra la interfaz.
En la llamada a esa función no se verifica el contenido de errbuff en caso de error, en el código se hace en otras pero no en esa en particular. Debería hacerse para obtener detalles específicos del error.

Saludos


Título: Re: CookieDump, el FireSheep en C
Publicado por: afdlkglfgfdgfhgf en 2 Diciembre 2010, 18:39 pm
lo que pasa es que recorde, que en CAIN para que me capture los paquetes en CAIN tengo que configurar que nose ponga en modo promiscuo, y nose porque razon igual captura los datos, en este caso, con cookiedump , cuando lo dejo en cero, captura solamente las cookies del local  :-\ .

mmm.. are unas pruebas con CAIN y Cookiedump para ver si lo logro hacer funcionar, aunque no tendria mucha logica, tener estos dos corriendo . :rolleyes:


Título: Re: CookieDump, el FireSheep en C
Publicado por: robertoelvago en 9 Enero 2011, 00:50 am
hola necesito ayuda,mi maquina no me abre cookiedump.exe...k puede ser. tengo xp