TOR Forensics. Part 1

En este nuevo artículo de GLIDER.es os quiero mostrar otro punto de vista sobre TOR. Hasta ahora había hablado de TOR desde el punto de vista de la red, es decir, del enrutamiento de comunicaciones a través de la red onion. Pero hoy voy hablar sobre Tor Browser, es decir, uno de los navegadores web mas usados a la hora de acceder a la red TOR. En primer lugar es importante reseñar que no es lo mismo la red TOR, que el navegador TOR. Algunas veces escuchamos que alguien es usuario de la red TOR por usar el navegador Tor Browser, esto realmente no es así, el navegador es simplemente un medio para poder conectarnos a esta red. En realidad el navegador Tor Browser es un navegador Mozilla Firefox, modificado para que se puede conectar a la red TOR, pero por detrás prácticamente la forma de operar de un Tor Browser y un Mozilla Firefox es muy similar. De esto precisamente es de lo que voy hablar en este artículo: de un análisis forense del navegador Tor Browser para mostrar toda la información que se puede extraer de este. No hay que olvidar que la red TOR está pensada para ofrecer anonimato a sus usuarios, pero este anonimato se queda en el enrutamiento de los distintos paquetes a través de la red. A nivel local, es decir, a nivel del ordenador del usuario que se conecta a esta red, TOR no ofrece ninguna medida de anonimato, ya que realmente no está diseñado para ello, por lo que lo que voy a contar a continuación no se puede considerar una vulnerabilidad en la red TOR, ni mucho menos en el navegador Tor Browser, simplemente está diseñado así, y de eso, sea mucho o poco, nos tendremos que aprovechar para poder realizar nuestro análisis forense.

 

Fig. Tor Forensics

 

En primer lugar vamos a comenzar por el estudio del navegador Tor Browser, y toda la información que este va almacenado en sus distintas bases de datos y ficheros de configuración. Como ya dije anteriormente, si alguna vez habéis realizado un análisis forense del navegador Mozilla Firefox, os daréis cuenta que muchos de los pasos que a continuación voy a describir serán muy similares a los que ya conocéis de este otro navegador web.

Este análisis forense lo voy a realizar sobre una maquina Linux, mas concretamente sobre un Ubuntu v16 de 64bits. Aunque podréis comprobar que Tor Browser en sistemas Windows opera exactamente igual. En el caso de Windows podréis encontrar todos los ficheros “interesantes” en la ruta: “Tor Browser/Tor/TorBrowser/Data/Browser/profile.default/”, como así se puede observar en la siguiente imagen.

 


Fig. TOR Browser en Windows

 

Por el contrario, si necesitáis realizar un análisis forense de navegador Tor de un sistema Linux, tendréis que buscar estos ficheros en la ruta: “/home/user/.tor-browser_es-ES/Browser/TorBrowser/Data/Browser/profile.default”, que será el caso del análisis que ahora nos ocupa:

 


Fig.TOR Browser en Linux

 

Tor Browser, al igual que Mozilla Firefox, puede operar con un grado de “secretesimo” mayor o menor en función de la configuración que hubiera seleccionado el usuario. A continuación os muestro como sería la configuración de privacidad por defecto de un navegador Tor Browser recien instalado.

 


Fig. Configuración por defecto TOR Browser

 

Ahora nos metemos en materia y comenzamos con el análisis de las distintas bases de datos y ficheros de Tor Browser, comenzaremos, desde mi punto de vista con uno de los ficheros mas importantes que Tor Browser nos puede ofrecer a niver forense, la base de datos “places.sqlite”. Como su propio nombre indica, es una base de datos tipo SQLite, por lo que la podremos abrir si ningún problema con un visor de bases datos de este tipo.

 


Fig. Base de datos «Places»

 

Una de las primera tablas que podemos mirar es la tabla: “moz_cookies” de la base de datos “cookies.sqlite”. Básicamente almacena todas las cookies que el usuario ha ido “recopilando” durante la navegación que ha hecho con este navegador. Por ejemplo, en el caso que nos muestra la siguiente foto, podemos determinar que el usuario que estamos analizado accedió a la pagina web: www.glider.es ya que esta base de datos registró una cookie procedente de este sitio. Incluso podremos averiguar cuando fue la ultima vez que accedió a este sitio web, tan solo tendremos que reconvertir la celda “Last Accessed” de un formato de fecha tipo Epoch a un formato por ejemplo CEST, para saber cuando fue la última vez que accedió a este sitio.

 


Fig. Tabla «moz_cookies»

 

La siguiente tabla de interés será la llamada: “moz_places” de la base de datos “places.sqlite”, en ella podremos ver los lugares que el usuario ha ido visitando, no hace falta que sean página webs al uso. A diferencia de la tabla “moz_cookies”, no hace falta que el sitio inyecte una cookie en nuestro navegador, tan solo con que el usuario hubiera accedido ya ha quedado “fichado”. Por ejemplo, en la última linea de la imagen que os muestro a continuación se puede comprobar como el usuario visitó la página principal de Glider.es, de nuevo tenemos una marca de tiempo que nos indicará cuando fue esta última visita. Lógicamente, estoy haciendo los ejemplos con esta página web, pero si hubiera visitado cualquier otra página web de contenido inadecuado, hubiera ocurrido lo mismo.

 


Fig. Última línea, visita GLIDER.es

 

Otra tabla que me pareció muy interesante, es la: “moz_favicons”, esta tabla es la que gestiona todos los favicons que las distintas páginas web que el usuario va visitando almacenan en el equipo del visitante. Un favicon es un mini icono que el navegador utiliza para facilitar al usuario identificar que pestañas tiene abiertas sin necesidad de tener que entrar en cada uno de las pestañas. Suelen ser un icono relacionado con la propia página web.

 


Fig. Favicon de GLIDER.es

 

Esta tabla nos da dos datos muy importantes en cuanto a la navegación del usuario. En primer lugar nos dice las URL (páginas web), que el usuario ha visitado, ademas, de fijar una fecha de expiración para el favicon. Por ejemplo, en la imagen que se muestra a continuación se puede ver, como el usuario visitó la URL: https://glider.es/wp-content/uploads/2017/04/cropped-Logo-GliDER-192×192.png, cuya fecha de expiración del favicon en formato Epoch es: 1540488285191589.

 


Fig. Expiración de los favicon almacenados

 

La fecha de expiración que nos indica esta tabla, normalmente se establece a un valor de 7 días después de la última visita a la URL en cuestión. Es decir, esta fecha será 7 días posterior a la fecha en la que el usuario visitó el enlace. Con un simple conversor de tiempo Epoch a tiempo CEST, podemos determinar que 1540488285191589, es lo mismo que decir las 11:13 horas del día 25 de octubre de 2018. Esto significa que el usuario visitó está pagina web por ultima vez, a las 11:31 horas del día 18 de octubre de 2018, es decir, 7 días antes.

 


Fig. Conversor tiempo Epoch

 

Otra tabla mas o menos interesante es la: “moz_bookmarks”, que como su propio nombre indica gestiona los distintos bookmarks que el usuario fue almacenando en su navegador Tor Browser.

 


Fig. Tabla «moz_bookmarks».

 

La tabla: “moz_items_annos” registra los distintos menús de Tor Browser que el usuario fue visitando, aunque a directamente esta tabla a nivel forense no tiene mucha utilidad, si que indirectamente nos puede ayudar, ya que al disponer de un log con las fechas de modificación de los distintos items, nos puede ayudar a determinar si el usuario estaba utilizado este navegador en un momento concreto.

 


Fig. Tabla con el registro de actividad

 

Para terminar tenemos la tabla: “moz_hosts”, la cual se puede definir como un historial de navegación mínimo, esta registra simplemente los host, es decir, los dominos que el usuario ha visitado alguna vez. En este caso no vamos a disponer de una URL completa, ni tampoco de una fecha de visita, pero en caso de no disponer de otra cosa, esto nos podría a ayudar a saber si el usuario al menos ha visitado una página web en concreto.

 


Fig. Hosts visitados

 

Hasta aquí, esta primera parte del artículo “TOR Forensics. Parte 1”, en la segunda parte hablaré del resto de ficheros que genera nuestro TOR Browser y que a nivel forense pueden ser interesantes. Además, también veremos como realizar un análisis de memoria RAM para localizar trazas de uso y URL .onion de TOR.

 

Continúa leyendo la Segunda parte de: Tor Forensics Advanced. Part 2.  PULSANDO AQUÍ.

 

¿Te ha gustado este artículo? Si quieres, puedes ayudarme a escribir el siguiente artículo de GLIDER invitándonme a un rico café.

 

Pulsa Aquí para invitarme a un café con hielo.

  Salu2.

Manuel Guerra

Mi nombre es Manuel Guerra. Investigador especializado en: [eCrime] | [Forensic] && [Hacking]. Editor de GLIDER.es

Navegación de la entrada


Comentarios

  • Julien

    Hello,

    I followed the steps of your presentation. (thank you)
    However, I only have torproject addresses in the different databases.

    Is this native or because of the user that I can not find any connection trace?

    Thank you

  • Fernando

    Hola Manu, muy buena investigación, es un tiempo invertido que jamás vuelve, por el bien de la privacidad, seguridad y anonimato de la humanidad sería muy importante que te molestaras en pasarle ésta investigación a la ONG TOR.. Para que puedan perfeccionar sus agujeros de seguridad, si todos los forenses se unieran en mejorar TOR haciéndole reporte a la empresa eso sería maravilloso. También puedes hacer investigaciones y reportes a I2P.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puede usar las siguientes etiquetas y atributos HTML:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>