it-swarm.com.de

Gibt es eine schnelle und einfache Möglichkeit, den Inhalt eines MacOS X-Schlüsselbunds zu sichern?

Ich suche nach einer Möglichkeit, den Inhalt eines OS X-Schlüsselbunds in eine Datei zu exportieren, die ich problemlos an anderer Stelle verarbeiten kann, z. B. durch Tabulatoren getrennten Klartext oder ähnliches.

Die Keychain Access-App bietet keine solchen Funktionen. Zum Abrufen der Daten eines Schlüssels müssen Sie diese nacheinander öffnen und das Kennwort des Schlüsselbunds eingeben, um das mit dem Schlüssel gespeicherte Kennwort jedes Mal anzuzeigen.

Nach einigem Stöbern habe ich mithilfe von AppleScript und der Keychain Scripting-App eine Lösung für den Zugriff auf Schlüsselbunde gefunden (kein Link zu einem einzelnen Beitrag möglich; scrollen Sie ungefähr zwei Drittel nach unten bis zum Ende der Seite):

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 usw. zu speichern. 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 Kennwort des Schlüsselbunds eingeben zu müssen, ist aber dennoch ärgerlich. 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 ausgeführt wird) und einmal für das Schlüsselbund-Skripting. Wenn Sie also einen Schlüsselbund mit 100 Schlüsseln bearbeiten, müssen Sie in 200 Dialogen manuell auf OK klicken.

Ich bin jetzt auf der Suche nach einer Lösung, um dies zu umgehen. Mir ist klar, dass es sich bei einer solchen Lösung wahrscheinlich um eine Art Hack handelt, da es sich um den Zweck von Schlüsselanhängern handelt, die sensiblen Daten zu schützen und genau das zu verhindern, was ich versuche.

Ihre Ideen würden mich sehr interessieren!

33

In Ordnung, ich bin dumm. Es gibt ein Befehlszeilenprogramm namens security, das genau dies tut (und viele andere Aktionen für Schlüsselbunde).

Ein Beispiel zur Verwendung:

security dump-keychain -d login.keychain

Dadurch werden alle Daten in der login.keychain (der Standard-Schlüsselbund für einen Benutzer) als Klartext ausgegeben, einschließlich der Passwörter. Sie noch müssen den Zugriff bestätigen, jedoch nur einmal für jeden Schlüssel. Dies ist viel schneller als (und es werden keine ungewöhnlichen Fehler beim Zugriff auf bestimmte Felder ausgegeben), die AppleScript verwenden. Und es ist kein Hack.

Ohne die -d-Option werden alle Felder außer dem Passwort ausgegeben.

Die ausgelesenen Daten für einen Schlüssel sehen folgendermaßen aus (für einen Internet-Schlüssel haben Programmschlüssel und Zertifikate andere Felder, das Format ist jedoch gleich):

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>"
32

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

Ignorieren:-----

Ich habe in jedem Schlüssel eine Lösung für den Dialog "Immer zulassen" gefunden!

Führen Sie einfach den vorherigen Befehl mit Sudo aus.

Sudo security dump-keychain -d login.keychain

Auf diese Weise müssen Sie Ihr Passwort nur zweimal eingeben. Einer auf dem Terminal nach Sudo und ein anderer, um den Schlüsselbund freizuschalten! ;)

Einen schönen Tag noch!

14
TCB13

Update, es gibt jetzt ein Tool, das dies gut macht:

Keychaindump ist ein Proof-of-Concept-Tool zum Lesen der OS X-Schlüsselbundkennwörter als Root. Es sucht nach nicht gesperrten Schlüsselbundhauptschlüsseln, die sich im Speicherbereich des securityd-Prozesses befinden, und verwendet sie zum Entschlüsseln von Schlüsselbunddateien.

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

0
Brian Heese

Eigentlich habe ich nur das gleiche gesucht: Geändertes Apfelskript von Github, den jemand gepostet hat. Um in ScriptEditor ausgeführt zu werden, muss es in Preferences & Security erlaubt sein.

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

Sie müssen jedes Fenster einzeln anklicken, um sie zu aktivieren. Dafür benutzte ich das Tool "murgaa auto clicker", das ich vor vielen Jahren von runescape kannte ( http://www.murgaa.com/auto-clicker-mac/ scheint immer noch aktiv). Sie müssen nur die Abkürzung für Autoclicking einstellen (z. B. Befehlstaste + R) und den Timer auf 10 ms einstellen, und es funktioniert wie ein Zauber.

0
wutter