jueves, 22 de octubre de 2015

Modificación de mensajes manipulando la base de datos de WhatsApp

Demostración de como es posible falsificar mensajes de WhatsApp de tal forma que la manipulación podría perfectamente pasar inadvertida para un perito informático que realizase una investigación forense sobre el terminal móvil.
WhatsApp es la aplicación de mensajería instantánea más utilizada del mundo. Más de setecientos millones de usuarios en todo el planeta (la décima parte de toda la Humanidad), la utiliza para intercambiar mensajes de texto y de voz, ficheros de audio y de vídeo, etc. El hecho de que sea una aplicación universalmente utilizada, implica también que muchas personas, involucradas en procesos judiciales, presenten los mensajes de WhatsApp como prueba si quieren demostrar que una conversación, en unos términos concretos, ha tenido lugar entre determinados interlocutores.
Seguidamente, se ha de indicar que la base de datos interna de WhatsApp utiliza SQLite como Sistema Gestor de Base de Datos, por lo que se trata, por tanto, de un sistema relacional. Asimismo, una copia de esta base de datos, se encuentra fácilmente accesible conectando el terminal móvil al ordenador, estando ésta cifrada mediante criptografía simétrica utilizando el algoritmo AES, cuyo funcionamiento puede observarse en el siguiente diagrama.
Como se puede apreciar, la clave de cifrado y descifrado es la misma. Esto equivale a decir que la misma clave se utiliza para cifrar y para descifrar la base de datos, estando ésta almacenada y accesible en el directorio que utiliza WhatsApp. Sin embargo, la base de datos original, es decir, la que es utilizada por la aplicación para almacenar los mensajes inmediatamente después de ser enviados o recibidos, no está cifrada, sino que se encuentra almacenada en texto claro en uno de los directorios que la aplicación tiene en el sistema operativo. Esta base de datos no es accesible conectando directamente el terminal al ordenador, pero sí lo es una vez el terminal Android ha sido rooteado, es decir, configurado para ser accedido en modo súper-usuario, lo cual es algo muy sencillo de realizar incluso para usuarios no expertos.
Así pues, una vez el móvil ha sido rooteado (para este ejemplo, se usará el Wiko Goa), tener acceso a la base de datos original es una operación muy sencilla. Para ello, usando la utilidad ADB para Windows de las herramientas de desarrollo de Android, es necesario ejecutar los siguientes comandos al objeto de abrir una sesión con el terminal (primeramente es necesario haber instalado correctamente las herramientas de desarrollo de Android y los drivers del dispositivo móvil del cual se desea obtener su base de datos de WhatsApp, así como haber activado el “modo de depuración USB” en el citado terminal Android):
C:\android-sdk-windows\platform-tools>adb devices C:\android-sdk-windows\platform-tools>adb shell
Una vez se han ejecutado estos dos comandos, la utilidad ADB abre una sesión con el terminal móvil, tal y como se observa en la siguiente imagen.
Es necesario indicar que, como servidor de ADB en el dispositivo móvil, es posible que sea necesario instalar y ejecutar una aplicación como ADB Insecure, más conocido como ADBD, al objeto de que se pueda transferir información entre el móvil y Windows y viceversa. Esto es así debido a que ciertas características de la utilidad ADB de serie no pueden ser utilizadas en versiones estables, es decir, finales, de Android, sino únicamente en versiones de desarrollo.
A continuación, es necesario acceder en modo súper-usuario al terminal, ya que la base de datos original de WhatsApp se encuentra en un directorio que sólo puede ser visualizado con privilegios de administrador. Para ello, es necesario ejecutar el comando “su”, tal y como se aprecia en la siguiente imagen.
Siendo ya súper-usuario, es necesario moverse al directorio en el que se encuentra la base de datos original de WhatsApp, ejecutando el siguiente comando:
# cd /data/data/com.whatsapp/databases
Al ejecutar un listado de los ficheros presentes en dicho directorio, mediante el comando “ls -la”, se aprecian los siguientes archivos:
Como se puede observar, el fichero que interesa es el remarcado en rojo. Ésta es la base de datos original de WhatsApp en la que se almacenan los mensajes inmediatamente después de ser enviados o recibidos. Una vez se ha visualizado el archivo que interesa, es necesario ejecutar el comando “exit” dos veces para volver a Windows, ya que será desde allí desde donde se tomará el archivo de base de datos de WhatsApp.
Ya en Windows, es necesario ejecutar el siguiente comando, al objeto de traer a Windows la base de datos (aunque es necesario, previamente, para disponer de todos los mensajes, incluyendo los enviados y recibidos en último lugar, haber realizado una copia de seguridad de los mensajes desde la propia aplicación WhatsApp, en el menú Ajustes -> Chats y llamadas -> Guardar chats):
C:\android-sdk-windows\platform-tools>adb pull /data/data/com.whatsapp/databases/msgstore.db
La ejecución exitosa del comando presenta la siguiente información en la consola:
La siguiente captura de pantalla del directorio de Windows en el que se encuentra la utilidad ADB, muestra que en dicha carpeta ha sido depositado el fichero “msgstore.db” (seleccionado en la imagen):
Para abrir el mencionado fichero de base de datos, será necesario un cliente de SQLite, habiendo sido seleccionado para este ejemplo el cliente de código abierto SQLiteStudio. Así pues, es necesario abrir el programa y, posteriormente, navegar hasta el menú Database -> Add a database, al objeto de añadir una nueva base de datos, por lo que se deberá buscar y seleccionar el archivo de base de datos que se desea alterar, en este caso “msgstore.db”, localizado en el directorio en el que se encuentra la utilidad ADB. Una vez añadida la base de datos, ésta aparece en SQLiteStudio como se aprecia en la siguiente imagen (remarcada en rojo).
Seguidamente, es necesario conectarse a la base de datos. Para ello, con la base de datos seleccionada, hay que navegar hasta el menú Database -> Connect to the database, de tal forma que el cliente se conecta inmediatamente a la base de datos. Desplegando la base de datos, se puede observar que ésta está conformada por once tablas, tal y como se observa en la siguiente imagen.
De todas estas tablas, las que interesan son las siguientes: messages, que almacena los mensajes enviados y recibidos, así como varias propiedades de los mismos. messages_fts_content, que almacena los mensajes enviados y recibidos sin ninguna propiedad, únicamente con la misma clave primaria que en la tabla messages.
Para modificar un mensaje enviado o recibido es tan sencillo como realizar los siguientes pasos: En primer lugar, es necesario conocer la clave primaria del mensaje que se desea modificar. Para ello, lo más óptimo es ejecutar una consulta de búsqueda por el patrón del mensaje en el propio cliente de SQLite. Así pues, para modificar el mensaje del ejemplo, se ejecutará la siguiente consulta, que proporcionará todos aquellos mensajes donde aparece la palabra “whatsapp”, de tal forma que pueda tomarse el identificador del mensaje que se desea modificar:
select * from messages where data LIKE “%whatsapp%”;
La ejecución de la consulta se aprecia en la siguiente imagen, en la que únicamente se han devuelto dos registros, debido a que la palabra “whatsapp” sólo aparece dos veces en todos los mensajes (se ha remarcado en rojo, asimismo, el botón del cliente de SQLite con el cual se puede acceder al editor de SQL).
Una vez realizados todos los pasos anteriores, es necesario seleccionar con el botón derecho del ratón la base de datos en SQLiteStudio y ejecutar la opción Disconnect from the database, para acto seguido salir del programa. Posteriormente, se debe copiar la base de datos alterada en el teléfono, sustituyendo la original. Para ello, es necesario ejecutar el siguiente comando en la consola de Windows (como se mencionó anteriormente, la aplicación ADB Insecure debe encontrarse en ejecución en el móvil):
C:\android-sdk-windows\platform-tools>adb push msgstore.db /data/data/com.whatsapp/databases/msgstore.db
Para dejar el menor rastro posible de la manipulación, es necesario modificar tanto el propietario como el grupo del fichero de base de datos, que al haberlo copiado como root, es decir, como súper-usuario, tendrá tanto este propietario como este grupo. Para apreciarlo, se debe navegar hasta el directorio en el que se encuentra la base de datos, ejecutando los siguientes comandos:
C:\android-sdk-windows\platform-tools>adb shell # su # cd /data/data/com.whatsapp/databases # ls –la
Como se puede apreciar dentro del rectángulo remarcado en rojo, el nuevo propietario del fichero “msgstore.db”, es el súper-usuario, así como también el nuevo grupo del fichero es el grupo del súper-usuario. Para revertir esta situación, es necesario ejecutar el siguiente comando:
# chown u0_a88:u0_a88 msgstore.db
Una vez realizado todo el proceso, debe reiniciarse el teléfono móvil y acceder, mediante la utilidad ADB, al directorio en el que se encuentra la base de datos, al objeto de comprobar que las fechas de último acceso de la misma se han actualizado y que no es pòsible determinar si la base de datos ha sido sustituida por una alterada. Para ello, es necesario ejecutar los siguientes comandos:
C:\android-sdk-windows\platform-tools>adb devices C:\android-sdk-windows\platform-tools>adb shell # su # cd /data/data/com.whatsapp/databases # ls -la
La última modificación de la base de datos es muy similar al resto de fechas de los otros archivos utilzados por WhatsApp, por lo que sería muy difícil dictaminar que la base de datos ha sido manipulada. Para ello, serían necesarias técnicas de file carving, es decir, recuperación de ficheros borrados, las cuales son muy costosas debido a las herramientas hardware y software necesarias y, además, no garantizan el éxito porque las áreas del sistema de ficheros ocupadas por ficheros borrados, son sobrescritas por el sistema operativo en función de las necesidades de éste.
Todas las soluciones de seguridad con la huella digital las encuentra en: https://sites.google.com/site/inbiosys/
Queremos mejorar cada día más, necesitamos que usted nos regale dos minutos de su precioso tiempo y nos conteste 5 preguntas de la encuesta que le traemos hoy.
Click Aquí para comenzar la encuesta
En INBIOSYS tenemos todas las Soluciones en Seguridad Informática, basada en la Huella Digital
NUESTROS PRODUCTOS
Somos la primera Empresa en el país en "Soluciones de seguridad para préstamos de libros utilizando la huella digital"
Puede seguirnos en Twitter. Follow inbiosys on Twitter
Puede seguirnos en Facebook.
Visita nuestra página en Facebook
INBIOSYS Biometria
INBIOSYS
Jairo Alonso Gómez Cano
Gerente Comercial
https://sites.google.com/site/inbiosys/
http://inbiosys.wordpress.com/
E-mail: inbiosys@gmail.com
PBX: (57)(4) 583 13 31
Celular: 312 782 60 21

INBIOSYS
Ingeniería y Sistemas Biométricos
Carrera 81 No. 43 - 72 Oficina 1109
Medellín Colombia

viernes, 9 de octubre de 2015

BlackShades: el malware protagoniza un nuevo caso de espionaje sexual

Que los cibercriminales pueden espiarnos a través de la webcam de nuestros dispositivos si no tomamos ciertas precauciones no es nada nuevo que entrañe misterio ni sorpresa alguna. De hecho, aunque se consiga condenar a los responsables de este tipo de malware, no siempre los delitos acaban ahí.
Esto es, precisamente, lo que ha pasado con BlackShades que, según informa Hackread acaba de protagonizar un nuevo caso de espionaje sexual.
El caso en cuestión
Así y a pesar de que el creador de este software malintencionado –el sueco Alex Yücel- fue condenado a prisión en junio de este mismo año-, el programa ya había infectado más de medio millón de dispositivos de todo el mundo; pero no solo eso, sino que había sido adquirido por varios miles de clientes de más de 100 países distintos.
Una popularidad que consiguió gracias a su facilidad de uso (los atacantes no necesitaban contar con conocimientos avanzados) y que le reportó unas ventas de más de 350 mil dólares entre septiembre de 2010 y abril del 2014.
Uno de ellos fue Stefan Rigo, un joven de 33 años - protagonista del delito que nos atañe y que ya ha sido detenido- que, tras descargar el sistema en la computadora de su ex novia, empezó a pasar una media de entre 5 y 12 horas frente al ordenador acechando a distintas personas; un acoso que, tal y como indica la Agencia Nacional de Delincuencia de Reino Unido (NCA por sus siglas en inglés), constituye una auténtica adicción.
Rigo, asimismo, sentía preferencia por recabar las imágenes de aquellos usuarios que realizaban sexo a distancia con sus parejas a través de Skype. Lo peor del caso, sin embargo, es que el programa es lo suficientemente potente como para controlar cualquier webcam, acceder a la información personal y financiera de la víctima, robar sus credenciales bancarios, etcétera.
Rigo sentía preferencia por recabar las imágenes de aquellos usuarios que realizaban sexo a distancia con sus parejas a través de Skype
Al margen de una solución mejor, desde aquí solo podemos recomendaros que cubráis vuestras cámaras cuando no las estéis utilizando y que, en cuanto percibáis cualquier síntoma fuera de lo común de que estáis siendo espiados, informéis a las autoridades policiales correspondientes.
Imagen | Pixabay
Todas las soluciones de seguridad con la huella digital las encuentra en: https://sites.google.com/site/inbiosys/
Queremos mejorar cada día más, necesitamos que usted nos regale dos minutos de su precioso tiempo y nos conteste 5 preguntas de la encuesta que le traemos hoy.
Click Aquí para comenzar la encuesta
En INBIOSYS tenemos todas las Soluciones en Seguridad Informática, basada en la Huella Digital
NUESTROS PRODUCTOS
Somos la primera Empresa en el país en "Soluciones de seguridad para préstamos de libros utilizando la huella digital"
Puede seguirnos en Twitter. Follow inbiosys on Twitter
Puede seguirnos en Facebook.
Visita nuestra página en Facebook
INBIOSYS Biometria
INBIOSYS
Jairo Alonso Gómez Cano
Gerente Comercial
https://sites.google.com/site/inbiosys/
http://inbiosys.wordpress.com/
E-mail: inbiosys@gmail.com
PBX: (57)(4) 583 13 31
Celular: 312 782 60 21

INBIOSYS
Ingeniería y Sistemas Biométricos
Carrera 81 No. 43 - 72 Oficina 1109
Medellín Colombia