¿Cómo volcar el contenido del llavero del caparazón?

Estoy probando la siguiente línea de comando en la Terminal:

sudo security dump-keychain -d login.keychain

que me gustaría usar para guardar todas mis contraseñas en un archivo.

Sin embargo, cuando lo ejecuto, sigue preguntándome por cada elemento si quiero permitir el acceso, a pesar de que estoy seleccionando 'Permitir siempre'.

¿Hay algún trabajo alrededor?

probaste "sudo su security dump-keychain -d /Users/YourUsername/Library/Keychains/login.keychain"
@Buscar웃 Es lo mismo con sudo.
Consulte apple.stackexchange.com/a/439911/1860 para obtener una herramienta moderna, Keysafe , que puede exportar un archivo de llavero sin que se le solicite una contraseña por elemento.

Respuestas (2)

Existe la herramienta Keychaindump escrita por Juuso Salonen, que es una herramienta de prueba de concepto para leer contraseñas de llaveros de OS X como root.

Uso básico:

$ sudo ./keychaindump ~/Library/Keychains/login.keychain

Salida de ejemplo:

$ sudo ./keychaindump 
[*] Searching process 15 heap range 0x7fa809400000-0x7fa809500000
[*] Searching process 15 heap range 0x7fa809500000-0x7fa809600000
[*] Searching process 15 heap range 0x7fa809600000-0x7fa809700000
[*] Searching process 15 heap range 0x7fa80a900000-0x7fa80ac00000
[*] Found 17 master key candidates
[*] Trying to decrypt wrapping key in /Users/juusosalonen/Library/Keychains/login.keychain
[*] Trying master key candidate: b49ad51a672bd4be55a4eb4efdb90b242a5f262ba80a95df
[*] Trying master key candidate: 22b8aa80fa0700605f53994940fcfe9acc44eb1f4587f1ac
[*] Trying master key candidate: 1d7aa80fa0700f002005043210074b877579996d09b70000
[*] Trying master key candidate: 88edbaf22819a8eeb8e9b75120c0775de8a4d7da842d4a4a
[+] Found master key: 88edbaf22819a8eeb8e9b75120c0775de8a4d7da842d4a4a
[+] Found wrapping key: e9acc39947f1996df940fceb1f458ac74b877579f54409b7
xxxxxxx:192.168.1.1:xxxxxxx
xxxxxxx@gmail.com:login.facebook.com:xxxxxxx
xxxxxxx@gmail.com:smtp.google.com:xxxxxxx
xxxxxxx@gmail.com:imap.google.com:xxxxxxx
xxxxxxx:twitter.com:xxxxxxx
xxxxxxx@gmail.com:www.google.com:xxxxxxx
xxxxxxx:imap.gmail.com:xxxxxxx
...

Otras herramientas:

Ver también:

¡Te mereces 100 votos a favor, y el creador merece 1000!
Es una pena que este programa no funcione en Mojave.

Este es un trabajo simple para AppleScript. En primer lugar, asegúrese de estar redirigiendo la salida estándar a un archivo haciendo sudo security dump-keychain -d login.keychain > ~/Desktop/loginKeychain.txt. Antes de hacer este comando, abra el Editor de secuencias de comandos, debe estar y /Applications/Utilities/luego pegue esto:

tell application "System Events"
repeat while exists (processes where name is "SecurityAgent")
    tell process "SecurityAgent"
        click button "Allow" of window 1
    end tell
    delay 0.2
end repeat
end tell

Ahora inicie el comando de volcado, luego haga clic en el botón Reproducir en la parte superior del Editor de secuencias de comandos. Esto debe presionar los botones.

Permitir siempre otorga permiso para acceder al elemento del llavero para siempre, pero solo se aplica a un elemento a la vez. Me quedaría con el botón Permitir para que otra persona no pueda acceder a él en el futuro sin su permiso.

Gracias, parece una solución, pero es algo :) Lo probé y funciona, pero tuve que cambiar la línea a: click button "Allow" of group 1 of window 1, de lo contrario, tenía el error de que no se encontró el botón.
En realidad, no se resolvió exactamente, ya que la línea de comandos se basa en un script externo. Estoy buscando algo más universal. Creo que también debería vincular a la fuente donde encontró este script, probablemente desde aquí .
@kenorb También puede ejecutar este script desde la línea de comando usando el comando osascript. No creo que sea posible hacer secuencias de comandos GUI en bash.