W dzisiejszym, pierwszym artykule z serii „Microsoft LAPS – atakowanie i ochrona”, wprowadzimy Was w szczegóły instalacji oraz konfiguracji darmowego rozwiązania od Microsoft, służącego do zarzadzania hasłami lokalnych administratorów na komputerach. W kolejnych opiszemy zasady bezpieczeństwa w używaniu LAPS oraz pokażemy techniki hackowania tego rozwiązania.


Po co nam LAPS?

Każdy system operacyjny Windows, po procesie instalacji, zawiera wbudowane konto administratora systemu o nazwie „Administrator”. Niektórzy administratorzy IT w firmach dla zmylenia przeciwnika przed próbami odgadnięcia hasła przez atakujących zmieniają jego nazwę na mniej oczywistą np. root, king czy inne. Dzieje się tak dlatego, iż bardzo dużo skryptów i botów używa siłowych metod łamania haseł (brute-force) i wykorzystuje do tego wbudowaną listę loginów, w której Administrator jest jednym z głównych kont do ataku. Tutaj opisywaliśmy sposób jak można sprawdzić, czy ktoś próbuje odgadnąć hasło na konto administratora. Pokazywaliśmy tez sposoby, jak można to hasło wydobyć z systemu operacyjnego. Dlatego hasło na konto użytkownika „administrator” powinno być jak najdłuższe oraz często zmieniane – jest to jeden z podstawowych wymogów bezpieczeństwa.
Wyobraźmy sobie sytuację, w której jesteśmy administratorem IT i zarządzamy nie kilkoma, nie kilkunastoma a setką lub więcej komputerów w firmie. Każdy z nich posiada wbudowane konto administratora i chcemy na wszystkich komputerach zalogować się na konto lokalnego Administratora. Działy IT stoją przed problemem zarzadzania hasłem dla takich kont. Pójście na łatwiznę i utworzenie bezpiecznego, długiego i złożonego hasła, które będzie takie samo na wszystkich komputerach i będzie nawet cyklicznie zmieniane nie rozwiązuje do końca problemu. Dlaczego? Ponieważ jeśli jeden z tych komputerów zostanie przejęty, wszystkie zostaną przejęte. Słynny atak Lateral Movement lub Pass-The-Hash z łatwością wykorzysta taką sytuację. Również zrzut haseł z pamięci na jednym komputerze oznaczać będzie złamanie dostępu do wszystkich innych komputerów.
Uwagi wymaga także wcześniej powstały i niebezpieczny mechanizm Microsoft dotyczący regularnej zmiany hasła administratora lokalnego wykorzystujący Group Policy Prefferencies. Nie należy również nigdy, przenigdy używać skryptu, który zawiera hasło w postaci zwykłego tekstu, aby zmienić hasło administratora lokalnego, ponieważ skrypty te są zwykle umieszczane w łatwo dostępnych lokalizacjach, takich jak SYSVOL (w celu wykorzystania zasad grupy).
Najlepszym sposobem na złagodzenie tego problemu jest upewnienie się, że każdy komputer posiada inne hasło do konta administratora lokalnego, które jest długie, złożone i losowe oraz które zmienia się regularnie. W tym celu Microsoft wymyślił darmowe narzędzie LAPS.


Jak działa LAPS?


Rozwiązanie Microsoft Local Administrator Password (w skrócie LAPS) zapewnia automatyczne zarządzanie kontem administratora lokalnego na każdym komputerze przynależącym do usługi Active Directory.

LAPS umożliwia zarządzanie hasłem lokalnego konta administratora (RID 500) hasłem lub innym niestandardowym kontem lokalnym. Microsoft zaleca, aby tylko domyślne konto lokalne Administratora było członkiem lokalnej grupy Administratorzy i aby LAPS zarządzało tym kontem.

LAPS jest „najlepszym” rozwiązaniem dla haseł administratora lokalnego stacji roboczej i do tego darmowym. Składniki po stronie klienta instalowane są na każdym komputerze generują losowe hasło, aktualizują (tworzą nowe hasło) i zapisują je w specjalnym atrybucie hasła w skojarzonym koncie komputera (obiekcie) usługi AD i ustawiają hasło lokalnie. Konfiguracja LAPS jest zarządzana za pomocą zasad grupy (GPO), które zawierają wartości dotyczące złożoności hasła, długości hasła, nazwy konta lokalnego do zmiany hasła, częstotliwości zmiany hasła itp.


Aspekty bezpieczeństwa w zastosowaniu LAPS

LAPS upraszcza zarządzanie hasłami, pomagając klientom wdrażać zalecane zabezpieczenia. W szczególności rozwiązanie zmniejsza ryzyko bocznej eskalacji, która występuje, gdy klienci używają tej samej kombinacji konta lokalnego administratora i hasła na swoich komputerach. LAPS przechowuje hasło dla lokalnego konta administratora każdego komputera będącego członkiem domeny Active Directory. Zabezpieczone jest ono w poufnym atrybucie odpowiedniego obiektu (komputer) w Active Directory.
Komputer może aktualizować własne dane dotyczące haseł w usłudze Active Directory, a administratorzy domeny mogą udzielać dostępu do odczytu upoważnionym użytkownikom lub grupom, takim jak administratorzy działu pomocy technicznej stacji roboczej.

Podstawą rozwiązania LAPS jest rozszerzenie GPO po stronie klienta (CSE), które wykonuje następujące zadania i może wymusić następujące działania podczas aktualizacji GPO:

  • Sprawdza, czy wygasło hasło lokalnego konta administratora.
  • Generuje nowe hasło, gdy stare hasło straciło ważność lub trzeba je zmienić przed wygaśnięciem.
  • Sprawdza, czy nowe hasło jest zgodne ze strategią haseł.
  • Zgłasza hasło do usługi Active Directory, przechowując je z atrybutem poufnym na koncie komputera w usłudze Active Directory.
  • Zgłasza następny czas wygaśnięcia hasła do usługi Active Directory, przechowując je z atrybutem konta komputera w usłudze Active Directory.
  • Zmienia hasło konta administratora.

Hasło może zostać odczytane z Active Directory przez użytkowników, którzy mają do tego odpowiednie uprawnienie. Uprawnieni użytkownicy mogą poprosić o zmianę hasła do komputera.


Funkcje LAPS

LAPS zawiera następujące funkcje:

  • Bezpieczeństwo, które daje możliwość:
    • Losowo generuje hasła, które są automatycznie zmieniane na zarządzanych komputerach.
    • Skutecznie ogranicza ataki PtH, które opierają się na identycznych hasłach do kont lokalnych.
    • Wymusza ochronę hasła podczas jego synchronizacji (komputer<->Active Directory) poprzez szyfrowanie przy użyciu protokołu Kerberos w wersji 5.
    • Używa kontrolowaną listę dostępu (ACL) do ochrony haseł w usłudze Active Directory i łatwość wdrażania szczegółowego modelu zabezpieczeń.
  • Łatwość zarządzania, która umożliwia:
    • Konfiguracje parametrów hasła, w tym wiek, złożoność i długość.
    • Wymusza resetowanie hasła dla każdego komputera.
    • Używa modelu zabezpieczeń, który jest zintegrowany z listami ACL w usłudze Active Directory.
    • Używa dowolnego, wybranego narzędzia do zarządzania usługą Active Directory, w tym dostarczane są narzędzia niestandardowe, takie jak Windows PowerShell.
    • Chroni przed usunięciem konta komputera.

Jak zainstalować LAPS?

UWAGA! Wdrożenie LAPS wymaga rozszerzenia schematu Active Directory, więc podczas konfiguracji (polecenie Update-AdmPwdADSchema) wymagane jest członkostwo w grupie Schema Admins.


Krok 1 – pobranie narzędzia

Narzędzie LAPS można pobrać z następującego oficjalnego łącza. Tam wybieramy wydanie do pobrania, 32 lub 64 bity. My użyjemy 64-bitowego dla systemu Windows Server 2019.


Krok 2 – Instalacja

Po pobraniu instalatora przystępujemy do jego uruchomienia. Wyświetli się następujące okno.

Klikamy Next, a w następnym oknie akceptujemy warunki licencji.


Krok 3 – Wybranie komponentów do instalacji

Klikamy ponownie „Next”, a następnie wybieramy lub nie dodatkowe funkcje LAPS.
Pierwsza opcja „AdmPwd GPO Extension” to ta, która pozwala nam zarządzać wszystkimi komputerami w domenie. Aby włączyć dowolną z tych funkcji, kliknij ją i wybierz opcję „Cała funkcja” zostanie zainstalowana na lokalnym dysku twardym.

Interfejs użytkownika (Fat client) i moduł PowerShell muszą być instalowane tylko na systemach, które będą zarządzać LAPS, w tym tych, z których użytkownicy będą uzyskiwać dostęp do haseł lokalnych kont administratorów.
Komponenty GPO służą do wdrażania i zarządzania obiektami GPO LAPS.

Jeśli chcemy zarządzać końcówką (komputerem Windows) wówczas podczas instalacji należy jedynie wybrać pierwsza opcję. Wdrożenie tego komponentu w organizacji można wykonać za pomocą GPO (Software Install), innego oprogramowania lub ręcznie.

Po zdefiniowaniu tych parametrów do instalacji kliknij przycisk „Next”, wówczas przejdziemy do procesu instalacji LAPS na systemie Windows Server 2019.


Krok 4 – Finalizacja instalacji

Kliknij przycisk Instaluj (Install), aby rozpocząć proces instalacji, który trwa bardzo krótko. Na koniec klikamy przycisk „Finish”, aby wyjść z asystenta.

UWAGA!
Nie instalujcie klienta LAPS (Fat client) na kontrolerze domeny, ponieważ jeśli skonfigurujecie nowy obiekt GPO i przypniecie go na poziomie domeny wówczas LAPS zacznie zmieniać domyślne konto administratora (RID 500) dla domeny.


Konfiguracja i obsługa


Mamy już zainstalowanego LAPS’a. W przypadku jego wdrożenia istnieje kilka metod, za pomocą których odpowiedni (wskazani) użytkownicy mogą wyświetlać hasła administratora lokalnego komputera:

1. PowerShell:
Komenda: Get-AdmPwdPassword -ComputerName ‘nazwa komputera’

2. Konsola „Użytkownicy i komputery usługi Active Directory”:
Wyświetla wartość atrybutu komputera „ms-Mcs-AdmPwd” – zapisane w nim hasło.

3. Klient LAPS
„Fat Client UI”

Zainstalowanego klienta LAPS można zweryfikować, sprawdzając, czy w systemie znajduje się plik „admpwd.dll” w katalogu „c:\program files\LAPS\CSE”.

Klienta można zweryfikować także za pomocą PowerShell:

Get-ChildItem „c:\program files\LAPS\CSE\Admpwd.dll”

Zainstalowane dodatki GPO (CSE) po stronie komputera (klienta) można sprawdzić również w rejestrze systemowym w ścieżce:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\GPExtensions

W tej lokalizacji zarejestrowana jest usługa admpwd GPO CSE.


Co należy wykonać, aby skonfigurować LAPS?

Po zainstalowaniu klienta LAPS i przed jakąkolwiek inną konfiguracją, należy rozszerzyć schemat AD o atrybuty pozwalające na obiekcie typu komputer w Active Directory przechowywać jego lokalnego konta administratora. Są to te dwa atrybuty:

  • ms-Mcs-AdmPwd – przechowuje hasło w postaci zwykłego tekstu
  • ms-Mcs-AdmPwdExpirationTime – przechowuje czas resetowania hasła

Przed tym procesem zalecamy wykonanie kopii bezpieczeństwa AD!

W celu wykonania rozszerzenia schematu LAPS dostarcza specjalnie przygotowane polecenie w PowerShell o nazwie Update-AdmPwdADSchema.
Aby umożliwić jego użycie najpierw w PowerShell musimy zaimportować moduł LAPS AdmPWD.ps.

Po tej operacji na każdym obiekcie typu komputer w Active Directory pojawią się dwa dodatkowe atrybuty:

W przypadku instalacji i konfiguracji LAPS w środowisku domenowym, w którym macie zainstalowane kontrolery domeny tylko do odczytu (RODC) i chcielibyście zreplikować wartość atrybutu ms-MCs-AdmPwd na te kontrolery, wówczas musicie zmienić 10-ty bit wartości atrybutu searchFlags w schemacie obiektu ms-Mcs-AdmPwd na 0 (odjęcie 512 od bieżącej wartości atrybutu searchFlags). Więcej informacji na temat dodawania atrybutów do lub usuwania atrybutów z zestawu filtrowanych atrybutów kontrolera RODC można znaleźć pod linkiem.

Po rozszerzeniu schematu AD możemy przystąpić do konfiguracji. Pierwsze co musimy wykonać to stworzyć nowe GPO i skonfigurować w nim cztery ustawienia LAPS:

  • Ustawienia hasła – możemy w nim skonfigurować długość i złożoność hasła.
  • Nazwę konta administratora – konfigurujemy w przypadku, gdy istnieje konto inne niż domyślne konto administratora (RID 500).
  • Nie pozwalaj na wygaśniecie hasła dłuższe niż wymagane przez politykę – włącz tę opcję, aby zapobiec sytuacji, w której hasła administratora lokalnego są starsze niż zasady haseł domeny (ustawione na Włączone).
  • Włącz zarządzanie lokalnym hasłem dla konta administracyjnego – włącz tę opcję, w celu umożliwienia LAPS-owi zarządzania hasłem administratora lokalnego. Jeśli ta opcja nie jest włączona, klient LAPS nie będzie zarządzał hasłami.

Oczywiście możecie tworzyć kilka GPO i podpinać je na różne typy komputerów w AD.
Poniżej ustawienia z naszego GPO o nazwie LAPS.

To co nam jeszcze pozostało to podpięcie powyższego GPO do konkretnego OU w Active Directory, gdzie się znajdują komputery, dla których chcemy zarządzać hasłem lokalnego administratora oraz skonfigurowanie delegacji uprawnień dla grup użytkowników i kont komputerów, którzy będą mogli te hasła odpowiednio odczytywać i zmieniać.

Podpięcie GPO o nazwie „LAPS” do OU „Workstations”:


Delegowanie dostępu do atrybutów hasła komputerów w AD

Musimy jeszcze skonfigurować delegację uprawnień, dla:

  • Obiektów typu komputer w celu zmiany przez nich hasła w AD i przechowywaniu go w atrybucie ms-Mcs-AdmPwd
  • Oddelegować uprawnienia dla dedykowanej grupy użytkowników w celu możliwości odczytu hasła z obiektów typu komputer w AD

W celu umożliwienia komputerom zmiany hasła na ich obiekcie typu komputer w Active Directory musimy zezwolić na to przypisując odpowiednie uprawnienia.
Służy do tego odpowiedni cmdlet programu PowerShell: „Set-AdmPwdComputerSelfPermission”

Dzięki temu oddelegujemy uprawnienia dla każdego komputera w jednostce organizacyjnej (lub domenie) w celu zaktualizowania własnego atrybutu komputera zawierającego hasło administratora lokalnego (ms-Mcs-AdmPwd).

Na koniec musimy oddelegować jeszcze uprawnienia dla grupy użytkowników, którzy będą mogli odczytać (pobierać) hasło administratora. Służy do tego polecenie PowerShell „Set-AdmPwdReadPasswordPermission”. W naszym przypadku w AD utworzyliśmy grupę „LAPS Admins” i oddelegowaliśmy dla niej uprawnienia do odczytu haseł na obiektach komputer w OU „Workstations”:

Na końcu sprawdźmy jakie inne rozszerzone uprawnienia są przydzielone do OU „Workstations”.
Służy do tego polecenie: Find-AdmPwdExtendedRights:

Bezpieczeństwem zajmiemy się w kolejnym artykule.


Podsumowanie


Microsoft LAPS to świetne, darmowe rozwiązanie i alternatywa dla komercyjnych rozwiązać PIM/PAM firm trzecich jakie są dostępne na rynku. Pozwala spełnić problem audytowy związany z cykliczną zmianą hasła lokalnego konta administratora na komputerach oraz problem bezpieczeństwa dotyczący różnorodności tego hasła na komputerach, zabezpieczając jednocześnie przez atakiem typu. Pass-The-Hash. Pomimo tego, ma swoje plusy i minusy, które przedstawiliśmy poniżej.
Plusy rozwiązania LAPS:

  • W pełni zautomatyzowana, konfigurowalna aktualizacja lokalnego konta administratora komputera
  • Proste delegowanie dostępu do przechowywanych haseł przez jednostkę organizacyjną
  • Nie ma potrzeby stosowania dodatkowych serwerów, ponieważ LAPS wykorzystuje składniki usługi Active Directory (zasady grupy, atrybuty obiektów komputera itp.)
  • Konto komputera może zapisywać / aktualizować tylko własne hasło lokalnego konta administratora (atrybut ms-Mcs-AdmPwd), nie może odczytać hasła z atrybutu
  • Przesyłanie hasła jest szyfrowane podczas jego wymiany między komputerem a domeną
  • Można łatwo przeprowadzić zmianę hasła dla każdego komputera w jednostce organizacyjnej/domenie można łatwo przeprowadzić
  • Jest darmowy

Minusy rozwiązania LAPS:

  • Hasła są przechowywane w postaci zwykłego tekstu i mogą zostać ujawnione, jeśli delegacja nie zostanie odpowiednio zaplanowana i wdrożona. Należy pamiętać, że zarządzanie kluczami szyfrowania jest trudne i komplikuje rozwiązania. Skoncentruj się na właściwej delegacji, a to ryzyko jest ograniczone.
  • Tylko aktualne hasło jest przechowywane i dostępne do pobrania.
  • Tylko jedno konto administratora lokalnego może mieć w danym momencie zarządzanie hasłem przez LAPS (tylko jeden atrybut hasła).
  • Przejęcie kontrolera domeny może naruszyć wszystkie hasła do kont administratora lokalnego w domenie.
  • Dostęp do haseł można uzyskać w dowolnym momencie i użyć ich do przeglądania w dowolnym momencie. Chociaż istnieje możliwość włączenia inspekcji, należy ją skonfigurować dla jednostki organizacyjnej, grupy, która rejestruje zdarzenie o identyfikatorze 4662 na kontrolerze domeny. Ponadto hasło nie jest automatycznie zmieniane po użyciu, jak w niektórych innych rozwiązaniach do zarządzania hasłami na kontach lokalnych.
  • Można skonfigurować rozszerzone uprawnienia w domenie dla kont użytkowników/Grup, które pozwolą na nieautoryzowany dostęp do haseł LAPS na niektórych komputerach (będziemy o tym pisać w następnym artykule).
  • Trochę przestarzały interfejs – Microsoft nie rozwija rozwiązania.
  • Brak dostępu do hasła “na czas”.
  • Brak wymuszonego resetowania hasła po wykonanej aktywności przez administratora.
  • Użytkownik, który ma odpowiednie uprawnienia zawsze ma dostęp do hasła. W sytuacji, kiedy mamy zapewnić jednorazowy, tymczasowy dostęp na konto lokalnego administratora nie będziemy mogli tego zapewnić.

W następnym artykule pokażemy, jak zabezpieczyć LAPS i bezpieczniej z niego korzystać.
Zapraszamy.

Zapraszamy do kontaktu z firmą APPEAL, w celu zabezpieczenia i usprawnienia zarządzania LAPS.

Podziel się z innymi tym artykułem!