2009-04-04 12 views
33

Ich bin auf der Suche nach einer Möglichkeit, den Inhalt eines OS X-Schlüsselbunds in eine Datei zu exportieren (exportieren), die ich problemlos an anderer Stelle verarbeiten kann, z. B. durch Tabstopps getrennter Klartext oder etwas Ähnliches.Gibt es eine schnelle und einfache Möglichkeit, den Inhalt eines MacOS X-Schlüsselbunds zu sichern?

Die Keychain Access App bietet keine solche Funktionalität, und das Abrufen der Daten eines Schlüssels beinhaltet das Öffnen jedes der Schlüssel und das Eingeben des Schlüsselbunds, um das mit dem Schlüssel gespeicherte Passwort jedes Mal zu sehen.

Nach ein bisschen graben, fand ich Lösung jemandes von Applescript und die Keychain Scripting App Schlüsselanhänger für den Zugriff auf (kann nicht auf einzelne Post verbinden; blättern etwa zwei Drittel bis zum Ende der Seite nach unten):

http://discussions.apple.com/thread.jspa?threadID=1398759

Mit Keychain Scripting können Sie auf alle Datenfelder aller Schlüssel zugreifen - einschließlich des Klartext-Passworts! - und es ist ziemlich einfach, diese Daten in eine Textdatei zu speichern usw. Ich habe es getestet und es funktioniert gut.

Bei dieser Lösung müssen Sie jedoch den Zugriff auf die einzelnen Schlüssel bestätigen, indem Sie in einem Dialogfeld auf OK klicken. Dies ist viel besser, als jedes Mal das Passwort des Schlüsselbundes eingeben zu müssen, aber es ist immer noch irritierend. Außerdem müssen Sie den Zugriff für jeden Schlüssel zweimal bestätigen. einmal für den Skript-Editor (oder das Skript selbst, wenn es als App läuft) und einmal für Keychain Scripting. Wenn Sie also einen Schlüsselbund mit 100 Schlüsseln verarbeiten, müssen Sie in 200 Dialogen manuell auf OK klicken.

Ich bin jetzt auf der Suche nach einer Lösung, um dies zu umgehen. Ich bin mir darüber im Klaren, dass der Zweck der Schlüsselbunde darin besteht, die sensiblen Daten zu schützen und genau das zu verhindern, was ich versuche zu tun. Eine solche Lösung würde wahrscheinlich eine Art Hacking beinhalten.

Ich wäre sehr an Ihren Ideen interessiert!

Antwort

30

Ok, ich bin dumm. Es gibt ein Befehlszeilentool namens security, das genau das tut (und viele andere Aktionen auf Schlüsselbändern).

Ein Beispiel Nutzung:

security dump-keychain -d login.keychain 

Dieses alle Daten in der login.keychain Dump wird (die Standard-Schlüsselbund für einen Benutzer) als Plain-Text, einschließlich der Passwörter. Sie immer noch haben Zugriff zu bestätigen, aber nur einmal für jeden Schlüssel, und es ist viel schneller als (und wirft keine seltsamen Fehler beim Versuch, auf bestimmte Felder zuzugreifen) mit AppleScript. Und es ist kein Hack.

Ohne die Option -d werden alle Felder mit Ausnahme des Kennworts gelöscht.

Die gesicherten Daten für einen Schlüssel sieht wie folgt aus (für ein Internet-Schlüssel; Programm Schlüssel und Zertifikate in anderen Bereichen haben, aber das Format ist das gleiche):

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>" 
+13

Gibt es eine magische Art und Weise „Immer zulassen“ einmal für jeden Eintrag zu vermeiden, klicken? – Cliff

+0

@Cliff Sie können das AppleScript finden, das die Tasten für Sie hier drücken wird: http://apple.stackexchange.com/a/137336. –

+0

Für den iCloud-Schlüsselbund, den das (10.9.5) 'security'-Tool nicht erkennt, können Sie alles aus dem iCloud-Schlüsselbund in einen neuen Schlüsselbund kopieren und trotzdem diese Technik verwenden. (http://selfsuperinit.com/2014/01/20/exporting-icloud-keychain-passwords-as-a-plain-text-file/) –

15

Bitte lesen Sie diese:https://gist.github.com/rmondello/b933231b1fcc83a7db0b

Ignorieren: -----

ich in jeder Taste eine sollution zum "Immer zulassen" Dialog gefunden!

Führen Sie einfach den vorherigen Befehl mit Sudo.

sudo security dump-keychain -d login.keychain 

Auf diese Weise müssen Sie nur Ihr Passwort zweimal eingeben. Einer auf dem Terminal zum sudo und ein weiterer zum Entsperren des Schlüsselbunds! ;)

Einen schönen Tag noch!

+2

Scheint nicht zu funktionieren, es fragt mich immer noch zu "erlauben/verweigern " jeder Gegenstand. Vielleicht hast du beim ersten Mal alles "immer erlaubt"? Das zweite Mal scheint es nur magisch funktioniert zu haben (unabhängig vom Sudo). –

+3

Ich drückte nur 250 mal drücken. – cedivad

+1

Ich denke, dieser Tipp funktioniert nicht mehr in den letzten Versionen von OSX ... – TCB13

-2

Ich fand Lösung für nicht klicken Sie auf "Zulassen" mehrfach

sudo su 
security dump-keychain -d /Users/YourUsername/Library/Keychains/login.keychain 
+0

Hat nicht für mich gearbeitet. – ma11hew28

0

aktualisieren, gibt es jetzt ein Werkzeug, das diese gut tut:

Keychaindump ist ein Proof-of-Concept-Tool für OS X Keychain Passwörter als root lesen. Es sucht nach entsperrten Schlüsselbund-Hauptschlüsseln, die sich im Speicherbereich des Sicherheitsprozesses befinden, und verwendet diese, um Schlüsselbunddateien zu entschlüsseln.

Quelle: https://github.com/juuso/keychaindump

+0

Dieses git-Projekt ist abandon-ware, das letzte Commit vor 6 Jahren. Verwendung auf eigene Gefahr. – Penumbra

Verwandte Themen