DPAPI - Extracting Passwords
RootedCON to najważniejsze wydarzenie związane z cyberbezpieczeństwem w Hiszpanii i jedno z najważniejszych w Europie. Z misją promowania wiedzy technicznej, ten kongres jest gorącym punktem spotkań dla profesjonalistów z dziedziny technologii i cyberbezpieczeństwa w każdej dyscyplinie.
Czym jest DPAPI
Data Protection API (DPAPI) jest głównie wykorzystywane w systemie operacyjnym Windows do symmetric encryption of asymmetric private keys, wykorzystując tajemnice użytkownika lub systemu jako istotne źródło entropii. To podejście upraszcza szyfrowanie dla programistów, umożliwiając im szyfrowanie danych za pomocą klucza pochodzącego z tajemnic logowania użytkownika lub, w przypadku szyfrowania systemowego, tajemnic uwierzytelniania domeny systemu, eliminując w ten sposób potrzebę zarządzania ochroną klucza szyfrującego przez programistów.
Chronione dane przez DPAPI
Wśród danych osobowych chronionych przez DPAPI znajdują się:
Hasła i dane autouzupełniania Internet Explorera i Google Chrome
Hasła do kont e-mail i wewnętrznych kont FTP dla aplikacji takich jak Outlook i Windows Mail
Hasła do folderów współdzielonych, zasobów, sieci bezprzewodowych i Windows Vault, w tym klucze szyfrujące
Hasła do połączeń zdalnego pulpitu, .NET Passport oraz klucze prywatne do różnych celów szyfrowania i uwierzytelniania
Hasła sieciowe zarządzane przez Menedżera poświadczeń oraz dane osobowe w aplikacjach korzystających z CryptProtectData, takich jak Skype, MSN messenger i inne
Lista Vault
Pliki poświadczeń
Pliki poświadczeń chronionych mogą znajdować się w:
Uzyskaj informacje o poświadczeniach za pomocą mimikatz dpapi::cred
, w odpowiedzi możesz znaleźć interesujące informacje, takie jak zaszyfrowane dane i guidMasterKey.
Możesz użyć mimikatz module dpapi::cred
z odpowiednim /masterkey
, aby odszyfrować:
Master Keys
Klucze DPAPI używane do szyfrowania kluczy RSA użytkownika są przechowywane w katalogu %APPDATA%\Microsoft\Protect\{SID}
, gdzie {SID} to Identifikator zabezpieczeń tego użytkownika. Klucz DPAPI jest przechowywany w tym samym pliku co klucz główny, który chroni prywatne klucze użytkowników. Zwykle ma 64 bajty losowych danych. (Zauważ, że ten katalog jest chroniony, więc nie możesz go wylistować używając dir
z cmd, ale możesz go wylistować z PS).
To jest to, jak wygląda zestaw kluczy głównych użytkownika:
Zazwyczaj każdy klucz główny to zaszyfrowany klucz symetryczny, który może odszyfrować inny content. Dlatego wyodrębnienie zaszyfrowanego klucza głównego jest interesujące, aby odszyfrować później ten inny content zaszyfrowany za jego pomocą.
Wyodrębnij klucz główny i odszyfruj
Sprawdź post https://www.ired.team/offensive-security/credential-access-and-credential-dumping/reading-dpapi-encrypted-secrets-with-mimikatz-and-c++ jako przykład, jak wyodrębnić klucz główny i go odszyfrować.
SharpDPAPI
SharpDPAPI to port C# niektórych funkcji DPAPI z projektu @gentilkiwi's Mimikatz.
HEKATOMB
HEKATOMB to narzędzie, które automatyzuje wyodrębnianie wszystkich użytkowników i komputerów z katalogu LDAP oraz wyodrębnianie klucza zapasowego kontrolera domeny przez RPC. Skrypt następnie rozwiąże adresy IP wszystkich komputerów i wykona smbclient na wszystkich komputerach, aby odzyskać wszystkie obiekty 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
Z wyodrębnioną listą komputerów z LDAP możesz znaleźć każdą podsieć, nawet jeśli ich nie znałeś!
"Ponieważ prawa administratora domeny to za mało. Hakeruj je wszystkie."
DonPAPI
DonPAPI może automatycznie wyodrębniać sekrety chronione przez DPAPI.
Referencje
RootedCON to najważniejsze wydarzenie związane z cyberbezpieczeństwem w Hiszpanii i jedno z najważniejszych w Europie. Z misją promowania wiedzy technicznej, ten kongres jest gorącym punktem spotkań dla profesjonalistów technologii i cyberbezpieczeństwa w każdej dziedzinie.
Last updated