DPAPI - Extracting Passwords
RootedCON to najważniejsze wydarzenie z zakresu cyberbezpieczeństwa w Hiszpanii i jedno z najważniejszych w Europie. Mając misję promowania wiedzy technicznej, ten kongres stanowi gorące miejsce spotkań dla profesjonalistów technologii i cyberbezpieczeństwa z każdej dziedziny.
Co to jest DPAPI
Interfejs programistyczny ochrony danych (DPAPI) jest głównie wykorzystywany w systemie operacyjnym Windows do symetrycznego szyfrowania asymetrycznych kluczy prywatnych, wykorzystując tajemnice użytkownika lub systemu jako istotne źródło entropii. Ten podejście upraszcza szyfrowanie dla programistów, umożliwiając im szyfrowanie danych przy użyciu klucza pochodzącego z tajemnic logowania użytkownika lub, w przypadku szyfrowania systemowego, tajemnic uwierzytelniania domeny systemu, eliminując konieczność zarządzania ochroną klucza szyfrowania przez programistów.
Dane chronione przez DPAPI
Wśród danych osobistych chronionych przez DPAPI znajdują się:
Hasła i dane autouzupełniania Internet Explorera i Google Chrome'a
Hasła do kont e-mailowych i wewnętrznych kont FTP dla aplikacji takich jak Outlook i Windows Mail
Hasła do współdzielonych folderów, zasobów, sieci bezprzewodowych i Skarbca systemu Windows, w tym klucze szyfrowania
Hasła do połączeń pulpitu zdalnego, paszportu .NET oraz klucze prywatne do różnych celów szyfrowania i uwierzytelniania
Hasła sieci zarządzane przez Menedżera poświadczeń oraz dane osobiste w aplikacjach korzystających z CryptProtectData, takich jak Skype, MSN Messenger i inne
Lista Skarbca
Pliki uwierzytelniające
Chronione pliki uwierzytelniające mogą znajdować się w:
Pobierz informacje o poświadczeniach, używając mimikatz dpapi::cred
, w odpowiedzi możesz znaleźć interesujące informacje, takie jak zaszyfrowane dane i guidMasterKey.
Możesz użyć modułu mimikatz dpapi::cred
z odpowiednim parametrem /masterkey
do odszyfrowania:
Klucze główne
Klucze DPAPI używane do szyfrowania kluczy RSA użytkownika są przechowywane w katalogu %APPDATA%\Microsoft\Protect\{SID}
, gdzie {SID} to Identifier zabezpieczeń tego użytkownika. Klucz DPAPI jest przechowywany w tym samym pliku co klucz główny chroniący prywatne klucze użytkowników. Zazwyczaj jest to 64 bajty losowych danych. (Zauważ, że ten katalog jest chroniony, więc nie można go wyświetlić za pomocą dir
z wiersza polecenia, ale można go wyświetlić z poziomu PS).
To jest to, jak będą wyglądać klucze główne użytkownika:
Zazwyczaj każdy klucz główny to zaszyfrowany klucz symetryczny, który może odszyfrować inne treści. Dlatego wydobycie zaszyfrowanego klucza głównego jest interesujące, aby później odszyfrować te inne treści zaszyfrowane nim.
Wydobycie klucza głównego i odszyfrowanie
Sprawdź post https://www.ired.team/offensive-security/credential-access-and-credential-dumping/reading-dpapi-encrypted-secrets-with-mimikatz-and-c++ dla przykładu, jak wydobyć klucz główny i go odszyfrować.
SharpDPAPI
SharpDPAPI to port C# pewnych funkcji DPAPI z projektu @gentilkiwi Mimikatz.
HEKATOMB
HEKATOMB to narzędzie, które automatyzuje wydobycie wszystkich użytkowników i komputerów z katalogu LDAP oraz wydobycie klucza zapasowego kontrolera domeny za pomocą RPC. Skrypt rozwiąże adresy IP wszystkich komputerów i wykona smbclient na wszystkich komputerach, aby pobrać wszystkie bloki DPAPI wszystkich użytkowników i odszyfrować wszystko za pomocą klucza zapasowego domeny.
python3 hekatomb.py -hashes :ed0052e5a66b1c8e942cc9481a50d56 DOMAIN.local/administrator@10.0.0.1 -debug -dnstcp
Dzięki wydobytym z listy komputerów LDAP możesz znaleźć każdą podsieć, nawet jeśli ich nie znałeś!
"Ponieważ prawa administratora domeny to za mało. Zhackuj je wszystkie."
DonPAPI
DonPAPI może automatycznie wydobywać zabezpieczone DPAPI tajemnice.
Referencje
RootedCON to najważniejsze wydarzenie z zakresu cyberbezpieczeństwa w Hiszpanii i jedno z najważniejszych w Europie. Mając misję promowania wiedzy technicznej, ten kongres jest gorącym punktem spotkań dla profesjonalistów technologii i cyberbezpieczeństwa we wszystkich dziedzinach.
Last updated