Autor Tema: Internet Account Manager V1.2  (Leído 6350 veces)

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

Desconectado cristiantorres

  • Sv Jr.
  • **
  • Mensajes: 76
  • Bendiciones para todos
    • Blog dedicado a la programacion
Internet Account Manager V1.2
« : mayo 30, 2012, 10:06:54 pm »
Bueno por motivos de seguridad en la aplicación, quite el tema, la volvere a subir hasta que lo resuelva
« Última Modificación: mayo 31, 2012, 08:05:17 pm por cristiantorres »
Visita mi Blog C#, Asp.Net, Python y mas...
http://cristiantorresalfaro.blogspot.com
http://codemania.tk

Desconectado Takeshi15

  • Sv Member
  • ***
  • Mensajes: 184
Re:Internet Account Manager V1.2
« Respuesta #1 : mayo 30, 2012, 10:14:34 pm »
Gracias me servirá para no estar anotando todos las contraseñas en papel.  :D Hoy mas fácil en la pc :thumbsup:

Desconectado cristiantorres

  • Sv Jr.
  • **
  • Mensajes: 76
  • Bendiciones para todos
    • Blog dedicado a la programacion
Re:Internet Account Manager V1.2
« Respuesta #2 : mayo 30, 2012, 10:17:11 pm »
Gracias me servirá para no estar anotando todos las contraseñas en papel.  :D Hoy mas fácil en la pc :thumbsup:
jeje cabal algo asi hacia antes un cuaderno tenia para tenes el usuario y contraseña de todas mis cuentas y de eso me nacio la idea de hacer algo asi.
Visita mi Blog C#, Asp.Net, Python y mas...
http://cristiantorresalfaro.blogspot.com
http://codemania.tk

Desconectado edu_guerr

  • Sv Member
  • ***
  • Mensajes: 463
Re:Internet Account Manager V1.2
« Respuesta #3 : mayo 30, 2012, 10:23:44 pm »
Deberías de explicar para los interesados, en que se guardan las contraseñas? si en una base de dato o archivo, o si ese lugar donde
 están las contraseñas, se guarda en la computadora de la persona o queda junto con el portable.

Yo mejor me las memorizo, no vaya ser XD

Desconectado cristiantorres

  • Sv Jr.
  • **
  • Mensajes: 76
  • Bendiciones para todos
    • Blog dedicado a la programacion
Re:Internet Account Manager V1.2
« Respuesta #4 : mayo 30, 2012, 10:32:52 pm »
Deberías de explicar para los interesados, en que se guardan las contraseñas? si en una base de dato o archivo, o si ese lugar donde
 están las contraseñas, se guarda en la computadora de la persona o queda junto con el portable.

Yo mejor me las memorizo, no vaya ser XD

Claro todos los registros se guardan en una base de datos portable SqLite, que se encuentra en la misma carpeta de la aplicacion, el password se encripta para mayor seguridad y solo se desencripta cuando lo queres recuperar osea cuando presionas el boton copiar password.
« Última Modificación: mayo 30, 2012, 10:35:17 pm por cristiantorres »
Visita mi Blog C#, Asp.Net, Python y mas...
http://cristiantorresalfaro.blogspot.com
http://codemania.tk

Desconectado heroe2010

  • The Communiter-
  • *
  • Mensajes: 1251
Re:Internet Account Manager V1.2
« Respuesta #5 : mayo 31, 2012, 07:13:23 am »
lo probare muchas gracias!!! bendiciones!!!!
en DIOS confio...

los ataques verbales de idiotas que creen ser poseedores de la verdad absoluta deberian ser ignorados por regla general de vida...

Desconectado Sn4ke

  • The Communiter-
  • *
  • Mensajes: 7034
  • Messatsu!
Re:Internet Account Manager V1.2
« Respuesta #6 : mayo 31, 2012, 07:52:58 am »
y seguro que no envia los usuarios y contraseñas a ningun otro lado? :rolleyes:

Desconectado cristiantorres

  • Sv Jr.
  • **
  • Mensajes: 76
  • Bendiciones para todos
    • Blog dedicado a la programacion
Re:Internet Account Manager V1.2
« Respuesta #7 : mayo 31, 2012, 09:42:42 am »
lo probare muchas gracias!!! bendiciones!!!!
De nada y espero te sirva en algo bendiciones para ti tambien
Visita mi Blog C#, Asp.Net, Python y mas...
http://cristiantorresalfaro.blogspot.com
http://codemania.tk

Desconectado cristiantorres

  • Sv Jr.
  • **
  • Mensajes: 76
  • Bendiciones para todos
    • Blog dedicado a la programacion
Re:Internet Account Manager V1.2
« Respuesta #8 : mayo 31, 2012, 09:44:59 am »
y seguro que no envia los usuarios y contraseñas a ningun otro lado? :rolleyes:
Por supuesto que no los datos no se envian a ningun otro lado, los datos quedan en tu pc.
Visita mi Blog C#, Asp.Net, Python y mas...
http://cristiantorresalfaro.blogspot.com
http://codemania.tk

Desconectado Juancho

  • The Communiter-
  • *
  • Mensajes: 1311
Re:Internet Account Manager V1.2
« Respuesta #9 : mayo 31, 2012, 10:54:47 am »
Que algoritmo de seguridad utilizas para encriptar las contraseñas?
<a href="http://www.gametracker.com/player/%7BAiPI%7DJuancho/94.127.17.72:11480/" target="_blank">
<img src="http://cache.www.gametracker.com/player/%7BAiPI%7DJuancho/94.127.17.72:11480/b_560x95.png" border="0" width="560" height="95" alt="" />
</a>

Desconectado cristiantorres

  • Sv Jr.
  • **
  • Mensajes: 76
  • Bendiciones para todos
    • Blog dedicado a la programacion
Re:Internet Account Manager V1.2
« Respuesta #10 : mayo 31, 2012, 11:28:44 am »
Que algoritmo de seguridad utilizas para encriptar las contraseñas?
Para la contraseña con la que creas el usuario le aplico hash.
Y a las contraseñas de las  cuentas que se registran el aplico Tripe DES
Visita mi Blog C#, Asp.Net, Python y mas...
http://cristiantorresalfaro.blogspot.com
http://codemania.tk

Desconectado Juancho

  • The Communiter-
  • *
  • Mensajes: 1311
Re:Internet Account Manager V1.2
« Respuesta #11 : mayo 31, 2012, 01:54:03 pm »
Vaya, lo siguiente es unicamente con fines educativos. Lo coloco en este tema para q puedas investigar y hacer las correciones del caso.

TUTORIAL: COMO DESENCRIPTAR LAS CONTRASEÑAS DE INTERNET ACCOUNT MANAGER v1.2

Cuando uno desarrolla sistemas, donde involucran las contraseñas de usuarios, es de suma importancia tener muy en cuenta los cifrados y reglas de seguridad que debe de tener nuestra aplicacion. A su vez hay q informarse los algoritmos que se pueden utilizar, seguridad de la plataforma, xq no sabemos con que tipo de conocimiento cuenta nuestra atacante.

Anteriormente le pregunte a @CristianTorres, sobre el algoritmo de seguridad utilizado. Y m toco investigar un poco sobre el algoritmo ya que no lo conocia mucho. Cuando descubri q se ha comprobado q es altamente vulnerable a una decrypt en pocas horas. Bueno, fue un punto menos cuando estaba evaluando la aplicacion en aspectos de seguridad. Creo q ahorita uno d los algoritmos mas seguros es el AES, en mi caso ese hubiera sido la opcion para implementar en la aplicacion.

Ahora, ¿cual es el problema de Encriptar/Desencriptar contraseñas en una aplicacion?. Bueno si se trabaja con la plataforma .NET se ha comprobado que si no se toman en cuenta los aspectos de seguridad puede ser muy vulnerable nuestra aplicacion.
Por ejemplo, al desencriptar guardar la contraseña en un tipo de datos STRING, ese es un grave error, ya que con el GC (Garbage Collector), no es muy preciso q digamos para borrarlo de la memoria RAM nuestra variables, asi algunos meses lei un articulo sobre como obtener datos contraseñas cuando utilizamos los tipos String.

Al igual, en la parte de Seguridad de MSDN, mencione esto como un gran riesgo, para ello, .NET ofrece una clase llamada SecurityString, que es especialmente para esos propositos y corrije los errores de seguridad.

¿CUAL FUE EL FALLO EN INTERNET ACCOUNT MANAGER v1.2?
Bueno, en si para entender como se cifran los datos, resulta que el algoritmo utilizado (TripleDES) para encriptar las contraseñas de nuestras cuentas, necesita una KEY para poder ENCRIPTAR/DESENCRIPTAR, entonces, ¿q pasa si esa KEY, cae en manos equivocadas?, Simple, puede automaticamente saber todas nuestras contraseñas. No se necesitan grandes procesos, ni saber mucho matematicas, en cualquier Decrpty solo pongo el valor de mi contraseña, y la KEY, y puedo saber cualquier contraseña.

Entonces no es solo proteger mis contraseñas de los usuarios, sino tambien la KEY[/b, que nos permite Encriptar/Desencriptar nuestras contraseas cuando desarrollamos.

PASOS PARA DESENCRIPTAR LAS CONTRASEÑAS DE INTERNET ACCOUNT MANAGER v1.2
  • Descargamos el SQLLite Browser para poder ver los datos en la base de datos SQL Lite, yo utilice http://sourceforge.net/projects/sqlitebrowser/
  • Bueno con el SQL Lite Browser, no necesito meter mis credenciales de Usuario/Password, ya que puedo ver toda la tabla de "REGISTROS", con eso me burlo la seguridad de Usuario/Contraseña de la aplicacion.
  • Cuando abro la Base de datos en SQL Lite Browser, solo m voy al tab de "Browse Data" y busco la tabla "Registros"
  • Alli aparecera el listado de todas mis cuentas, solamente que la contraseña estara encriptada con el algoritmo TripleDES
  • Copio la contraseña que quiero Desencriptar y la pego en el sitio http://decrypt.click-system.net/ (lo hic solo con fines educativos)
  • El sistema automaticamente descifrara la contraseña y nos devolvera la contraseña de la cuenta

Bueno eso seria todo, y al igual dejo el reto a CristianTorres, de cerrar ese brecha de seguridad en la aplicacion de credenciales.

Cualquier duda no duden en consultar.
<a href="http://www.gametracker.com/player/%7BAiPI%7DJuancho/94.127.17.72:11480/" target="_blank">
<img src="http://cache.www.gametracker.com/player/%7BAiPI%7DJuancho/94.127.17.72:11480/b_560x95.png" border="0" width="560" height="95" alt="" />
</a>

Desconectado cristiantorres

  • Sv Jr.
  • **
  • Mensajes: 76
  • Bendiciones para todos
    • Blog dedicado a la programacion
Re:Internet Account Manager V1.2
« Respuesta #12 : mayo 31, 2012, 03:20:37 pm »
Vaya, lo siguiente es unicamente con fines educativos. Lo coloco en este tema para q puedas investigar y hacer las correciones del caso.

TUTORIAL: COMO DESENCRIPTAR LAS CONTRASEÑAS DE INTERNET ACCOUNT MANAGER v1.2

Cuando uno desarrolla sistemas, donde involucran las contraseñas de usuarios, es de suma importancia tener muy en cuenta los cifrados y reglas de seguridad que debe de tener nuestra aplicacion. A su vez hay q informarse los algoritmos que se pueden utilizar, seguridad de la plataforma, xq no sabemos con que tipo de conocimiento cuenta nuestra atacante.

Anteriormente le pregunte a @CristianTorres, sobre el algoritmo de seguridad utilizado. Y m toco investigar un poco sobre el algoritmo ya que no lo conocia mucho. Cuando descubri q se ha comprobado q es altamente vulnerable a una decrypt en pocas horas. Bueno, fue un punto menos cuando estaba evaluando la aplicacion en aspectos de seguridad. Creo q ahorita uno d los algoritmos mas seguros es el AES, en mi caso ese hubiera sido la opcion para implementar en la aplicacion.

Ahora, ¿cual es el problema de Encriptar/Desencriptar contraseñas en una aplicacion?. Bueno si se trabaja con la plataforma .NET se ha comprobado que si no se toman en cuenta los aspectos de seguridad puede ser muy vulnerable nuestra aplicacion.
Por ejemplo, al desencriptar guardar la contraseña en un tipo de datos STRING, ese es un grave error, ya que con el GC (Garbage Collector), no es muy preciso q digamos para borrarlo de la memoria RAM nuestra variables, asi algunos meses lei un articulo sobre como obtener datos contraseñas cuando utilizamos los tipos String.

Al igual, en la parte de Seguridad de MSDN, mencione esto como un gran riesgo, para ello, .NET ofrece una clase llamada SecurityString, que es especialmente para esos propositos y corrije los errores de seguridad.

¿CUAL FUE EL FALLO EN INTERNET ACCOUNT MANAGER v1.2?
Bueno, en si para entender como se cifran los datos, resulta que el algoritmo utilizado (TripleDES) para encriptar las contraseñas de nuestras cuentas, necesita una KEY para poder ENCRIPTAR/DESENCRIPTAR, entonces, ¿q pasa si esa KEY, cae en manos equivocadas?, Simple, puede automaticamente saber todas nuestras contraseñas. No se necesitan grandes procesos, ni saber mucho matematicas, en cualquier Decrpty solo pongo el valor de mi contraseña, y la KEY, y puedo saber cualquier contraseña.

Entonces no es solo proteger mis contraseñas de los usuarios, sino tambien la KEY[/b, que nos permite Encriptar/Desencriptar nuestras contraseas cuando desarrollamos.

PASOS PARA DESENCRIPTAR LAS CONTRASEÑAS DE INTERNET ACCOUNT MANAGER v1.2
  • Descargamos el SQLLite Browser para poder ver los datos en la base de datos SQL Lite, yo utilice http://sourceforge.net/projects/sqlitebrowser/
  • Bueno con el SQL Lite Browser, no necesito meter mis credenciales de Usuario/Password, ya que puedo ver toda la tabla de "REGISTROS", con eso me burlo la seguridad de Usuario/Contraseña de la aplicacion.
  • Cuando abro la Base de datos en SQL Lite Browser, solo m voy al tab de "Browse Data" y busco la tabla "Registros"
  • Alli aparecera el listado de todas mis cuentas, solamente que la contraseña estara encriptada con el algoritmo TripleDES
  • Copio la contraseña que quiero Desencriptar y la pego en el sitio http://decrypt.click-system.net/ (lo hic solo con fines educativos)
  • El sistema automaticamente descifrara la contraseña y nos devolvera la contraseña de la cuenta

Bueno eso seria todo, y al igual dejo el reto a CristianTorres, de cerrar ese brecha de seguridad en la aplicacion de credenciales.

Cualquier duda no duden en consultar.

jeje para empezar dejame decirte que estoy un poco sorprendido(un poco no mucho) la verdad sabia que cualquier usuario con conocimientos intermedios podria desencriptarlas, y es que ninguna forma de encriptacion es 100% segura toda tiene su punto flaco claro hay unas mas seguras que otras pero ninguna se escapa a ser descifrada, pero viendo que tampoco estoy haciendo algo profesional solo fue algo que se me ocurrio y lo hice, pero esta bien descubristes la forma de desencriptarlo pero obviamente la bd que se queda en cada pc no la vas andar pasando de usuario en usuario para que te desencripte los datos.

Pero igual lo tendre en cuenta tus recomendaciones
Visita mi Blog C#, Asp.Net, Python y mas...
http://cristiantorresalfaro.blogspot.com
http://codemania.tk

Desconectado Juancho

  • The Communiter-
  • *
  • Mensajes: 1311
Re:Internet Account Manager V1.2
« Respuesta #13 : mayo 31, 2012, 04:42:36 pm »
jeje para empezar dejame decirte que estoy un poco sorprendido(un poco no mucho) la verdad sabia que cualquier usuario con conocimientos intermedios podria desencriptarlas, y es que ninguna forma de encriptacion es 100% segura toda tiene su punto flaco claro hay unas mas seguras que otras pero ninguna se escapa a ser descifrada, pero viendo que tampoco estoy haciendo algo profesional solo fue algo que se me ocurrio y lo hice, pero esta bien descubristes la forma de desencriptarlo pero obviamente la bd que se queda en cada pc no la vas andar pasando de usuario en usuario para que te desencripte los datos.

Pero igual lo tendre en cuenta tus recomendaciones

No men, tranquilo. Yo te lo comentaba de manera para q crezcas como profesional... Y ningun trabajo es asi de tomarlo como "fue algo que se me ocurrio", te lo digo xq tu programa lo pones a una comunidad salvadoreña. Quien quita q alguien de la comunidad de verdad utilize este tipo de herramientas y alla visto una muy buena opcion en tu SW. Entonces, imaginate lo utiliza en una empresa, entonces se podria dar este tipo de problemas.. Tu talvez lo veas como algo sencillito, pero puede ser a una persona q alla afuera le sirva un monton esta aplicacion q desarrollastes, y va a ser penoso q alguien con venga y el robe las contraseñas.

Tu no sabes si alguien d la comunidad se lo llevo a un empresa o quien quita noc.. entonces es mejor prevenir las cosas q pueden estar a tu alcance. Al menos yo siempre he tenido esa mentalidad, si quieres ser un profesional, entonces siempre intenta dar lo mejor de ti en cada uno de los trabajos en lo q t involucres, x muy insignificante, pero es una presentacion que habla de ti.

Ojo, el error no fue en el algoritmo de encriptacion. Fue en tu modo de programar. Los manuales basico de .NET hablan sobre como funciona el Interprete y el Compilador de .NET. Asi que puede venir cualquier persona q tenga conocimientos basicos de C# o VB y ocupa un Decompiler .NET, y tiene acceso a todo tu codigo.

Alli te quedan dos opciones para asegurar tu codigo:
1 - Utilizar un Ofuscador, (se vuelve mas dificil leer el codigo fuente del EXE)
2 - En vez de guardar una variable privada en la clase de Encriptacion (donde estan los 2 metodos, Encriptar/Desencriptar), puedes guardar a KEY, de manera encriptada, asi tu variable con la KEY, no esta visible para todos solo con el Decompiler.

Por cierto, si te ofendi, lo siento mucho, no era mi intencion. Pero siento que por ser una comunidad para aprender, creo q a mas de alguno esto le puede servir de ejemplo y tener un poquito mas cuidado en las aplicacines q desarrollen.
Saludos!
<a href="http://www.gametracker.com/player/%7BAiPI%7DJuancho/94.127.17.72:11480/" target="_blank">
<img src="http://cache.www.gametracker.com/player/%7BAiPI%7DJuancho/94.127.17.72:11480/b_560x95.png" border="0" width="560" height="95" alt="" />
</a>

Desconectado cristiantorres

  • Sv Jr.
  • **
  • Mensajes: 76
  • Bendiciones para todos
    • Blog dedicado a la programacion
Re:Internet Account Manager V1.2
« Respuesta #14 : mayo 31, 2012, 05:13:55 pm »
No no te preocupes no hay ningún problema, y si yo se que facilmente puedes obetener el codigo .net con algun decompiler como reflector, y si entiendo como fue que descubriste como desencriptar vista la key y luego solo aplicaste el algoritmo.
La solución que pense para evitar este inconveniente es que cada usuario que use la aplicacion ingrese su propia key así se evita poder desencriptar los datos porque cada usuario tendra key diferentes.

Pero de ninguna manera me has ofendido como tu dices todos estamos aqui para aprender luego posteare la nueva version para que veas como lo implementare.
Visita mi Blog C#, Asp.Net, Python y mas...
http://cristiantorresalfaro.blogspot.com
http://codemania.tk