sábado, 19 de abril de 2014

[Hack] Crypt5 la nueva seguridad de WhatsApp y Como ver las conversaciones (android)

Desinformado de la nueva actualizacion de WhatsApp, hace un tiempo leyendo unos papers de las convenciones de seguridad informática, encontré uno que hablaba sobre las nuevas medidas de seguridad que estaba aplicando whatsapp y me enteré de que habían cambiado su algoritmo de cifrado (mas vale tarde que nunca) y con él, los archivos a una extensión crypt5.
Profundizando mas en el tema, para realizar el cifrado es necesario además contar con la cuenta de correo asociada al smartphone. 
La clave utilizada para el cifrado también cambió y ha estado haciendo eco en distintos foros underground. El cifrado no es mas que AES CBC de 192 bits, al cual se le aplica un hash md5 del correo y se combina con la key y un vector de inicializacion.
Basado en la información, he actualizado el WhatsAppDecrypt para poder desencriptar tanto la versión vieja (en caso de que no tengan las actualizaciones automática) y la versión nueva crypt5.

Solo deben Descargar y Extraer la carpeta, luego su archivo msgstore debe estar en la misma carpeta que el programa y abrir el WhatsAppDecryptV2.exe

Desencriptando archivos .crypt:


Desencriptando archivos .crypt5:

Si no encuentra un archivo que desencriptar saldrá el siguiente mensaje:
Una vez desencriptado solo hay que obtener las conversaciones ya sea con algún programa para leer la base de datos como el SQLite Manager o convirtiéndolas a un formato legible con la aplicacion que programe para tal fin, WhatsAppLogExtractor v2


Descargar: WhatsAppDecrypt v2

Descargar: WhatsAppDecrypt v2 y WhatsAppLogExtractor v2

miércoles, 10 de julio de 2013

SpyAndroidFtp: Backup diario de tus conversaciones de Whatsapp a un servidor FTP

ACTUALIZACION(10/04/2014): Atencion, han hecho actualizaciones en whatsapp, y es probable que la aplciacion no funcione correctamente con las ultimas versiones de whatsapp. Estaré trabajando mientras tanto, para solucionarlo. 

Con el fin de automatizar el proceso de recuperación de la base de datos de whatsapp y adentrarme un poco en esto de la programación de aplicaciones para smartphones.
Anteriormente escribí unas entradas sobre como obtener las base de datos de whatsapp en Android
http://gonzac-studios.blogspot.com.ar/2012/03/hack-obtener-mensajes-de-whatsapp.html
y como desencriptar estas mismas.
http://gonzac-studios.blogspot.com.ar/2012/06/hack-desencriptar-y-obtener-datos-de.html
Incluso subí un programa para extraer y ordenar las conversaciones para una mejor lectura.

Pero tener que buscar la base de datos, conectar al equipo y pasarlos manualmente me parecía algo tedioso, si lo que se quiere es tener un respaldo en el PC. Entonces se me ocurrió, porque no mejor que una aplicación realice un respaldo cada cierto tiempo y lo envié a un servidor. Y que ademas sea transparente para el usuario.

SpyAndroidFtp (aun esta en su versión beta), te permite mantener un respaldo de tu base de datos de whatsapp 'msgstore.db.crypt' que son subidas cada 30 minutos a un servidor FTP en el cual tengamos cuenta. Ademas de hacer una recopilación del estado de red actual de nuestro smartphone, en caso de estar conectado por wifi y así mantener una estadística de la distancia, uso y redes.
Solo se requiere abrir la aplicación una sola vez para cargar los datos del servidor, y al salir un servicio seguirá enviando los archivos, incluso luego de encender y apagar el smartphone.

Screenshots:
Icono SpyAndroidFtp   


  • Camuflaje:Icono y nombre, no relacionado. Pantalla principal, texto y titulo no descriptivo. contraseña de seguridad única. (openyourmind)

 
  • Interfaz simple, comprobación del usuario, estado de la conexión y envió de datos.

DESCARGA: LINK

Configurar nuestro servidor
Para ello, no se requiere grandes conocimientos. Solo usaremos un web hosting gratuito cualquiera.
Yo voy a usar de ejemplo 000webhost.com , pero ustedes pueden utilizar cualquier otro incluso uno servidor propio o hosting de pago.

1-Elegimos "Free Hosting" y hacemos click en "Order now"

 2-Completamos los datos, donde dice "yourdomain.com" no lo tocamos, es solo si tenemos un dominio propio. Abajo completamos con el nombre que queramos, en mi caso "spyandroid", luego el nombre de usuario y contraseña.

3-Una vez confirmado el mail, nos logeamos y debemos entrar al CPanel "Go to CPanel"

4-En el CPanel, vamos a la parte "Files"  y luego a "View FTP Details"

5-Podremos ver los datos y cambiar la contraseña de nuestro FTP, recuerden anotarlos son los que usará el SpyAndroidFtp.
 

6- Volviendo al CPanel, en la parte "Files" tenemos también el "File Manager" donde podremos ver los archivos subidos luego de que configuremos el SpyAndroidFtp, y descargarlos. Pueden sino, descargar un programa como el "Filezilla" y loguearse con los datos del FTP y así no tener que abrir la pagina.

Instalar aplicaciones desde la sdcard
Una vez descargada la aplicación y copiada a la tarjeta de memoria del smartphone, solo hay que tener habilitada la opción instalar aplicaciones desde orígenes desconocidos, entrando a la parte de configuración,  a "ajustes"->"aplicaciones" y marcar la casilla.

E instalarlas desde el explorador de internet, escribiendo la direccion "file:///sdcard/spyandroidftp.apk"
también pueden usar un explorador de archivos, o aplicación para tal fin.

Aclaración: Al iniciar la aplicación va a pedir la contraseña (openyourmind), la primera vez que ingresen los datos puede que surja un error, volverá a la pantalla inicial y deberán colocar nuevamente los datos. Y no deberían tener ningún problema. Recuerden salir, de la pantalla con los botones para tal fin, así no queda a la vista.

miércoles, 13 de febrero de 2013

Gabinete de Red Local en casa

Quizá parecería innecesario tener un gabinete en casa, pero apuesto a mas de uno que debe tener un gran desorden de cable, y mucho mas aun aquellos que en lugar de un módem con wireless tienen por el router por un lado y el módem por otro. Ademas de unificar esto en un solo espacio, lo que se pretende es agregar otras funcionalidades que mejoren su rendimiento.
En primer lugar un temporizador, los que tengan un router les habra pasado almenos una vez que este pierde la conexión, por lo que tienen que desenchufar, esperar unos 20seg y volver a conectar. Para simplificar esto un temporizador al presionar un boton, desconecta la alimentación durante aproximadamente los 20seg y vuelve a conectar todo nuevamente.
En segundo lugar, un sensor de temperatura que mantiene la temperatura encendiendo unos ventiladores para evitar el recalentamiento por el uso constante.

TEMPORIZADOR MONOESTABLE:
-El conosidicimo 555 es ideal para esta función, si bien existen otras formas a partir de varicaps etc. Este integrado permite realizarlo de forma sencilla con unos poco componentes y fáciles de conseguir. El funcionamiento es realmente sencillo (aunque se necesite conocer la forma en que trabaja interiormente), el capacitor C3 inicialmente esta descargado, al accionar el switch se produce un pulso negativo en el pin 2 del integrado que internamente es un comparador conectado a un flip-flop interno (para quienes no saben es un dipositivo que puede permanecer en uno de sus dos estados), este flip-flop cambia su estado haciendo funcionar un transistor interno que habilita al capacitor y permite una salida en el pin 3 que activa  el transistor Q1 y a su vez un Relé (Este puede ser reemplazado por un Optoacoplador u otra circuito).
El capacitor irá cargandose lentamente, y una vez llegado a una capacidad aproximadamente de 2/3 el comparador volverá a resetear el flip-flop y dejará de enviar una salida al pin 3.
Como el tiempo esta dado por  VR1 y el capacitor C3, lo ideales colocar un potenciometro de 100k para regular el tiempo deseado. Luego el D1 es simplemente un diodo rectificador 1N4007 pero puede ser algun otro, para prevenir de corrientes inversas. Y el transistor NPN solo actua como interruptor, puede ser un BC548, 2n3904, 2n2222 etc. Yo creo que utilicé c945 que se encuentra casi en cualquier placa.
A ultimo momento se me ocurrió añadir ademas un led indicador, este simplemente se conecta antes de la resistencia del transistor, con una resistencia de 680ohm al led y el negativo del led a tierra.

COMPARADOR DE TEMPERATURA:
-Como verá cambie la palabra sensor a comparador, porque esta vez quise hacer algo diferente. Si bien se puede utilizar un sensor tipo lm35, estos son mucho mas preciso de lo que realmente se necesita, a menos que se requiera una temperatura de trabajo determinada. Por lo que decidí hacerlo mediante unos diodos rectificadores comunes. Y verán, el funcionamiento es muy sencillo.
Lo primero es tomar la alimentación y dividir en dos ramas con resistencias iguales, para mantener el mismo voltaje en las dos tramas y colocar adecuadamente los dos diodos en serie sin que interfieran. Para poder comparar las dos ramas se utiliza un Amplificador Operacional, este puede trabajar de varias formas y una de ellas es como Comparador, donde el voltaje de referencia se aplica a la entrada inversora (la que tiene el - ) y por la "no inversora" (+) el voltaje a comparar. Cuando la señal sea ligeramente superior, saturará el amplificador y la salida será alta permitiendo activar un transistor junto a un relé, optoacoplador u otro circuito.

Se utiliza un potenciometro de 100k (VR1) para poder regularlo según se desee, los diodos D1 y D2 son diodos rectificadores 1n4001, como todo componente tiene una resistencia interna. Estos deberian trabajar normalmete a temperatura ambiente, por lo que a medida que incrementa la temperatura el voltaje decrece -2mV/Cº. El Amplificador Operacional puede ser cualquiera, en este caso yo utilicé un 6562 (doble operacional) que encontre por ahi y viene en un encapsulado de 8 pines. Por ultimo el Q1 es un transistor PNP BC558, pero puede ser cualquier equivalente.

GABINETE:
-Esta parte depende de cada uno, se necesita de almenos dos tomacorrientes para cada transformador.
Y se conecta al contacto normalmente cerrado (nc) del relé. Ejemplo


-Para mi gabinete utilicé un CPU viejo que donaron para la ocasión, ya que lo estaban por desechar. Debo admitir que cuando me dijeron que hacia años que no se usaba no me imaginaba que tan deteriorado iba a estar.
Al parecer el oxido y el moho habían atacado gran parte del interior. Luego de eliminar los componentes, hacia falta remover los remaches para dejar solamente la estructura.
Una vez listo, solo hacia falta remover el moho y el oxido para poder pintarlo.

 Lo ideal es colocar una capa de convertidor de oxido o antioxido y luego de secarse utilizar aerosol para un acabado brillante y mas vistoso.
Para la conexión a la linea eléctrica, se me ocurrió aprovechar la fuente con su conector.
Solo era cuestión de cortar el lateral y volverlo a montar. Para soldar los conectores y poder cablearlo.
Finalmente se monta todo, los dispositivos van sobre una base, con unas perforaciones para los fan de la  ventilacion y el diodo de referencia se coloca afuera para que trabaje a temperatura ambiente, mientras que el otro se coloca debajo de donde se quiere controlar la temperatura. Acá el antes y el después:

 ----------------------------
 Algunas recomendaciones y mejoras: aislar todas las pistas, soldaduras y conexiones donde se trabaje con el voltaje de linea. Colocar interruptores para el encendido y el apagado total o parcial. Agregar un conector telefonico para chasis, crimpear un cable de red a medida, sellar las aberturas con acrílico, conectarlo a un UPS junto al teléfono inalámbrico para seguir online durante algún corte de luz. O inclusive se podria manejar la velocidad de los ventiladores como se vió en:
http://gonzac-studios.blogspot.com.ar/2010/05/mini-proyecto-regulador-de-ventiladores.html
Lo demas es solo cuestion de ingenio!.

viernes, 4 de enero de 2013

[Hack] Tarjetas magnéticas al descubierto.

Aclaración: Esto no es un tutorial. Gonzac Studios no se hace responsable por el mal uso de este material.

En el recuerdo quedo aquella vieja escena de Terminator 2 donde John Connor utilizaba su Atari Portafolio para extraer dinero de un cajero con una tarjeta robada. La escena aunque impresionante carecía de fundamentos en lo que respecta al funcionamiento de las tarjetas magnéticas.
video

Como la mayoría sabrá, las tarjetas magnéticas tienen una banda magnética que le permite almacenar información (generalmente identificación del usuario, pero puede almacenar otro tipo información). Y quizá sea los únicos medios magnéticos que se ven en la actualidad, ya que cassettes,  video cassettes, disckettes, etc; han quedado obsoletos.
Hoy en día, ha tenido muchísima difusión el skimming. Un tipo de fraude, consiste en clonar las tarjetas magnéticas. Y generalmente es difícil de detectar sino hasta que ya es tarde, debido a que cualquiera puede acceder a un lector de tarjetas, y no requiere ningún de método de comprobación. Inclusive en Internet venden kits para cajeros automáticos.
Recuerdo cuando tuve un poco mas de conocimiento en electrónica pude darme cuenta lo fácil que podía ser guardar la información incluyendo la proveniente del tecleado, con un circuito integrado programable. Y es por eso que hoy se ha expandido este tipo de robo.
*Pueden ver varios ejemplos en el blog de krebs.

¿Puedo clonar mi propia tarjeta?
La verdad que seria muy útil poder tener un duplicado de nuestra tarjeta en ciertos casos, por razones de seguridad, para reemplazar una tarjeta deteriorada etc.
La respuesta es si, ¿es legal? No. Las entidades se toman muy enserio la seguridad con respecto esto, ademas de cualquier "error" que pueda ocasionar una demanda. Y lo mas probable es que si te descubren con una tarjeta clonada, aunque sea tuya, tengas que dar declaraciones al respecto.

¿Hace falta un lector especifico, un software especializado y/o descifrar los datos?
Basándome en el principio de funcionamiento, la respuesta es: No necesariamente.
La banda magnética tiene almacenada la información en un formato determinado. Pero al leer esta información los datos deben ser enviados en forma de señal eléctrica y estas ondas son las que pueden almacenarse y reproducirse.
Como no hace falta "interpretar" la información, todos los "datos" se puede capturar en forma de señales.
Y para hacerlo mas entretenido voy a mostrar un ejemplo con un viejo walkman.
Obviamente antes hay que desarmarlo y hacerles unas pequeñas modificaciones.
El walkman va conectado directamente al pc, mediante un cable desde salida de los auriculares del walkman y la entrada del micrófono del pc. Se Agrega un capacitor de 10uF y una resistencia de 4,7k para mejorar la respuesta.
 Para alimentar el walkman se utilizó un circuito similar al visto en el "regulador de ventiladores de pc", solo que este se conecta al usb.
Lo ideal seria conectar la entrada al pin 2 y entre la 1 y 2 conectar un polyswitch (fusible rearmable) de 100 a 300mA para cuidar de posibles cortos.
Obviamente el lector magnético debe estar fijo y a una altura que permita leer la banda a una medida especifica. Según lo que se desea almacenar, las tarjetas pueden utilizar hasta 3 franjas dentro de la banda oscura.
Si observamos unos repuestos de lectoras, podemos ver que hay de 2 franjas y de 3. Esto es porque muchas dejan la tercer franja sin utilizar.
Una vez conectado todo, solo se graba y se almacena. Obviamente esa señal de onda al ampliar la escala de tiempo se puede descomponer en distintos ciclo de onda que representa niveles lógicos. Como en redes, la conversión digital/digital es decir niveles lógicos a señal puede hacerse de múltiples formas y también es utilizado en otros medios. En este caso se encuentra relacionado con la conversión bifásica, mas específicamente "manchester diferencial" donde por cada dígito le corresponde un valor alto y bajo. Siempre comenzando por uno alto, repitiéndose el patrón anterior por cada 0 e invirtiéndose la onda al aparecer un 1.
Como la idea no es leer y descifrar el contenido de la tarjeta. Lo que voy a hacer es simular la cinta magnética induciendo la señal en un material ferromagnético. Y para ello es necesario amplificar la señal, así como cuando se tiene un parlante mas grande.
Se utiliza un potenciometro de 10k (VR1) para graduar la intensidad, y la bobina esta hecha de un material ferromagnetico que corte al cual se le enrolla un alambre de cobre esmaltado ultra delgado similar al de las bobinas de las radios viejas, con aproximadamente 90 vueltas.
Y así quedaría terminado el "prototipo", luego solo habría que pasarlo a una plaqueta para poder transportarlo con facilidad.
Acá un vídeo de la prueba de funcionamiento

-------------------------------------------------
Quería hacer solo una analogía a la escena de Terminator, el dispositivo puede ser modificado para usarlo en cualquier dispositivo portátil, o inclusive con un integrado de la familia del isd2560.
Saludos

lunes, 12 de noviembre de 2012

[Hack] Android Facebook Disclosure & Como robar una cuenta

Hace tiempo que venia pensando como podría ser el funcionamiento de la aplicación móvil de facebook. Me intrigaba como la aplicación obtenía los datos de una consulta web. Es decir, el navegador envía una consulta y el servidor devuelve una respuesta con el contenido del archivo html que luego interpreta y muestra. Básicamente siempre se envía una consulta, quizá algo diferente en AJAX pero internamente es el mismo proceso. Entonces ¿Como la aplicación recibía la información y la almacena para luego mostrarla? no me refiero a la conexión ya que es cuestión de sockets, sino al almacenamiento de cookies, datos etc.

Basándome que android tiene una ruta general para almacenar los datos del móvil, y que utiliza SQLite (un psudomotor de base de datos con estructura, metadatos y datos en un solo archivo)  para almacenar toda la información, decidí  realizar el mismo procedimiento que en la entrada de whatsapp http://gonzac-studios.blogspot.com.ar/2012/03/hack-obtener-mensajes-de-whatsapp.html :

Utilizo el Android Terminal Emulator para abrir una terminal o consola y así acceder a los directorios del sistema y usatilizar algunos comandos de linux.
A diferencia de con whatsapp, los archivos base de datos de facebook tienen restringido copiar o mover los archivos. Es decir que si nos posicionamos en la carpeta donde se encuentran los archivos para copiarlos o al revés, posicionados desde la tarjeta de memoria. No se nos permitirá aunque seamos superusuarios.

La primera falla está en que el sistema no bloquea la manipulación de la carpeta, entonces uno puede copiar la carpeta con sus archivos en su interior. Ya sea utilizando copia recursiva, o copiando solo la carpeta base de datos de facebook.
Como no sabia exactamente donde buscar, lo que hice en una primer instancia fue utilizar copiado recursivo donde antiguamente encontré la base de datos de whatsapp. De esta forma copie todos los datos de la carpeta "/data/data" para luego analizar con mas detenimiento cada carpeta.


Dentro de esta carpeta existe una llamada "com.facebook.katana" y dentro de la misma otra llamada "databases". En esta ultima el segundo fallo; facebook no encripta los datos.
¿Que se guarda en ellas? Dentro hay 3 archivos, el mas interesante es el "fb.db". Al igual que con whatsapp, utilizo el SQLite Manager para abrir la base de datos y ¡Eureka!. 
La aplicación facebook hace una consulta al servidor, en primer lugar enviando el usuario y la contraseña para luego obtener una sesión y todos los datos que necesita para visualizar. Es decir, el servidor envía las notificaciones, noticias, mensajes, información de contactos, etc. Las almacena y guarda para luego tener un fácil acceso a ellas. 
-Datos de amigos de facebook

-Información de amigos, para agregar a la agenda

-Historial de chat

-Contactos con los que se ha conversado

Un usuario o aplicación maliciosa que tenga acceso al móvil  roba esta base de datos y puede tener acceso a la información que se registró en el momento. Si bien es peligroso por la cantidad de información, existe un fallo gravisimo en la forma en que se conecta.

¿Como robar una cuenta de facebook?
El tercer fallo y el mas grave, es que para mantener la sesión iniciada en el móvil, la aplicación almacena las credenciales del usuario.


 Obviamente no se revela la contraseña, pero esta no es necesaria para iniciar sesión. La base de datos puede ser usada para ser leída por la aplicación móvil como una sesión ya iniciada. Veamos un ejemplo:
-En primer lugar no tiene que haber ninguna sesion iniciada
-En la tarjeta de memoria con la base de datos "fb.db" que un atacante robó previamente de un teléfono móvil. Utiliza el Android Terminal Emulator, copiando el archivo a la carpeta de facebook y forzando su reemplazo con el comando 
cp fb.db /data/data/com.facebook.katana/databases/fb.db -f
-Ahora al abrir nuevamente la aplicación, entrará directamente a la cuenta de facebook robada

---------------
Quizás con un poco de estudio, se pueda crear una aplicación para robar los datos, generar una credencial valida o romper el sistema de generación de identificaciones. Digo... son solo unas ideas.

jueves, 11 de octubre de 2012

Jornadas de Informática 2012 - UNPA

Dejando el hacking un poco de lado, les comento que el pasado miércoles 10, se dio inicio a las jornadas de informática en la universidad nacional de la protagoniza austral con sede en Río Gallegos. Aunque menos días de lo habitual, alcanzó para realizar una amplia variedad de cursos y charlas.
El primer día se realizó un recorrido por establecimiento y se comenzó con algunas charlas como "Introducción a la Programación con Mundos 3D" entre otras. Y un curso de reparación de Pc. A su vez, se inauguró el "Museo de la informática", con la evolución de la informática en las ultimas décadas.




-Comparación, antiguos servidores.


-Teclados no estandarizados: La tecla diagonal izquierda arriba.
-Teclados no estandarizados: Flechas consecutivas. 

-Izquierda: Válvula de vació. Derecha: Memoria núcleo de ferrita.

El segundo día se continuó con las diferentes charlas, un curso básico sobre redes inalámbricas y el esperado por los amantes del software libre, "La clínica de linux" con la ultima distribución de ubuntu, y para los mas avanzados "Virtualizacion de sistemas, basado en linux".

El ultimo día se realizó un pequeño concurso de redes, no como el reto de http://gonzac-studios.blogspot.com.ar/2010/09/el-reto-del-concurso-de-redes.html, sino algo mucho mas básico. Se continuó con otras charlas y finalmente se dio lugar a una de las mas concurridas "Overclocking Extremo", explicando los conceptos mas básicos del overclocking, pasando a overclocking avanzado y realizando una demostración con nitrógeno liquido alcanzando casi por unas décimas el récord mundial.



-------------
Las capturas de los cpu benchmark se los debo, porque no me quedaba mas memoria en el celular!.