Peritajes & Peritos

A menudo nos llegan a nuestro buzón consultas sobre la posibilidad de realizar peritaciones sobre cuentas de Whatsapp. Las peticiones son de lo más diversas y algunas veces se nos plantean solicitudes que simplemente no son posibles. No obstante, la información que se puede obtener de una peritación de una cuenta de whatsapp es muy extensa y este es el objeto de este artículo.

Ya en anteriores artículos hemos descrito la validez de los mensajes de whatsapp, cierto es que en algunos casos pueden ser falsificados pero no en la mayoría de los casos tal y como indicábamos en nuestro artículo, por lo que una conversación de whatsapp debidamente peritada puede ser aportada y tenida en cuenta como evidencia en una denuncia o en un procedimiento judicial. No es el objeto de este artículo los procedimientos para la extracción de la base de datos de whatsapp desde el terminal, esto de por sí sería objeto de un artículo por sí mismo, pero hoy vamos a centrarnos en la base de datos y su contenido.

De hecho acaba de surgir un desgraciado caso en el que, la difusión a través de whatsapp de un vídeo pornográfico realizado por una mujer en el ámbito privado a sus compañeros de empresa y conocidos, ha derivado en su suicidio. No vamos a entrar en las implicaciones jurídicas de la difusión del vídeo, pero sí en la información que se puede obtener a partir del análisis de una base de datos de whatsapp. Preguntas como ¿Se puede saber quién envió un vídeo? ¿Quién/es lo recibieron? ¿Si fue reenviado? ¿Quiénes eran los miembros del grupo? ¿Puede verse el mensaje aunque haya sido borrado? Estas y otras preguntas las respondemos más adelante

Que información almacena una aplicación de whatsapp?

Lo que hay que entender es que en una instalación de whatsapp hay muchísima más información de la que se ve a simple vista usando la apliación. En una instalación de whatsapp en un teléfono móvil, se pueden localizar los siguientes objetos o artefactos.

  1. Base de datos de contactos.
  2. Base de datos de chats que contiene los mensajes
  3. Copias de seguridad de las bases de datos (se guardan las copias de los últimos 7 días)
  4. Avatars de nuestros contactos
  5. Copias de los avatars de nuestros contactos
  6. Ficheros de log de la aplicación que nos muestra información sobre el uso de la misma.
  7. Ficheros recibidos
  8. Ficheros enviados
  9. Configuración y preferencias del usuario.

La ubicación de estos artefactos dependen del sistema operativo en el cual se encuentre el teléfono afectando incluso a la forma en la que se almacena, por ejemplo en teléfonos Android las bases de datos están cifradas mientras que un una instalación IOS (Apple) no es así.

Mensajes borrados.

Antes de nada, un poco de teoría de base de datos. Una base de datos es un tipo de fichero de datos que guarda una estructura en la que se almacena información ordenada de forma que puede ser leída y utilizada por programas informáticos. Se organiza en elementos que se denominan “tablas” y cada tabla contiene lo que se llaman “registros” que a su vez está compuesta por elementos que serían “columnas”. Por ejemplo para una agenda de teléfono una base de datos podría estar compuesto por una tabla que fuera “contactos”, en esta tabla “contactos” cada registro sería un contacto concreto, así el registro 1 serían los datos por ejemplo de Juan y el registro 2 los de Pedro. Dentro de este registro habría una estructura que define el contenido del registro. Así la tabla contactos estaría definida por las “columnas” nombre, dirección, teléfono, provincia, código postal, etc. Una base de datos no tiene una única tabla sino que hay distintas tablas que se relacionan entre sí. Por ejemplo en el caso de Whatsapp hay una tabla que guarda los grupos, otra que guarda los mensajes, etc.

Los sistemas de bases de datos incluyen muchas herramientas para optimizar la base de datos por ejemplo el espacio, de forma que cuando en un sistema de base de datos estándar se borran datos luego hay una orden denominada “Vacuum” (vaciado) que periódicamente se ejecuta limpiando todos estos datos borrados. En whatsapp (y en casi todas las aplicaciones móviles) se utiliza un sistema gestor de base de datos denominado SQLite que es un sistema gestor de base de datos reducido (dado que se va a ejecutar en teléfonos con aplicaciones móviles no tiene que ser tan potente como el sistema de una entidad Bancaria por ejemplo). Esta reducción implica que el comando “Vacuum” no ha sido implementado, o para ser más precisos, existe, pero no se ejecuta automáticamente.

¿Qué pasa cuando borramos un mensaje de whatsapp en nuestro teléfono? La aplicación en la base de datos marca el mensaje como borrado. Pero el mensaje sigue ahí, lo que ocurre es que el espacio que ocupa en la base de datos pasa a estar “disponible” por lo cual si entran muchos mensajes nuevos podría ser que este mensaje fuera sobreescrito por otros. No existe una forma directa ni un comando para recuperar estos mensajes. Es necesario ejecutar un conjunto de operaciones que no son sencillas para recorrer la base de datos buscando estos registros borrados y obtener la información que contienen (mensajes, contactos, lo que sea). Si no han sido sobreescritos, pueden ser recuperados, pero cuando se hace una peritación en este sentido no se puede estar seguro de que estén ahí.

Análisis de contactos.

Tal y como comentamos, la base de datos Wa.db incluye la lista de contactos. A través de la misma podemos obtener toda la información del contacto aunque habrá dos tipos de información que un perito podrá diferenciar. La información que se genera a través de la propia aplicación y la información que se obtiene del propio dispositivo. Entre la primera se encuentra información como el identificador interno de whatsapp (como whatsapp identifica al usuario), el número de mensajes recibidos y no leídos de este usuario, el nombre del contacto (que el contacto ha definido en su perfil), el estado que ha definido el contacto en sus configuración, etc. Respecto a la información obtenida del propio teléfono estará su número de teléfono, el nombre, apellido, el tipo de teléfono, etc. Estos últimos campos no son de demasiado interés para el analista forense, ya que aunque aportan cierta información, dado que esa información se extrae de la agenda del teléfono y ésta la escribe el usuario puede ser manipulada.

Aquí, analizando la información de contacto por ejemplo de los avatares, se puede obtener información útil, los usuarios suelen poner sus fotos como avatar con lo que tendrías una información del usuario. Además analizando estas imágenes tendrías información de cuándo esta imagen se estableció como imagen del usuario y cuando se descargó en el teléfono analizado.

No toda la información está en las bases de datos, anteriormente indicábamos que existen archivos de “log” estos archivos guardan información sobre lo que ocurre en el sistema. Por ejemplo cuando se añade o se bloquea un usuario en estos ficheros se guardan un conjunto de líneas que nos ofrecen información sobre cuando esto ha ocurrido. Esto es importante ya que nos puede servir para identificar en qué momento temporal se dejaron de recibir mensajes de un usuario por estar bloqueado (lo que no quiere decir que él no los hubiera enviado). No obstante esta información no es completa y no siempre se puede precisar. Es decir el registro guarda información de cuando se bloqueó un usuario así como cuando se desbloquea un usuario.

También es posible buscar los usuarios borrados, para ello también utilizamos los archivos de log, a través de los mismos se puede obtener la información de los usuarios añadidos y comparando con la lista de usuarios en la base de datos, ver los que ya no están (que han sido los borrados), por supuesto también será posible analizar la base de datos para buscar información de registros borrados al igual que con los contactos.

Análisis de mensajes

Tal y como comentamos los mensajes se encuentran en la base de datos msgstore.db. Aquí hay dos tablas que nos interesan. La primera “messages” que contiene un registro para cada mensaje recibido o enviado. La segunda “Chat_list” que contiene un registro para cada conversación de forma que cruzando la información de ambas tablas se puede averiguar qué mensajes forman parte de una conversación.

La tabla mensajes contiene todo tipo de información útil que puede ser analizada. Se podría clasificar en dos tipos de información, por un lado información sobre el mensaje almacenado (lo que se denominan técnicamente atributos del mensaje)

  • Si el mensaje fue recibido o enviado
  • Fecha y hora del mensaje (enviado o recibido)
  • Diversos campos de cuándo se recibió el mensaje en los servidores de whatsapp y en el teléfono destino
  • Tipo de mensaje (personal o a un grupo) y número de receptores en caso de envío a un grupo
  • Etc.

Por otro lado la tabla mensajes contiene la información propia del mensaje.

  • Tipo de mensaje (texto, imagen, localización, etc)
  • Contenido del mensaje
  • Fichero adjunto si existe
  • Latitud y longitud del remitente del mensaje (ubicación)
  • Etc.

Con todo esto se puede reconstruir toda la información de las conversaciones, los grupos, quién envió el mensaje, quién lo recibió, qué ficheros envió, quién lo leyó incluso dónde se encontraba.

En un caso antiguo mi cliente, que prestaba servicio como chofer, fue acusado de no cumplir con los servicios para los que era contratado. A partir del análisis de sus conversaciones de Whatsapp se pudo verificar la prestación del servicio ya que recibía las peticiones de su jefe por whatsapp, se desplazaba a recogerle al punto indicado y avisaba de su presencia para que la persona a recoger acudiera al punto de recogida. Se pudo averiguar el tiempo de respuesta para la prestación del servicio, el número de servicios prestados y otra información que demostró que los motivos argumentados para rescindir su contrato eran falsos.

Además estos registros ofrecen mucha información adicional, se puede saber si los mensajes han sido entregados o no, si han sido leídos. La base de datos almacena los distintos estados en el cual el mensaje se encuentra y esto aporta información que puede resultar útil en una investigación. Se puede saber si un mensaje ha sido enviado desde un teléfono o la versión web de whatsapp (desde un PC autorizado), si ha sido enviado pero no ha salido del teléfono (por no haber cobertura por ejemplo)

Respecto a los grupos, un análisis forense puede servir para averiguar quienes son los miembros de un grupo, incluso si han abandonado el grupo se sabrá si han sido miembros del mismo quedando registrada la fecha en que lo abandonaron por lo que si han participado en determinados hechos quedará constancia.

Respecto al caso que comentábamos al principio y que está de actualidad, si se tiene acceso a alguno de los terminales en los que el vídeo fue difundido, toda la información que se comenta anteriormente se puede obtener. Se puede saber quién ha enviado el vídeo, quién lo ha recibido, quién lo ha visto, quién lo ha reenviado, quién era miembro de un grupo, los mensajes que enviaron, etc, etc. Al contrario de lo que nos pueda parecer las conversaciones no son anónimas, todo queda registrado y si cometes un delito se puede saber que has sido tú. En internet o en comunicaciones no existe la privacidad, todo queda registrado y si algunas personas han cometido algún delito de revelación de secretos o cualquier otro, una investigación pericial (bien sea de la policía o de un perito privado) lo va a averiguar. Una instalación de Whatsapp contiene un montón de piezas que analizadas adecuadamente, aportan una información extremadamente valiosa para una investigación, eso sí deben ser debidamente tratadas y gestionadas por un profesional debidamente acreditado para garantizar su validez ante cualquier proceso judicial.

Carlos Pintos Teigeiro