Stealing Windows Credentials
Last updated
Last updated
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Znajdź inne rzeczy, które Mimikatz może zrobić na tej stronie.
Dowiedz się o możliwych zabezpieczeniach poświadczeń tutaj. Te zabezpieczenia mogą zapobiec Mimikatz w wydobywaniu niektórych poświadczeń.
Użyj Wtyczki Poświadczeń którą stworzyłem, aby wyszukiwać hasła i hasze wewnątrz ofiary.
Ponieważ Procdump z SysInternals jest legalnym narzędziem Microsoftu, nie jest wykrywany przez Defendera. Możesz użyć tego narzędzia do zrzutu procesu lsass, pobrania zrzutu i wyodrębnienia poświadczeń lokalnie z zrzutu.
Ten proces jest wykonywany automatycznie za pomocą SprayKatz: ./spraykatz.py -u H4x0r -p L0c4L4dm1n -t 192.168.1.0/24
Uwaga: Niektóre AV mogą wykrywać jako złośliwe użycie procdump.exe do zrzutu lsass.exe, ponieważ wykrywają ciąg "procdump.exe" i "lsass.exe". Dlatego jest bardziej dyskretne przekazanie jako argumentu PID lsass.exe do procdump zamiast nazwy lsass.exe.
DLL o nazwie comsvcs.dll znajdujący się w C:\Windows\System32
jest odpowiedzialny za zrzut pamięci procesu w przypadku awarii. Ten DLL zawiera funkcję o nazwie MiniDumpW
, zaprojektowaną do wywoływania za pomocą rundll32.exe
.
Nie ma znaczenia użycie pierwszych dwóch argumentów, ale trzeci jest podzielony na trzy komponenty. Identyfikator procesu do zrzutu stanowi pierwszy komponent, lokalizacja pliku zrzutu reprezentuje drugi, a trzeci komponent to ściśle słowo full. Nie istnieją alternatywne opcje.
Po przetworzeniu tych trzech komponentów, DLL angażuje się w tworzenie pliku zrzutu i przenoszenie pamięci określonego procesu do tego pliku.
Wykorzystanie comsvcs.dll jest możliwe do zrzutu procesu lsass, eliminując potrzebę przesyłania i uruchamiania procdump. Ta metoda jest opisana szczegółowo na https://en.hackndo.com/remote-lsass-dump-passwords/.
Następujące polecenie jest używane do wykonania:
Możesz zautomatyzować ten proces za pomocą lssasy.
Kliknij prawym przyciskiem myszy na pasku zadań i wybierz Menedżera zadań
Kliknij na Więcej szczegółów
Wyszukaj proces "Local Security Authority Process" w zakładce Procesy
Kliknij prawym przyciskiem myszy na proces "Local Security Authority Process" i wybierz "Utwórz plik zrzutu".
Procdump to podpisany przez Microsoft plik binarny, który jest częścią zestawu sysinternals.
PPLBlade to narzędzie do zrzutu chronionych procesów, które wspiera obfuskację zrzutów pamięci i ich transfer na zdalne stacje robocze bez zapisywania ich na dysku.
Kluczowe funkcjonalności:
Obejście ochrony PPL
Obfuskacja plików zrzutów pamięci w celu unikania mechanizmów wykrywania opartych na sygnaturach Defendera
Przesyłanie zrzutu pamięci metodami RAW i SMB bez zapisywania go na dysku (zrzut bezplikowy)
Te pliki powinny być znajdowane w C:\windows\system32\config\SAM i C:\windows\system32\config\SYSTEM. Ale nie możesz ich po prostu skopiować w zwykły sposób, ponieważ są chronione.
Najłatwiejszym sposobem na kradzież tych plików jest uzyskanie kopii z rejestru:
Pobierz te pliki na swoją maszynę Kali i wyodrębnij hashe używając:
Możesz wykonać kopię chronionych plików za pomocą tej usługi. Musisz być administratorem.
Binarna wersja vssadmin jest dostępna tylko w wersjach Windows Server
Ale możesz to zrobić również z Powershell. Oto przykład jak skopiować plik SAM (używany dysk twardy to "C:", a plik jest zapisywany w C:\users\Public), ale możesz to wykorzystać do kopiowania dowolnego chronionego pliku:
Na koniec możesz również użyć skryptu PS Invoke-NinjaCopy, aby skopiować SAM, SYSTEM i ntds.dit.
Plik NTDS.dit jest znany jako serce Active Directory, przechowując kluczowe dane o obiektach użytkowników, grupach i ich członkostwie. To tutaj przechowywane są hash'e haseł dla użytkowników domeny. Plik ten jest bazą danych Extensible Storage Engine (ESE) i znajduje się w %SystemRoom%/NTDS/ntds.dit.
W tej bazie danych utrzymywane są trzy główne tabele:
Tabela Danych: Ta tabela jest odpowiedzialna za przechowywanie szczegółów o obiektach, takich jak użytkownicy i grupy.
Tabela Linków: Śledzi relacje, takie jak członkostwo w grupach.
Tabela SD: Deskryptory zabezpieczeń dla każdego obiektu są przechowywane tutaj, zapewniając bezpieczeństwo i kontrolę dostępu do przechowywanych obiektów.
Więcej informacji na ten temat: http://blogs.chrisse.se/2012/02/11/how-the-active-directory-data-store-really-works-inside-ntds-dit-part-1/
Windows używa Ntdsa.dll do interakcji z tym plikiem, a jest on używany przez lsass.exe. Następnie, część pliku NTDS.dit może być zlokalizowana w pamięci lsass
(możesz znaleźć ostatnio dostępne dane prawdopodobnie z powodu poprawy wydajności dzięki użyciu cache).
Hash jest szyfrowany 3 razy:
Deszyfruj Klucz Szyfrowania Hasła (PEK) używając BOOTKEY i RC4.
Deszyfruj hash używając PEK i RC4.
Deszyfruj hash używając DES.
PEK ma tę samą wartość w każdym kontrolerze domeny, ale jest szyfrowany wewnątrz pliku NTDS.dit przy użyciu BOOTKEY pliku SYSTEM kontrolera domeny (jest inny między kontrolerami domeny). Dlatego, aby uzyskać dane uwierzytelniające z pliku NTDS.dit, potrzebujesz plików NTDS.dit i SYSTEM (C:\Windows\System32\config\SYSTEM).
Dostępne od Windows Server 2008.
Możesz również użyć sztuczki z kopią zapasową woluminu, aby skopiować plik ntds.dit. Pamiętaj, że będziesz również potrzebować kopii pliku SYSTEM (ponownie, zrzutuj go z rejestru lub użyj sztuczki z kopią zapasową woluminu).
Gdy już zdobędziesz pliki NTDS.dit i SYSTEM, możesz użyć narzędzi takich jak secretsdump.py, aby ekstrahować hashe:
Możesz również wyodrębnić je automatycznie używając ważnego użytkownika z uprawnieniami administratora domeny:
Dla dużych plików NTDS.dit zaleca się ich ekstrakcję za pomocą gosecretsdump.
Na koniec możesz również użyć modułu metasploit: post/windows/gather/credentials/domain_hashdump lub mimikatz lsadump::lsa /inject
Obiekty NTDS można wyodrębnić do bazy danych SQLite za pomocą ntdsdotsqlite. Wyodrębniane są nie tylko sekrety, ale także całe obiekty i ich atrybuty do dalszej ekstrakcji informacji, gdy surowy plik NTDS.dit został już pobrany.
The SYSTEM
hive jest opcjonalny, ale pozwala na deszyfrowanie sekretów (hasła NT i LM, dodatkowe poświadczenia, takie jak hasła w postaci czystego tekstu, klucze kerberos lub zaufania, historie haseł NT i LM). Wraz z innymi informacjami, wyodrębniane są następujące dane: konta użytkowników i maszyn z ich haszami, flagi UAC, znacznik czasu ostatniego logowania i zmiany hasła, opisy kont, nazwy, UPN, SPN, grupy i członkostwa rekurencyjne, drzewo jednostek organizacyjnych i członkostwo, zaufane domeny z typem zaufania, kierunkiem i atrybutami...
Pobierz binarkę z tutaj. Możesz użyć tej binarki do wyodrębnienia poświadczeń z kilku programów.
To narzędzie może być używane do wyodrębniania poświadczeń z pamięci. Pobierz je z: http://www.ampliasecurity.com/research/windows-credentials-editor/
Wyodrębnij poświadczenia z pliku SAM
Wyodrębnij dane uwierzytelniające z pliku SAM
Pobierz go z: http://www.tarasco.org/security/pwdump_7 i po prostu wykonaj go, a hasła zostaną wyodrębnione.
Dowiedz się o niektórych zabezpieczeniach poświadczeń tutaj.
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)