Stealing Windows Credentials
Mimikatz - Kradzież poświadczeń
Znajdź inne rzeczy, które Mimikatz może zrobić na tej stronie.
Invoke-Mimikatz
Dowiedz się tutaj o niektórych możliwych zabezpieczeniach danych uwierzytelniających. Te zabezpieczenia mogą zapobiec wydobyciu niektórych danych uwierzytelniających przez Mimikatz.
Dane uwierzytelniające z Meterpreter
Użyj wtyczki Credentials, którą stworzyłem, aby przeszukać ofiarę w poszukiwaniu haseł i skrótów.
Omijanie AV
Procdump + Mimikatz
Ponieważ Procdump od 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 wydobycia danych uwierzytelniających 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ą wykryć jako szkodliwe użycie procdump.exe do zrzutu lsass.exe, ponieważ wykrywają ciągi "procdump.exe" i "lsass.exe". Dlatego jest bardziej skryte przekazać jako argument PID lsass.exe do procdump zamiast nazwy lsass.exe.
Zrzucanie lsass za pomocą comsvcs.dll
Biblioteka DLL o nazwie comsvcs.dll znajdująca się w C:\Windows\System32
jest odpowiedzialna za zrzucanie pamięci procesu w przypadku awarii. Ta biblioteka DLL zawiera funkcję o nazwie MiniDumpW
, która jest uruchamiana za pomocą rundll32.exe
.
Pierwsze dwa argumenty są nieistotne, ale trzeci argument składa się z trzech składników. Pierwszy składnik to identyfikator procesu, który ma zostać zrzutowany, drugi składnik to lokalizacja pliku zrzutu, a trzeci składnik to wyłącznie słowo full. Nie istnieją żadne alternatywne opcje.
Po analizie tych trzech składników biblioteka DLL tworzy plik zrzutu i przenosi pamięć określonego procesu do tego pliku.
Wykorzystanie biblioteki comsvcs.dll jest możliwe do zrzucania procesu lsass, eliminując tym samym konieczność przesyłania i uruchamiania procdump. Metoda ta jest szczegółowo opisana pod adresem https://en.hackndo.com/remote-lsass-dump-passwords/.
Do wykonania używane jest następujące polecenie:
Ten proces można zautomatyzować za pomocą lssasy.
Wykonywanie zrzutu lsass za pomocą Menedżera zadań
Kliknij prawym przyciskiem myszy na pasku zadań i wybierz Menedżer zadań.
Kliknij na "Więcej szczegółów".
W zakładce Procesy wyszukaj proces "Local Security Authority Process".
Kliknij prawym przyciskiem myszy na procesie "Local Security Authority Process" i wybierz "Utwórz plik zrzutu".
Wykonywanie zrzutu lsass za pomocą procdump
Procdump to podpisany przez Microsoft plik binarny, który jest częścią pakietu sysinternals.
Dumpowanie lsass za pomocą PPLBlade
PPLBlade to narzędzie do dumpowania chronionych procesów, które obsługuje zaciemnianie dumpów pamięci i przesyłanie ich na zdalne stanowiska robocze bez zapisywania ich na dysku.
Główne funkcje:
Omijanie ochrony PPL
Zaciemnianie plików dumpu pamięci w celu uniknięcia wykrycia przez mechanizmy sygnatur antywirusowych Defendera
Przesyłanie dumpu pamięci za pomocą metod RAW i SMB bez zapisywania go na dysku (bezplikowy dump)
CrackMapExec
Wydobywanie haszy SAM
CrackMapExec to narzędzie do testowania penetracyjnego, które można użyć do wydobywania haszy z bazy danych SAM w systemach Windows. Hasze SAM są przechowywane lokalnie na komputerze i zawierają uwierzytelnienie użytkowników systemu. Wydobywanie tych haszy może umożliwić złamanie haseł i uzyskanie dostępu do kont użytkowników. Aby wydobyć hasze SAM za pomocą CrackMapExec, wykonaj następujące kroki:
Uruchom CrackMapExec na swoim systemie.
Użyj polecenia
cme smb <target> -u <username> -p <password>
do nawiązania połączenia z docelowym systemem za pomocą protokołu SMB.Wykonaj polecenie
hashdump
w celu wydobywania haszy SAM z systemu.Otrzymane hasze można następnie użyć do próby złamania haseł lub do innych celów testowania penetracyjnego.
Wydobywanie haszy SAM jest przydatnym narzędziem w procesie testowania penetracyjnego, ponieważ umożliwia identyfikację słabych haseł i potencjalne podatności w systemach Windows. Pamiętaj jednak, że wydobywanie haszy bez zgody właściciela systemu jest nielegalne i może prowadzić do konsekwencji prawnych. Zawsze przestrzegaj odpowiednich przepisów i zasad etycznych podczas korzystania z narzędzi do testowania penetracyjnego.
Wykradanie sekretów LSA
Opis
Wykradanie sekretów LSA (Local Security Authority) to technika polegająca na pozyskiwaniu poufnych informacji przechowywanych w systemie Windows. Sekrety LSA obejmują m.in. hasła użytkowników, klucze szyfrujące, tokeny uwierzytelniające i certyfikaty.
Kroki
Uruchom narzędzie
mimikatz
na docelowym systemie Windows.Wprowadź polecenie
privilege::debug
, aby uzyskać uprawnienia debugowania.Wykonaj polecenie
sekurlsa::logonpasswords
, aby wyświetlić poufne informacje uwierzytelniania.Zapisz wyświetlone dane, aby móc je przeanalizować później.
Uwagi
Ta technika wymaga uprawnień administratora lub uprawnień debugowania.
Wykradanie sekretów LSA jest nielegalne i narusza prywatność innych osób. Używaj tej techniki tylko w celach edukacyjnych lub zgodnie z prawem.
Wydobądź plik NTDS.dit z docelowego kontrolera domeny (DC)
Aby wydobędź plik NTDS.dit z docelowego kontrolera domeny (DC), możesz użyć narzędzia ntdsutil
. Narzędzie to jest wbudowane w systemy Windows Server i umożliwia dostęp do bazy danych Active Directory.
Zaloguj się na docelowy kontroler domeny (DC) jako administrator.
Otwórz wiersz polecenia jako administrator.
Uruchom narzędzie
ntdsutil
, wpisując polecenientdsutil
i naciskając Enter.Wewnątrz narzędzia
ntdsutil
, wpisz polecenieactivate instance ntds
i naciśnij Enter.Następnie wpisz polecenie
ifm
i naciśnij Enter, aby przejść do trybu tworzenia plików instalacyjnych.Wpisz polecenie
create full <ścieżka_do_folderu_docelowego>
, gdzie<ścieżka_do_folderu_docelowego>
to ścieżka do folderu, w którym chcesz zapisać plik NTDS.dit. Naciśnij Enter, aby rozpocząć proces tworzenia plików instalacyjnych.Po zakończeniu procesu, plik NTDS.dit zostanie wyodrębniony i zapisany w wybranym folderze.
Pamiętaj, że wydobycie pliku NTDS.dit z kontrolera domeny wymaga uprawnień administratora i jest związane z potencjalnymi ryzykami. Wykorzystuj te informacje zgodnie z prawem i tylko w celach, które są zgodne z etycznym testowaniem penetracyjnym.
Wydobądź historię haseł NTDS.dit z docelowego kontrolera domeny (DC)
Aby wydobyć historię haseł NTDS.dit z docelowego kontrolera domeny (DC), wykonaj następujące kroki:
Uruchom narzędzie
ntdsutil
na docelowym DC.Wpisz polecenie
activate instance ntds
.Następnie wpisz polecenie
ifm
.Wybierz katalog docelowy, w którym chcesz zapisać skopiowane pliki.
Wpisz polecenie
create full C:\path\to\output\folder
.Poczekaj, aż proces kopiowania zostanie zakończony.
Przejdź do katalogu, w którym zapisałeś skopiowane pliki.
Otwórz plik
ntds.dit
przy użyciu narzędziaesedbexport
.Wydobądź historię haseł, korzystając z narzędzia
dsusers.py
lub innego narzędzia do analizy bazy danych NTDS.dit.
Pamiętaj, że wydobycie historii haseł NTDS.dit z docelowego DC wymaga uprawnień administratora.
Pokaż atrybut pwdLastSet dla każdego konta NTDS.dit
Aby wyświetlić atrybut pwdLastSet dla każdego konta NTDS.dit, wykonaj następujące kroki:
Otwórz wiersz polecenia jako administrator.
Uruchom narzędzie
ntdsutil
, wpisującntdsutil
i naciskając Enter.Wprowadź polecenie
activate instance ntds
, a następnie naciśnij Enter.Wprowadź polecenie
ifm
, a następnie naciśnij Enter.Wprowadź polecenie
create full C:\path\to\destination
, gdzieC:\path\to\destination
to ścieżka do miejsca, w którym chcesz zapisać pliki NTDS.dit i SYSTEM.Po zakończeniu procesu tworzenia kopii zapasowej, wprowadź polecenie
quit
, a następnie naciśnij Enter.Wprowadź polecenie
quit
, a następnie naciśnij Enter, aby wyjść z narzędziantdsutil
.Przejdź do miejsca, w którym zapisałeś pliki NTDS.dit i SYSTEM.
Uruchom narzędzie
esedbexport
, wpisującesedbexport ntds.dit
, a następnie naciskając Enter.Wyświetl atrybut pwdLastSet dla każdego konta NTDS.dit, wykonując polecenie
dsquery * -filter "(objectCategory=Person)" -attr pwdLastSet
.
Teraz będziesz mógł zobaczyć atrybut pwdLastSet dla każdego konta NTDS.dit.
Kradzież plików SAM i SYSTEM
Te pliki powinny być znajdują się w C:\windows\system32\config\SAM i C:\windows\system32\config\SYSTEM. Jednak nie możesz ich po prostu skopiować w standardowy sposób, ponieważ są one chronione.
Z rejestru
Najprostszym sposobem na kradzież tych plików jest skopiowanie ich z rejestru:
Pobierz te pliki na swoje urządzenie Kali i wyodrębnij hashe za pomocą:
Kopiowanie woluminu cieni
Możesz wykonać kopię chronionych plików za pomocą tej usługi. Musisz być administratorem.
Używanie vssadmin
Plik binarny vssadmin jest dostępny tylko w wersjach systemu Windows Server.
Ale to samo można zrobić za pomocą Powershell. Oto przykład jak skopiować plik SAM (dysk twardy używany to "C:" i jest zapisywany w C:\users\Public), ale można to zastosować do kopiowania dowolnego chronionego pliku:
Kod z książki: https://0xword.com/es/libros/99-hacking-windows-ataques-a-sistemas-y-redes-microsoft.html
Invoke-NinjaCopy
Ostatecznie, można również użyć skryptu PS Invoke-NinjaCopy, aby utworzyć kopię plików SAM, SYSTEM i ntds.dit.
Aktywne poświadczenia Active Directory - NTDS.dit
Plik NTDS.dit jest znany jako serce Active Directory i przechowuje kluczowe dane dotyczące obiektów użytkowników, grup i ich przynależności. To tutaj przechowywane są hasze haseł dla użytkowników domeny. Ten plik jest bazą danych Extensible Storage Engine (ESE) i znajduje się w lokalizacji %SystemRoom%/NTDS/ntds.dit.
W tej bazie danych utrzymywane są trzy główne tabele:
Tabela danych: Ta tabela przechowuje szczegóły dotyczące obiektów, takich jak użytkownicy i grupy.
Tabela powiązań: Śledzi relacje, takie jak przynależność do grupy.
Tabela SD: Tutaj przechowywane są deskryptory zabezpieczeń dla każdego obiektu, zapewniające 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/
System Windows używa Ntdsa.dll do interakcji z tym plikiem, a jest on używany przez lsass.exe. Część pliku NTDS.dit może znajdować się w pamięci lsass
(można znaleźć najnowsze dane dostępne prawdopodobnie ze względu na poprawę wydajności za pomocą pamięci podręcznej).
Odszyfrowywanie haszy wewnątrz NTDS.dit
Hasz jest szyfrowany 3 razy:
Odszyfrowanie klucza szyfrowania hasła (PEK) za pomocą BOOTKEY i RC4.
Odszyfrowanie hasza za pomocą PEK i RC4.
Odszyfrowanie hasza za pomocą DES.
PEK ma tą samą wartość na każdym kontrolerze domeny, ale jest szyfrowany wewnątrz pliku NTDS.dit za pomocą BOOTKEY z pliku SYSTEM kontrolera domeny (różni się między kontrolerami domeny). Dlatego aby uzyskać poświadczenia z pliku NTDS.dit, potrzebujesz plików NTDS.dit i SYSTEM (C:\Windows\System32\config\SYSTEM).
Kopiowanie NTDS.dit za pomocą narzędzia Ntdsutil
Dostępne od Windows Server 2008.
Możesz również użyć sztuczki z kopią woluminu cieni, aby skopiować plik ntds.dit. Pamiętaj, że będziesz również potrzebować kopii pliku SYSTEM (ponownie, wydobądź go z rejestru lub użyj sztuczki z kopią woluminu cieni).
Wydobywanie hashy z pliku NTDS.dit
Gdy już uzyskasz pliki NTDS.dit i SYSTEM, możesz użyć narzędzi takich jak secretsdump.py, aby wydobyć hashy:
Możesz również wydobyć je automatycznie za pomocą ważnego użytkownika administratora domeny:
Dla dużych plików NTDS.dit zaleca się ich wyodrębnienie za pomocą gosecretsdump.
Ostatecznie, można również użyć modułu metasploit: post/windows/gather/credentials/domain_hashdump lub mimikatz lsadump::lsa /inject
Wyodrębnianie obiektów domeny z pliku NTDS.dit do bazy danych SQLite
Obiekty NTDS mogą być wyodrębniane do bazy danych SQLite za pomocą ntdsdotsqlite. Wyodrębniane są nie tylko tajemnice, ale także całe obiekty i ich atrybuty, co umożliwia dalsze wyodrębnianie informacji, gdy już uzyskano surowy plik NTDS.dit.
SYSTEM
hive jest opcjonalny, ale umożliwia odszyfrowanie sekretów (haszów NT i LM, uzupełniających poświadczeń, takich jak hasła w czystym tekście, kluczy kerberos lub zaufania, historii haseł NT i LM). Oprócz innych informacji, wyodrębniane są następujące dane: konta użytkowników i maszyn z ich haszami, flagi UAC, znaczniki czasu ostatniego logowania i zmiany hasła, opisy kont, nazwy, UPN, SPN, grupy i rekurencyjne przynależności, drzewo jednostek organizacyjnych i przynależność, zaufane domeny z typem, kierunkiem i atrybutami zaufania...
Lazagne
Pobierz binarny plik stąd tutaj. Możesz użyć tego pliku binarnego do wyodrębnienia poświadczeń z różnych oprogramowań.
Inne narzędzia do wydobywania poświadczeń z plików SAM i LSASS
Windows credentials Editor (WCE)
To narzędzie można użyć do wydobycia poświadczeń z pamięci. Pobierz je z: http://www.ampliasecurity.com/research/windows-credentials-editor/
fgdump
Wydobywaj poświadczenia z pliku SAM
PwDump
Wyodrębnij poświadczenia z pliku SAM
PwDump7
Pobierz go z: http://www.tarasco.org/security/pwdump_7 i po prostu uruchom go, a hasła zostaną wyodrębnione.
Obrona
Dowiedz się tutaj o niektórych zabezpieczeniach danych uwierzytelniających.
Last updated