Wie kann ich alle meine in der Schlüsselbundverwaltung gespeicherten Passwörter auflisten?

Ich versuche, den Befehl „security find-internet-password“ zu verwenden, um meine Passwörter anzuzeigen. Ich möchte ein Skript schreiben, um meinen Schlüsselbund zu durchlaufen und alle meine Passwörter aufzulisten. Ich habe die Manpage aus Sicherheitsgründen gelesen und die Beispiele ausprobiert, kann aber keines meiner Passwörter zurückgeben.

Hier ist der Befehl aus der Manpage:

find-internet-password [-h] [-a account] [-s server] [options...] [-g] [keychain...]
            -a account      Match account string
            -c creator      Match creator (four-character code)
            -C type         Match type (four-character code)
            -d securityDomain
                            Match securityDomain string
            -D kind         Match kind string
            -j comment      Match comment string
            -l label        Match label string
            -p path         Match path string
            -P port         Match port number
            -r protocol     Match protocol (four-character code)
            -s server       Match server string
            -t authenticationType
                            Match authenticationType (four-character code)
            -g              Display the password for the item found
            -w              Display the password(only) for the item found

Ich habe mehrere Syntaxen für den Befehl ausprobiert, einschließlich des Leerlassens des Schlüsselbundwerts. In den folgenden Beispielen ist admin ein Kontoname für eines meiner Internetkonten. Ich würde es vorziehen, alle Passwörter auf einmal zu erhalten, aber wenn ich den Schlüsselbund auslege, entsteht ein unlesbares Durcheinander von Text mit vielen Tags, die ich nicht analysieren kann. Gibt es irgendwelche

$ security find-internet-password -a admin -g 
$ security find-internet-password -a admin -g login
$ security fine-internet-password -a admin -g user
$ security find-internet-password -a admin -g /Users/Chilly/Library/Keychains/user

Ich würde es vorziehen, alle Passwörter auf einmal zu erhalten, aber wenn ich den Schlüsselbund auslege, entsteht ein unlesbares Durcheinander von Text mit vielen Tags, die ich nicht analysieren kann. Gibt es im Internet eine Dokumentation für das Format dieser Dump-Datei oder wie man sie analysiert. Vorschläge, die ich gesehen habe, besagen, die Datei einfach zu "grep", aber ich brauche Dokumentation, um zu wissen, wonach ich suchen muss. (und ein Handbuch zu grep und awk und sed zu lesen, aber diese sind weit verbreitet :-)

Antworten (1)

Dadurch werden Ihre Anmeldekennwörter ausgegeben:

sudo security dump-keychain -d login.keychain > keychain.txt

Und dies ist ein Skript, das es in ein für Menschen lesbares Format konvertieren kann: https://gist.github.com/rwest/1583781

NB: Das Ruby-Skript funktionierte bei mir erst, nachdem ich die Zeile mit  .gsub!('htps', 'https');.

Und optional ist hier ein Applescript, das automatisch auf das Dialogfeld zur Bestätigung der Betriebssystemsicherheit klickt: https://apple.stackexchange.com/a/137336/66812 .

Überprüfen Sie diesen Kommentar auf ein Ruby-Skript, das funktioniert, ohne Zeilen zu entfernen!
Es ist erwähnenswert, dass dies nur Anmeldekennwörter sind. Die meisten interessanten Passwörter befinden sich in iCloud-Passwörtern ...