1.6 KiB
Przechowywanie poświadczeń w systemie Linux
Systemy Linux przechowują poświadczenia w trzech typach pamięci podręcznej, a mianowicie Pliki (w katalogu /tmp
), Kernel Keyrings (specjalny segment w jądrze Linuxa) oraz Pamięć Procesu (do użytku jednego procesu). Zmienna default_ccache_name w /etc/krb5.conf
ujawnia typ używanej pamięci, domyślnie ustawiając na FILE:/tmp/krb5cc_%{uid}
, jeśli nie jest określona.
Ekstrakcja poświadczeń
Artykuł z 2017 roku, Kerberos Credential Thievery (GNU/Linux), opisuje metody ekstrakcji poświadczeń z keyrings i procesów, podkreślając mechanizm keyring w jądrze Linuxa do zarządzania i przechowywania kluczy.
Przegląd ekstrakcji keyring
Wywołanie systemowe keyctl, wprowadzone w wersji jądra 2.6.10, pozwala aplikacjom w przestrzeni użytkownika na interakcję z kernel keyrings. Poświadczenia w keyrings są przechowywane jako komponenty (domyślny główny i poświadczenia), różniące się od pamięci ccaches, które również zawierają nagłówek. Skrypt hercules.sh z artykułu demonstruje ekstrakcję i rekonstrukcję tych komponentów w używalny plik ccache do kradzieży poświadczeń.
Narzędzie do ekstrakcji biletów: Tickey
Opierając się na zasadach skryptu hercules.sh, narzędzie tickey jest specjalnie zaprojektowane do ekstrakcji biletów z keyrings, uruchamiane za pomocą /tmp/tickey -i
.