Revelar passwords guardados en Internet Explorer

Iniciado por jacckker, 19 Octubre 2011, 22:01 PM

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

jacckker

Quiero empezar a desarrollar un stealer en C# o algun lenguaje similar.

Cuando una persona ingresa a un sitio web con autenticación (por ejemplo Hotmail, Gmail, etc), luego de ingresar las credenciales (usuario y password) Internet Explorer ofrece guardar el password para no tener que volver a ingresarlo en una futura visita.

Obviamente ese password se guarda localmente en la PC pudiendo ser accesible. Lo que yo quiero hacer es revelar esas contraseñas con C#.

Hay un programa que lo hace, y si bien es freeware, su codigo no es abierto. El programa es IE PassView (http://www.nirsoft.net/utils/internet_explorer_password.html).



Estuve leyendo como se guardan las contraseñas en Internet Explorer 7 o superiores y es de la siguiente forma:

1) Se usa la URL del sitio web como clave de encripción (EncryptionKey)
2) Se obtiene un registro de esa llave: RecordKey = SHA(EncryptionKey)
3) Se calcula el checksum del RecordKey para asegurar la integridad de la llave de registro: (la integridad de los datos reales será garantizada por DPAPI): RecordKeyCrc = CRC(RecordKey)
4) Se encriptan el password con la llave de encripción: EncryptedData = DPAPI_Encrypt(Password, EncryptionKey)
5) Se guarda el RecordKeyCrc + RecordKey + EncryptedData en el registro, mas precisamente en HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\IntelliForms\Storage2

¿Alguno tiene algún código ya hecho para no arrancar desde cero?
Si aquel que pregunta una vez es tonto una vez y aquel que no pregunta nunca es tonto siempre, yo soy re inteligente!!

jgarciageisha

Me suena muy parecido a como cuando desencriptas las LM Hashes de windows para sacar las pass de sistema, pues tienes la direccion de registro mas bien solo te faltaria hacer el codigo del desencriptador del password...... busco y me uno a tu causa ! buena idea.............