16 marzo 2014

Enlaces de la SECmana - 218


57 comments :

Juanker M dijo...

En una consola de comandos, tienes que haber instalado el M2Crypto que es un módulo, y el Python 2.7, no te olvides de instalar el pycrypto tampoco, pero si quieres que funcione de verdad, usa Java, he escrito un tuto arriba.

Juanker M dijo...

Si quieres que funcione de verdad, usa Java, he escrito un tuto arriba.

Juanker M dijo...

Exacto, aunque es preferente usar Java, funciona sobre seguro.

Milton dijo...

Em java existe erro: Exception in thread "main" java.security.InvalidKeyException: Ilegal key size

Matias dijo...

Pero cómo! Qué programas necesito? A donde escribo eso?

Juanker M dijo...

Instala el JCE en la carpeta

C:\Archivos de programa\Java\jdk1.7.0_51\jre\lib\security

Son dos archivos .jar llamados US_export_policy.jar y local_policy.jar



pégalos y dejará de dar el error

Kamonaco dijo...

Hola, Despues de usar el codigo mensionado, he encontrado algunas dificulatades:

1) Aparte de tener instalado Python, se debe tambien instalar el componente M2Crypto.

2) Al invocar el script, el parametro de cuenta debe ser posterior al archivo que vamos a desencriptar.

3) Finalmente luego de que la base de datos es descriptada estoy usando Sqliteman para leer los datos y obtengo este error "Query Error: database disk image is malformed Unable to fetch row"



Si alguien ha pasado de este punto, agradeceria me informara como lo ha hecho.


Gracias

Oswaldo Sandoval dijo...

Puedes usar el complemento para Firefox, con esto las puedes exportar a Excel sí deseas...

Oswaldo Sandoval dijo...

Comparte el error para poderte ayudar

Oswaldo Sandoval dijo...

Matías escribe por el interno para poderte ayudar arriba y como todos han postrado es sólo seguir las alternativas...

crimga dijo...

Hola, que complemento es?
Gracias

Milton dijo...

Já tinha feito isso e continuou o erro.

crimga dijo...

Hola, lo primero dar las gracias por compartir la informacion, he probado el script, funciona, pero me da el siguiente archivo "msgstore.sdb", entonces, ahora que hago con él para poder leerlo?
Muchas gracias
Saludos

crimga dijo...

pues no se hacerlo, a ver si me podeis echar un cable, soy muy torpe.
Gracias

Oswaldo Sandoval dijo...

Hola:

Desde firefox:

https://addons.mozilla.org/es/firefox/addon/sqlite-manager/

Instalar

Agregar a Firefox -> Permitir -> Instalar ahora - Reinicia Firefox

Usar:

Herramientas - SqLite Manager -> Y listo cargas la db para poder leer el contenido..

Oswaldo Sandoval dijo...

Si ese es el contenido de la db quiere decir que no ha funcionado...

Galaxy dijo...

Yo si pude con ubuntu server, porque sobre windows da error.

Ubuntu Server ya viene con phyton, solo agregué el siguiente comando:

sudo apt-get install python-m2crypto

y luego en la terminal lo puse así, debido a que asi lo guarda el server el php

python pwncrypt5.py correo@gmail.com.msgstore.db.crypt5 correo@gmail.com > msgstore.sdb

Cero errores :)

galaxy s2 dijo...

Yo si pude con ubuntu server, porque sobre windows da error.

Ubuntu Server ya viene con phyton, solo agregué el siguiente comando:

sudo apt-get install python-m2crypto

y luego en la terminal lo puse así, debido a que asi lo guarda el server el php

python pwncrypt5.py correo@gmail.com.msgstore.db.crypt5 correo@gmail.com > msgstore.sdb

Cero errores :)

Elfo dijo...

Hola Juan, si por clave te refieres a la cuenta asociada, esta es correcta. Cuando pones una incorrecta el mensaje es distinto "bad decrypt".

Juan dijo...

Entonces ignoro el problema, cuando pueda lo probare yo de primera mano.

crimga dijo...

Entonces como lo hago, cual se supone que debería ser el contenido de la db?

crimga dijo...

Como se instala JCE y en que carpeta los instalo?

Estoy solo a ese paso

"C:\Program Files\Java\jdk1.7.0_51\bin>java WhatsAppDecrypt5 msgstore.db.crypt5 d
ecrypted.db user@gmail.com
Exception in thread "main" java.security.InvalidKeyException: Illegal key size
at javax.crypto.Cipher.checkCryptoPerm(Cipher.java:1024)
at javax.crypto.Cipher.init(Cipher.java:1345)
at javax.crypto.Cipher.init(Cipher.java:1282)
at WhatsAppDecrypt5.decrypt(WhatsAppDecrypt5.java:57)
at WhatsAppDecrypt5.main(WhatsAppDecrypt5.java:37)"

Gracias

crimga dijo...

Como se instala JCE y en que carpeta los instalo?

Estoy solo a ese paso, esto es lo que me sale en la consola:

"C:\Program Files\Java\jdk1.7.0_51\bin>java WhatsAppDecrypt5 msgstore.db.crypt5 decrypted.db user@gmail.com
Exception in thread "main" java.security.InvalidKeyException: Illegal key size
at javax.crypto.Cipher.checkCryptoPerm(Cipher.java:1024)
at javax.crypto.Cipher.init(Cipher.java:1345)
at javax.crypto.Cipher.init(Cipher.java:1282)
at WhatsAppDecrypt5.decrypt(WhatsAppDecrypt5.java:57)
at WhatsAppDecrypt5.main(WhatsAppDecrypt5.java:37)"

Gracias

dalton dijo...

Hola Juanker
tengo instalado Python 2.7 y he descargado el modulo M2Crypto, pero o no se importarlo o no se usar el modulo. ¿Cómo se hace?
gracias

Juanker M dijo...

Uso SQLite Database Browser 2.0 b1 :)

Juanker M dijo...

Me encantaría trabajar con vosotros :)

Juanker M dijo...

Utiliza el visor de bases de datos SQLite Database Browser 2.0 b1



Está indicado para ese tipo de archivos

Juanker M dijo...

Mira el tutorial de Java, python salta con un error de malformación de la base de datos, unas líneas más abajo tienes el comentario.

Juanker M dijo...

crimga, necesitas descargar de la página de Oracle los archivos

US_export_policy.jar

local_policy.jar

y copiarlos en la carpeta C:\Archivos de programa\Java\jdk1.7.0_51\jre\lib\security



Esa es la única forma de instalar el JCE y que funcione. Realmente el JCE no lleva instalador.

Cabsha dijo...

Despues de copiar esos dos archivos, a mi me sale el siguiente error:

Exception in thread: "main" java.lang.ExceptionInInitializerError

at javax.crypto.Cipher.getInstance... etc. etc.

Caused by: java.lang.SecurityException: Can not initialize cryptographic mechanism

at javex.crypto.JceSecurity etc etc.

Caused by: java.lang.SecurityException: The Jurisdiction policy files are not signed by a trusted signer!

Cabsha dijo...

Bueno, ya vi que era, estaba usando JCE versión 6 y no la 7. Ya tengo acceso a los datos, ¿sabrás como ordenar las conversaciones y exportarlos a Excel?

Joaquín Fuentes dijo...

me sumo a esta duda, tengo instalado python pero al intentar desencriptar me dice que me fata el modulo M2Crypto, lo googlié y descargué pero ahora... que hago con el?? :S gracias

Joaquín Fuentes dijo...

Ya obtení el archivo, pero el SQLite Database broser que usas tu me dice que el archivo no es una base de datos tipo 3 :S

Vago901 dijo...

Hola , amigo te cuento ya pude usar tu código y me genero el msgstore.sdb pero no se como abrirlo , se que esta correcto el archivo pues al abrirlo con bloc de notas al buscar alguna palabra la encuentra incluso números de teléfono , pero no se con que abriri esta extencion , si me puedes ayudar te agradezco

crimga dijo...

Muchas gracias
Ya me funciona.
Ahora, en este archivo sale todo muy desordenado, como se podría ordenar, por ejemplo por numeros de telefono (por contactos)?


Saludos

Cabsha dijo...

Hola, supongo que timestamp. es la hora en que se recibe o mandan los mensajes, ¿cómo los puedo convertir a un formato entendible?, tengo estos dos ejemplos, ¿qué fecha y hora son exactamente?timestamp13945103010001394510327403


Igual me aparecen el .db. URL de las imágenes (columna media_url) que se mandan en las conversaciones, si la copio y pego en el navegador no me abre nada (pero en www.recovermessages.com veo que si saben como acceder a esa URL, ya que se ven las imagenes que se han mandado en las conversaciones), ¿cómo puedo acceder a ellas?

Joel dijo...

Gracias por el codigo... aunque sigo teniendo problemas... despues de resolver lo del modulo M2crypto (No module named M2Crypto) ahor atengo este otro error que no he podido resolver... (No module named __m2crypto) he buscado en google y segun esta relacionado con el modulo recien instalado... alguien se topo con el mismo problema... o alguna idea de como resolverlo???
Saludos

Juanggv dijo...

Hago todo lo que decís: Instalo el Python 3.3, copio el código "pwncrypt5.py" en la carpeta donde tengo el fichero "msgstore.db.crypt5", tengo un programa de extensión .bat donde tengo incluido:
@ECHO ON
set path=%~dp0;%pythonpath%;%path%
@ECHO ON
python pwncrypt5.py msgstore.db.crypt5 jgallegogdv@gmail.com > msgstore.sdb
pause
Y después de muchas.. muchas...pruebas me sigue diciendo:
print 'usage %s > decrypted.db' % sys.argv[0]
SyntaxError: invalid syntax.
¿Qué hago? Estoy desesperado.
Gracias

Juanker M dijo...

Si sabes algo de lenguaje SQL prueba a meterle una consulta tipo:
SELECT *
FROM messages
ORDER BY key_remote_jid

Juanker M dijo...

Hay un apartado en el SQLite Database Browser que dice "Execute SQL"

En el cuadro de texto de arriba escribe la siguiente consulta que te voy a pegar (copia y pega si quieres):

Si sabes algo de lenguaje SQL prueba a meterle una consulta tipo:


SELECT *
FROM messages
ORDER BY key_remote_jid



Esa consulta selecciona todos (*) los mensajes de la tabla messages y los ordena por key_remote_jid, es decir, por el número de teléfono con el que tienes la conversación.


Si se te queda pillado el programa es normal, es pequeña como para poder con toda la consulta sin colgarse, en unos diez segundos como mucho deberías tener abajo el resultado de la consulta, ordenado por número de teléfono.


Si quieres otro tipo de ordenación prueba a cambiar el ORDER BY y elige la clave (teléfono, fecha, etc...) tú mismo para ir probando hasta dar con la que más te convenza :)

Ferchus dijo...

Instale M2Crypto-0.21.1.win32-py2.7 en la carpeta C:\Program Files\Python27\Lib\site-packages
Al ejecutar el pwncrypt5.py me da el siguiente error: alguien me puede indicar cual es el problema?

Traceback (most recent call last):
File "pwncrypt5.py", line 13, in
from M2Crypto import EVP
File "C:\Program Files\Python27\lib\site-packages\M2Crypto\__init__.py", line
22, in
import __m2crypto
ImportError: DLL load failed: No se puede encontrar el m¾dulo especificado.

Gracias

Cabsha dijo...

Si, lo exporté a Excel y ya puede ordenarlo, filtrarlo, ahora tengo la siguiente duda si tienes idea:

Supongo que timestamp. es la hora en que se recibe o mandan los mensajes, ¿cómo los puedo convertir a un formato entendible?, tengo estos dos ejemplos, ¿qué fecha y hora son exactamente?

timestamp

1394510301000

1394510327403

¿O en que tabla se almacena la fecha y hora de los mensajes?


Igual me aparecen el .db. URL de las imágenes (columna media_url) que se mandan en las conversaciones, si la copio y pego en el navegador no me abre nada (pero en www.recovermessages.com veo que si saben como acceder a esa URL, ya que se ven las imágenes que se han mandado en las conversaciones), ¿cómo puedo acceder a ellas?

Javi dijo...

No me funciona, me dice que no es un archivo SQLite 3.
He probado con otras aplicaciones y no me ha servido ninguna...
¿Puedes ayudarme? Gracias.

Cabsha dijo...

Sabras como acceder a las URLs de imagenes que están guardadas en la db?

Diego Perez dijo...

Amigo la verdad no entiendo nada de eso, si te envio el archivo ud me lo desencripta ? gracias

Oswaldo Sandoval dijo...

Como se escribio en hilos anteriores con SQLite manager por ejemplo

John dijo...

it's possible to creat a program to decrypt with that script? like whatsapp_xtract?

Irving Ibrahim Bach dijo...

TEngo el mismo problema, ya he buscado informacion en internet pero no logro resolverlo. Y no ayuda mucho ser novato en python :(

Javier dijo...

Muchas gracias por el aporte!! muy util la información.
Tengo una
consulta, he seguido todos los pasos hasta lograr crear la base
msgstore.sdb. Desde Firefox intento abrirla con el complemento SQLittle y
me dá el siguiente error:

SQLiteManager: Error in opening file msgstore.sdb - either the file is encrypted or corrupt
Exception Name: NS_ERROR_FILE_CORRUPTED
Exception
Message: Component returned failure code: 0x8052000b
(NS_ERROR_FILE_CORRUPTED) [mozIStorageService.openUnsharedDatabase]

Que podria estar haciendo mal??

Muchas gracias!!

Javi dijo...

Cómo abres luego el archivo .sdb? Con el programa que comentan arriba, SQLite Browser, me dice que no es un archivo SQLite 3... Me ocurre lo mismo con Java.

pepitopiscinas dijo...

alguien puede explicar paso a paso? no consigo entender como he de hacerlo en plan dummie total... gracias

fran70 dijo...

cambiale la extensión a los archivos por .db.sqlite

Javi dijo...

Gracias por la respuesta, pero me sigue apareciendo el mismo error. He probado con .sqlite, .sqlite3, .db.sqlite, .db.sqlite3, .db3. Ninguno funciona...

Pablo dijo...

Copio el script en Python 2.7, luego le doy enter y me sale lo siguiente abajo de todo,"'\n48bits presents:\n8===============================================D~~~\nWhatsApp msgstore crypt5 decryptor by grbnz0 and nullsub\n8===============================================D~~~\n'"


Se supone que no tengo errores.
Despues voy al CMD y pongo "C:\Python27>python pwncrypt5.py cuenta@gmail.com msgstore.db.crypt5 > msgst
re.sdb"
Y me da el siguiente error:
C:\Python27>python pwncrypt5.py pablovm430@gmail.com msgstore.db.crypt5 > msgst
re.sdb


¿Alguien puede ayudar?

Pablo dijo...

Copio el script en Python 2.7, luego le doy enter y me sale lo siguiente abajo de todo,"'\n48bits presents:\n8===============================================D~~~\nWhatsApp msgstore crypt5 decryptor by grbnz0 and nullsub\n8===============================================D~~~\n'"


Se supone que no tengo errores.
Despues voy al CMD y pongo "C:\Python27>python pwncrypt5.py cuenta@gmail.com msgstore.db.crypt5 > msgst
re.sdb"
Y me da el siguiente error:
C:\Python27>python pwncrypt5.py cuenta gmail.com msgstore.db.crypt5 > msgst
re.sdb


¿Alguien puede ayudar?

marcial perez nuñez dijo...

Me marca un error en la linea 13

No module named M2crypto

popewan dijo...

Mi error es que me dice acceso denegado. Alguna sugerencia