solicita - ¿Existe una manera rápida y fácil de volcar el contenido de un llavero MacOS X?
quitar contraseña llavero mac (5)
Actualización, ahora hay una herramienta que hace esto muy bien:
Keychaindump es una herramienta de prueba de concepto para leer las contraseñas de llavero OS X como raíz. Busca claves maestras de llavero desbloqueadas ubicadas en el espacio de memoria del proceso securityd y las usa para descifrar archivos de llavero.
Estoy buscando una manera de volcar (exportar) el contenido de un llavero OS X en un archivo que pueda procesar fácilmente en otro lugar, como texto plano delimitado por tabuladores o algo por el estilo.
La aplicación Keychain Access no ofrece ninguna de esas funciones, y obtener los datos de una clave implica abrir cada uno uno y tener que escribir la contraseña del llavero para ver la contraseña almacenada con la clave, todo el tiempo.
Después de excavar un poco, encontré la solución de alguien usando AppleScript y la aplicación de secuencias de comandos de Keychain para acceder a los llaveros (no se puede vincular a una publicación individual, desplazarse hacia abajo aproximadamente dos tercios hasta el final de la página):
http://discussions.apple.com/thread.jspa?threadID=1398759
Con el uso de scripts Keychain, puede acceder a todos los campos de datos de todas las teclas, incluida la contraseña de texto sin formato. - y es bastante fácil volcar esta información en un archivo de texto, etc. Lo he probado y funciona bien.
Sin embargo, esta solución aún implica tener que confirmar el acceso a cada tecla haciendo clic en Aceptar en un diálogo. Esto es mucho mejor que tener que escribir la contraseña del llavero cada vez, pero sigue siendo irritante. Además, debe confirmar el acceso dos veces para cada clave; una vez para Script Editor (o el script en sí mismo si se está ejecutando como una aplicación) y una vez para Keychain Scripting. Por lo tanto, si está procesando un llavero con 100 teclas, debe hacer clic manualmente en Aceptar en 200 cuadros de diálogo.
Ahora estoy buscando una solución para evitar esto. Me doy cuenta de que, como el objetivo de los llaveros es proteger los datos confidenciales y evitar precisamente el tipo de cosas que trato de hacer, cualquier solución de este tipo probablemente implique algún tipo de ataque.
¡Estaría muy interesado en tus ideas!
En realidad solo estaba buscando lo mismo: AppleScript modificado de Github alguien publicado. Se ejecutará en ScriptEditor y se debe permitir en Preferencias y seguridad.
set keychainPassword to "yourpasswordgoeshere"
tell application "System Events"
repeat while exists (processes where name is "SecurityAgent")
tell process "SecurityAgent"
delay 0.1
try
set value of text field 1 of window 1 to keychainPassword
click button "Allow" of window 1
end try
end tell
end repeat
end tell
Debe hacer clic en cada ventana por separado para activarlas. Para eso utilicé la herramienta "murgaa auto clicker" que conocía de runescape hace muchos años ( http://www.murgaa.com/auto-clicker-mac/ parece todavía activo). Usted acaba de establecer un atajo para autoclicking (por ejemplo, Command + R) y establecer el temporizador a 10ms y funciona como encanto.
Encontré una solución para no hacer clic en "Permitir" varias veces
sudo su
security dump-keychain -d /Users/YourUsername/Library/Keychains/login.keychain
Por favor, lea esto: https://gist.github.com/rmondello/b933231b1fcc83a7db0b
Ignorar:-----
¡Encontré una solución al diálogo "Permitir siempre" en cada tecla!
Simplemente ejecute el comando anterior con sudo.
sudo security dump-keychain -d login.keychain
De esta manera, solo tendrá que ingresar su contraseña dos veces. ¡Uno en la Terminal para sudo y otro para desbloquear el llavero! ;)
¡Que tengas un buen día!
De acuerdo, soy estúpido. Hay una herramienta de línea de comandos llamada security
que hace justamente esto (y muchas otras acciones en los llaveros).
Un ejemplo de uso:
security dump-keychain -d login.keychain
Esto arrojará todos los datos en el login.keychain (el llavero predeterminado para un usuario) como texto sin formato, incluidas las contraseñas. Aún debe confirmar el acceso, pero solo una vez para cada clave, y es mucho más rápido que (y no arroja errores extraños al intentar acceder a ciertos campos) usando AppleScript. Y no es un truco.
Sin la opción -d
, va a volcar todos los campos a excepción de la contraseña.
Los datos volcados para una clave se ven así (para una clave de Internet; las claves de programa y los certificados tienen otros campos, pero el formato es el mismo):
keychain: "/Users/<username>/Library/Keychains/login.keychain"
class: "inet"
attributes:
0x00000007 <blob>="tech.slashdot.org (<username for this web login>)"
0x00000008 <blob>=<NULL>
"acct"<blob>="<username for this web login>"
"atyp"<blob>="form"
"cdat"<timedate>=0x32303038303432333038323730355A00 "20080423082705Z/000"
"crtr"<uint32>=<NULL>
"cusi"<sint32>=<NULL>
"desc"<blob>="Kennwort des Web-Formulars"
"icmt"<blob>="default"
"invi"<sint32>=<NULL>
"mdat"<timedate>=0x32303038303432333038323730355A00 "20080423082705Z/000"
"nega"<sint32>=<NULL>
"path"<blob>=<NULL>
"port"<uint32>=0x00000000
"prot"<blob>=<NULL>
"ptcl"<uint32>="http"
"scrp"<sint32>=<NULL>
"sdmn"<blob>=<NULL>
"srvr"<blob>="tech.slashdot.org"
"type"<uint32>=<NULL>
data:
"<the plaintext password for this key>"