Necesitas lo siguiente:
Paso 1: Recuperar la clave de cifrado para el llavero de origen
No podemos usar SystemKey
tal como está: contiene bytes aleatorios que no se pueden ingresar en un diálogo de contraseña o en una línea de comando. Aún mejor, necesitamos 24 bytes de la mitad del archivo, después del número mágico que indica un archivo clave, pero antes de los bytes de suma de comprobación.
El comando correcto para obtener la clave hexadecimal correcta es:
hexdump -s 8 -n 24 -e '1/1 "%.2x"' /path/to/SystemKey && echo
Explicado: omita los primeros 8 bytes desde el principio del archivo, continúe 24 bytes después de eso, y use la cadena de formato para volcar los datos en una línea (es una cadena printf
de estilo C, si ' re curioso).
El && echo
es así que obtendremos una nueva línea de línea para que la salida no se ejecute al principio de tu indicador de shell una vez que finalice el comando.
Copia esta cadena a un lado. Esta es la clave de descifrado del llavero.
Paso 2: volcar el llavero con la contraseña
Necesitamos una herramienta de terceros para esto. Suponemos que la Mac muerta no se puede iniciar de tal manera que podamos usar su aplicación Keychain Access normalmente.
Esa herramienta será Chainbreaker , una secuencia de comandos de python. Tendrá que instalar la biblioteca hexdump
para Python. Ejecute los siguientes comandos en la máquina de destino:
-
sudo pip install hexdump
-
git clone https://github.com/n0fate/chainbreaker
-
cd chainbreaker
Ahora simplemente le damos a Chainbreaker la clave que acaba de encontrar y el archivo:
python chainbreaker.py -f /path/to/system.keychain -k (the byte string from step 1)
Verá la contraseña en texto sin formato de todo el llavero del sistema. Para mi caso de uso, quería la contraseña de Time Machine, y esto se representará en la salida como Generic password record
llamado Time Machine
. La contraseña en texto simple estará debajo.
Ahora podemos simplemente usar el Finder para abrir Time Machine .sparsebundle, dar la contraseña que extrajimos del archivo de claves y continuar como siempre.