
Si el usuario lo desea, Apple Safari puede recordar credenciales de acceso a aplicaciones web mediante la selección de una opción en el cliente. Cuando esto se selecciona, bastará con seleccionar el nombre del usuario y Apple Safari rellenará la contraseña correspondiente.
![]() |
Figura 1: Opciones de almacenamiento de contraseñas en Apple Safari |
Por supuesto, la forma de almacenar esa contraseña tiene que ser reversible, es decir, no es un hasheo de la contraseña, sino un cifrado de la misma que se realiza con las funciones criptográficas que ofrece el sistema operativo. El artículo se centra en el almacén de las contraseñas en los sistemas Windows, que se realiza un fichero llamado keychan.plist, y que se encuentra almacenado, en el perfil del usuario en la ruta:
C:\Users\
C:\Documents and Settings\\Application Data\Apple Computer\Preferences en Windows XP
Abriendo el fichero con un editor de texto, se puede ver que lo primero que se indica es que el fichero es un formato bplist, es decir, un fichero con codificación binaria, pero aún así, es fácil darse cuenta de que el sistema tiene almacenada una contraseña para, en este caso, la web de Facebook.
Los ficheros bplist deben ser decodificados primeramente a un formato de texto legible, y para ello se utiliza la herramienta que provee la propia Apple, llamada plutil.exe, y que permite convertir el bplist en un fichero en formato XML, en el que se puede ver la contraseña cifrada y codificada en un formato BASE64.
El comando necesario es: plutil.exe -convert xml1 -s -o c:\keychain.xml keychain.plist
En los sistemas Windows, para cifrar la contraseña, se utiliza las librerías del sistema Windows DPAPI, que ofrecen funciones de cifrado y descifrado de datos. El almacén de contraseñas de Apple Safari utiliza una función de cifrado con Salt, para hacer más difícil ese descifrado, lo que obligaría a realizar ataques de fuerza bruta, pero... tal y como cuentan en el artículo no es así.
Nagareshwar Talekar hizo ingeniería inversa del algoritmo que almacena la contraseñas, y que se encuentra en la librería CFNetwork.dll y descubrió que el Salt es común para todos los sistemas Windows, una cade de 144 bytes que termina con el string com.apple.Safari y que sirve para decodificar cualquier password almacenada en sistemas Windows.
Para demostrarlo, ha creado una herramienta llamada Safari Password Decryptor para sistemas Windows que permite decodificar fácilmente, y sin ningún ataque de fuerza bruta, cualquier contraseña almacenada en el sistema. Nosotros lo hemos probado con una password de Facebook, y podemos confirmar que la recuperó perfectamente.
Habrá que estudiar que tipo de seguridad utiliza Apple en los sistemas Mac OS X e iOS para comprobar la robustez de las mismas ante un análisis forense del equipo. En otros navegadores como Google Chrome, Firefox o Internet Explorer la recuperación de passwords se puede hacer de otras formas.
La herramienta requiere instalación en el sistema, pero queremos advertir de que lleva asociada la instalación opcional de una herramienta de publicidad que puede ser muy molesta para el usuario. Por suerte, se puede declinar la instalación de esa herramienta, así que, si vas a probar esta versión en tu sistema, ten cuidado con el proceso, no vaya a ser que se te cuele sin que tú lo quieras.
No hay comentarios:
Publicar un comentario