Leer Cookies De Chrome y Su Valor

Iniciado por CoolTesting, 6 Abril 2018, 16:14 PM

0 Miembros y 1 Visitante están viendo este tema.

CoolTesting

Hola gente, verán hace unos días creé un programa para leer el archivo de las Cookies de Chrome, al tratar de ejecutarlo pude notar que decía Sqlite Format, entonces busqué un decodificador de SQLITE y encontré este: http://inloop.github.io/sqlite-viewer/
Todo muy bien me dice que sitios he visitado y tal, pero no me da los valores
solo me dice encrypted_value: y me pone un valor cifrado, quería saber la forma de descifrar esos valores.. muchas gracias y saludetes!
El ganador es el que sabe perder.

Sentex

Chrome cifra datos con una librería del propio windows y la única forma de desencriptarla es con tu pc. Digamos que cada windows lo cifra con una pass diferente pues tu teniendo acceso al ordenador lo puedes descifrar pero si tu pasas la db a otro ordenador se te sera imposible desencriptarlo. Por ejemplo en python se usa la libreria win32crypt y para descifrar un valor es:
Código (python) [Seleccionar]

data_uncrypt = win32crypt.CryptUnprotectData(data_crypt, None, None, None, 0)[1]

Este código lo usan herramientas como lazagne para leer las bases de datos de contraseñas de chrome.
Preguntas o peticiones en twitter o discord:

Discord: MrSentex#1227
Twitter: @fbi_sentex

CoolTesting

Cita de: Sentex en  7 Abril 2018, 13:41 PM
Chrome cifra datos con una librería del propio windows y la única forma de desencriptarla es con tu pc. Digamos que cada windows lo cifra con una pass diferente pues tu teniendo acceso al ordenador lo puedes descifrar pero si tu pasas la db a otro ordenador se te sera imposible desencriptarlo. Por ejemplo en python se usa la libreria win32crypt y para descifrar un valor es:
Código (python) [Seleccionar]

data_uncrypt = win32crypt.CryptUnprotectData(data_crypt, None, None, None, 0)[1]

Este código lo usan herramientas como lazagne para leer las bases de datos de contraseñas de chrome.

Carajo, me lo imaginé... pero yo pensé que la clave se guardaba en un archivo, o en un registro pero bueno.. ya veré como le hago, lo estudiaré a profundidad y si encuentro algún método para conseguir la clave y descifrar cualquier cookie no sabré si asustarme o alegrarme.. pues con un virus así ya te digo..
El ganador es el que sabe perder.

Eleкtro

#3
Cita de: CoolTesting en  7 Abril 2018, 21:39 PMpero yo pensé que la clave se guardaba en un archivo, o en un registro

La función de Windows CryptProtectData deriva la clave a partir de las credenciales del usuario....


Cita de: CoolTesting en  7 Abril 2018, 21:39 PMsi encuentro algún método para conseguir la clave y descifrar cualquier cookie no sabré si asustarme o alegrarme.. pues con un virus así ya te digo..

Para descifrar primero como ya te han mencionado tienes que cumplir el requisito fundamental de haber iniciado sesión en la misma cunta de usuario con la que se encriptaron los datos, o en el caso de que se haya utilizado el valor CRYPTPROTECT_LOCAL_MACHINE al llamar a la función CryptProtectData simplemente necesitarías iniciar sesión con cualquier usuario en el mismo PC, y entonces cumpliendo el requisito es cuando ya puedes llamar a la función CryptUnprotectData para descifrar...

Cita de: CoolTesting en  7 Abril 2018, 21:39 PMlo estudiaré a profundidad

Todo lo que necesitas está en la MSDN...


...en la documentación de ambas funciones, y en los enlaces que te llevan a más documentación acerca de los tipos de estructuras que utiliza, etcétera.

Y también tienes ejemplos de utilización (en C):

Cita de: CoolTesting en  7 Abril 2018, 21:39 PMno sabré si asustarme o alegrarme.. pues con un virus así ya te digo..

Tampoco sería algo como para ponerse a ver las estrellas ya que hoy en dia existe multitud de herramientas dedicadas para obtener las contraseñas de Chrome (y de cualquier otro navegador), tanto aplicaciones de consola para automatizar su obtención, como programas con interfaz gráfica. Aquí tienes dos de ellos por si te sirven:


Y APIS para distintos lenguajes de programación también, por supuesto, en servicios de hospedaje para el control de versiones como por ejemplo GitHub y BitBucket puedes encontrar el código fuente de varias APIS para ese reciso propósito de obtener las contraseñas de Chrome; quizás si buscas encuentres el código fuente de alguna API para el lenguaje en específico con el que estés trabajando y eso probablemente te pueda servir para averiguar como implementar o solucionar aquello en lo que te encuentres atascado...

...por eso, no se si realmente merecería la pena invertir tiempo en el desarrollo de lo mismo que ya han hecho y compartido cientos de veces otras personas, a menos que sea por pura diversión, aprendizaje, o tomárselo como un reto personal de superación. También te digo que la idea en si me gusta, creo que desarrollar un algoritmo de obtención de contraseñas que sea reutilizable sería buena idea para añadirla en ciertos menesteres, por eso a pesar de lo que dije, en cuanto tenga un rato largo y las suficientes ganas para ponerme a ello yo también me sumaré al carro de desarrollar un código para obtener los logins de Chrome (para VB.NET / C#) y lo compartiré.

Saludos!








Eleкtro

#4
Cita de: Eleкtro en  8 Abril 2018, 02:40 AMen cuanto tenga un rato largo y las suficientes ganas para ponerme a ello yo también me sumaré al carro de desarrollar un código para obtener los logins de Chrome (para VB.NET / C#) y lo compartiré.

Dicho y hecho:

Por suerte la librería de clases de .NET Framework implementa un wrapper para las funciones CryptProtectData y CryptUnprotectData, esto lo vuelve extremadamente facil (y estable) de llevar a cabo. Si estás utilizando otro lenguaje y por ello necesitases recurrir directamente a la API de Windows pues ya te mostré un ejemplo de como hacerlo en C, y aquí tienes otro distinto en C#:


Saludos!