Jak zrzucić zawartość pęku kluczy ze skorupy?

8

Testuję następujący wiersz polecenia w terminalu:

sudo security dump-keychain -d login.keychain

którego chciałbym użyć do zapisania wszystkich moich haseł w pliku.

Jednak gdy go uruchamiam, pyta mnie o każdy element, czy chcę zezwolić na dostęp, mimo że wybrałem opcję „Zawsze zezwalaj”.

Czy jest jakieś obejście?

kenorb
źródło
czy próbowałeś „sudo su security dump-keychain -d /Users/YourUsername/Library/Keychains/login.keychain”
Ruskes
@Buscar 웃 Tak samo jest z sudo.
kenorb

Odpowiedzi:

8

Istnieje narzędzie Keychaindump napisane przez Juuso Salonena, które jest sprawdzonym narzędziem do odczytywania haseł pęku kluczy OS X jako root.

Podstawowe użycie:

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

Przykładowe dane wyjściowe:

$ 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
...

Inne narzędzia:

Zobacz też:

kenorb
źródło
1
Zasługujesz na 100 pozytywnych opinii, a twórca zasługuje na 1000!
Sheharyar
1
Szkoda, że ​​ten program nie działa na Mojave.
Oarfish
6

To jest proste zadanie dla AppleScript. Po pierwsze upewnij się, że przekierowujesz standardowe wyjście do pliku, wykonując to sudo security dump-keychain -d login.keychain > ~/Desktop/loginKeychain.txt. Przed wykonaniem tego polecenia otwórz Edytor skryptów, powinien on być w, /Applications/Utilities/a następnie wklej to:

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

Teraz uruchom polecenie zrzutu, a następnie kliknij przycisk Odtwórz u góry edytora skryptów. To powinno nacisnąć przyciski.

Zezwalaj zawsze pozwala na dostęp do elementu pęku kluczy na zawsze, ale jest stosowany tylko do jednego elementu na raz. Trzymałbym się klikniętego przycisku Zezwól, aby ktoś inny nie mógł uzyskać do niego dostępu w przyszłości bez Twojej zgody.

użytkownik14492
źródło
Dzięki, to brzmi jak obejście, ale to coś :) Przetestowałem i działa, ale musiałem zmienić linię na click button "Allow" of group 1 of window 1:, w przeciwnym razie miałem błąd, że przycisk nie został znaleziony.
kenorb
W rzeczywistości nie rozwiązał dokładnie, ponieważ wiersz poleceń opiera się na skrypcie zewnętrznym. Szukam czegoś bardziej uniwersalnego. Myślę, że powinieneś również link do źródła, w którym znalazłeś ten skrypt, prawdopodobnie stąd .
kenorb
@kenorb Możesz również uruchomić ten skrypt z wiersza poleceń, używając polecenia osascript. Nie sądzę, że można wykonywać skrypty GUI w bash.
user14492