Descubrimiento de rutas de una web mediante ficheros .DS_Store

Los archivos .DS_Store (Desktop Services Store) son archivos "ocultos" creados por Mac OS X que contienen preferencias para la visualización de cada carpeta del sistema. Básicamente le dicen a Finder como mostrar los iconos (su tamaño y posición), si una ventana de carpeta tiene algún color de fondo y otra información. El Finder crea un .DS_Store para cada carpeta que se abre en un Mac, incluidas carpetas o carpetas remotas en medios extraíbles.

Los archivos .DS_Store también pueden contener datos sobre otros archivos en sus carpetas. Por ejemplo, un archivo .DS_Store puede contener los nombres de los archivos que se encuentran en su carpeta y, por lo tanto, leer un archivo .DS_Store puede proporcionar información sobre el contenido de una carpeta.

Evidentemente esto no es un problema en Mac, pero podría ser un problema si estos ficheros están alojados y disponibles en un servidor web. De hecho, muchos archivos .DS_Store están indexados por Google, y al descargarlos y leer sus contenidos, es posible obtener una lista de algunos o todos los archivos contenidos en un directorio web. Otra forma de encontrarlos es mediante un fuzzing de directorios (diccionario) con alguna herramienta tipo wfuzz, dirb o similar. En cualquier caso, pueden resultarnos tremendamente útiles para descubrir la estructura de un sitio que estemos escaneando.

Así que si consigues descargarte uno, te recomiendo por ejemplo parsearlo con la herramienta ds_store_exp del chino lijiejie:

Uso: python ds_store_exp.py http://www.example.com/.DS_Store

$ git clone https://github.com/lijiejie/ds_store_exp.git && cd ds_store_exp

$ python ds_store_exp.py http://site_ejemplo/.DS_Store
[+] http://site_ejemplo/.DS_Store
[+] http://site_ejemplo/Widgets/.DS_Store
[Folder Found] http://site_ejemplo/Templates
[Folder Found] http://site_ejemplo/dev
[Folder Found] http://site_ejemplo/Widgets
[+] http://site_ejemplo/Themes/.DS_Store
[+] http://site_ejemplo/JS/.DS_Store
[+] http://site_ejemplo/Images/.DS_Store
[Folder Found] http://site_ejemplo/Themes
[Folder Found] http://site_ejemplo/JS
[Folder Found] http://site_ejemplo/Images
[+] http://site_ejemplo/Widgets/Framework/.DS_Store
[+] http://site_ejemplo/dev/.DS_Store
[Folder Found] http://site_ejemplo/Plugins
[Folder Found] http://site_ejemplo/Widgets/Menu
[Folder Found] http://site_ejemplo/Widgets/Framework
[Folder Found] http://site_ejemplo/Uploads
[+] http://site_ejemplo/iisstart.htm
[Folder Found] http://site_ejemplo/Themes/default
[Folder Found] http://site_ejemplo/JS/custom
[Folder Found] http://site_ejemplo/Images/buttons
[Folder Found] http://site_ejemplo/Images/icons
[+] http://site_ejemplo/Widgets/Framework/Layouts/.DS_Store
[Folder Found] http://site_ejemplo/Widgets/Framework/Layouts
[+] http://site_ejemplo/dev/oculto/.DS_Store
...


Fuentes:

- Possible Security Issue Involving .DS_Store Files on Web Servers
- Apache security "leak" noted with .DS_Store files
- Parsing the .DS_Store file format
- Removing DS_Store files on Linux Server

Comentarios