baza danych SAM dostępna dla osób niebędących administratorami w systemie Windows 10 (aka HiveNightmare)

Udostępnij na:

co się stało?

13 lipca Microsoft wydał CVE-2021-33757, który domyślnie włączył szyfrowanie AES do zdalnego połączenia protokołu dla MS-SAMR, aby złagodzić obniżenie wersji do RC4, które ujawniło dane poprzez niezabezpieczone szyfrowanie. Microsoft następnie wydał łatkę dla luki, KB5004605, która wprowadziła zmiany związane z protokołem MS-SAMR. Microsoft stwierdził w dokumentacji poprawki:

po zainstalowaniu aktualizacji systemu Windows z 13 lipca 2021 r.lub nowszych aktualizacji systemu Windows, szyfrowanie Advanced Encryption Standard (AES) będzie preferowaną metodą w klientach systemu Windows podczas używania starszego protokołu MS-SAMR do operacji hasłem, jeśli szyfrowanie AES jest obsługiwane przez serwer SAM.

19 lipca w systemie Windows 10 odkryto lukę, która umożliwia nie-adminom dostęp do bazy danych Security Account Manager (SAM), która przechowuje hasła użytkowników, zgodnie z Kevinem Beaumontem (użytkownik Twittera @GossiTheDog). Kevin Beaumont nazwał lukę HiveNightmare aka SeriousSam.

ojej. Sam muszę to zweryfikować, ale wygląda na to, że MS mógł się pomylić i udostępnił bazę SAM (hasła użytkowników) dla użytkowników nie będących adminami w Win 10. https://t.co/cdxiH1AIuB

— Kevin Beaumont (@GossiTheDog) lipiec 19, 2021

zostało to potwierdzone dla najnowszej wersji systemu Windows 10, według Benjamina Delpy, twórca MimiKatz (użytkownik Twittera @ gentilkiwi).

wydaje się, że pojawia się również na zaktualizowanym systemie Windows 10 do innej wersji systemu Windows 10 …

sprawdź, czy masz włączoną kopię cienia dla ochrony systemu … (ale jest to domyślnie włączone…)

wniosek: Zaktualizowany System Windows 10 (lub Wersja 11) + włączona Ochrona systemu (domyślnie) = podatny

– Benjamin Benjamin Delpy (@gentilkiwi) lipiec 19, 2021

system hive został również odsłonięty podczas zmiany ACL Microsoftu na Windows, co oznacza, że wszystkie poświadczenia są odsłonięte w postaci zaszyfrowanej.

jak źle jest?

system i pliki bazy danych uwierzytelnień sam zostały zaktualizowane, aby zawierać zestaw odczytu ACL dla wszystkich użytkowników dla niektórych wersji systemu Windows. Oznacza to, że każdy uwierzytelniony użytkownik ma możliwość wyodrębnienia tych buforowanych poświadczeń na hoście i wykorzystania ich do crackowania w trybie offline lub podania skrótu w zależności od konfiguracji środowiska. Zostało to zidentyfikowane tylko na zaktualizowanych punktach końcowych systemu Windows 10 w tym momencie, jednak możliwe jest, że serwery Windows zostały naruszone.

do tej pory zidentyfikowano następujące budowle:

  • 1809 ISO – June21-20h2
  • 1909 ISO-June21-20h2
  • 20H2 ISO-orig – 21h1
  • 21H1 ISO-June21 – 11 Insider (Windows 11)

możesz zidentyfikować swoją kompilację, patrząc na winver W Run (Win + R)

od 20.07.21 ten schemat ataku został sprawdzony i stanowi potencjalną ścieżkę eskalacji przywilejów dla atakujących. Jeśli administrator komputera lub domeny niedawno zalogował się na hoście, na który wpłynęła ta zmiana, jego zaszyfrowane poświadczenia zostaną zapisane w pamięci podręcznej na hoście w tych plikach. Może to potencjalnie dać atakującemu pełny dostęp do środowiska bez konieczności eskalacji dostępu do tych poświadczeń przez Administratora.

Co Mam Zrobić?

zalecamy poczekać, aż Microsoft wyda kroki naprawcze. W międzyczasie możesz zrobić kilka rzeczy:

  • Monitoruj dostęp SAM na samym hoście, aby określić, czy atakujący próbuje zrzucić i eskalować.
  • przygotuj się na łatanie, gdy Microsoft wyda poprawkę lub złagodzenie tego problemu. Jest to najbezpieczniejszy sposób odpowiedzi na ten problem, ponieważ Microsoft będzie musiał rozwinąć dodane zmiany ACL.
  • jeśli urządzenie ma krytyczne znaczenie dla środowiska z punktu widzenia bezpieczeństwa, zresetuj ACL z powrotem do domyślnego folderu dotkniętego. To działanie wiąże się z pewnym ryzykiem, ponieważ zmienisz ACL ustawione przez Windows update. Jednak do tej pory w naszych testach nie wpłynęło to negatywnie na hosta, ale to nie znaczy, że nie wpłynie na maszyny innych osób w zależności od konfiguracji.
    • z linii poleceń administratora Powershell
      Get-ChildItem -File -Force $env:WINDIR\system32\config | ForEach-Object { icacls $_.FullName /reset

jak wykryć

Blumira zaleca monitorowanie działań przeciwko systemowi HKLM, bezpieczeństwu i bazom danych SAM we wszystkich systemach. Ze względu na tę nieprawidłową zmianę ACL przez Microsoft, monitorowanie tych działań jest teraz jeszcze większym priorytetem. Poniżej znajduje się przykład wykorzystania Sysmon do monitorowania dla reg.działania exe przeciwko plikom systemowym, bezpieczeństwa lub sam.

może to wymagać pewnych zmian w oparciu o Twój SIEM, np. unikanie ukośników i formatowanie dopasowania regex. Klienci Blumira, którzy korzystają z systemu Sysmon, będą już mieli tę regułę wdrożoną w swoich środowiskach.

windows_log_source="Microsoft-Windows-Sysmon" AND process_name LIKE "%reg.exe%" AND REGEXP_CONTAINS(command, "HKLM\\system|HKLM\\security|HKLM\\sam")

Blumira zaleca również monitorowanie WMIC, kopiowania cieni i wszelkich działań, które wiązałyby się z instancją Mimikatz, co może wykorzystać tę ekspozycję.

aktualizacja 7/21/21 (dzięki uprzejmości użytkownika Reddit u / eider96)

  • to nie ma nic wspólnego z KB5004605
  • dostęp RX dla użytkowników BU\nie pozwala na bezpośredni dostęp do tych plików, ponieważ są one chronione, mogą być dostępne tylko wtedy, gdy wcześniej migawka VSS została wykonana z tych plików (co jest domyślną akcją podaną albo Historia plików lub przywracanie systemu są włączone). Nieuprzywilejowani użytkownicy mogą wykorzystywać takie migawki i używać niewłaściwych uprawnień do pobierania z nich plików. Uprawnienia administratora nie są wymagane do odczytu migawki, są one dostępne bezpośrednio przez \?\GLOBALROOT\Device\HarddiskVolumeShadowCopy{$N}, gdzie {$n} to numer migawki. Administratorzy mogą wyświetlać wszystkie migawki używając vssadmin list shadows.
  • dostarczony fragment PS nie ma na celu zabezpieczenia samego systemu. Rozważ również istniejące migawki i albo je usuń, albo Zaakceptuj ryzyko i pozwól, aby zostały nadpisane w miarę upływu czasu.
  • Ponieważ pliki mogą być kopiowane offline z migawki VSS, a następnie sprawdzane ręcznie lub hive ładowane na oddzielnym systemie, monitorowanie działań przeciwko tym Ul nie jest gwarantowane, aby zapewnić jakiekolwiek znaczące wyniki w odniesieniu do tej specyficznej luki-nie ma powodu, aby modyfikować lub ładować hive online w celu wyodrębnienia buforowanych poświadczeń z odzyskanych plików.

aktualizacja 7/21 / 21 (Dzięki uprzejmości użytkownika Reddit u / Oscar_Geare):

Microsoft wydał CVE dla tej luki. W CVE identyfikują, że dotyczy to wszystkich wersji 1809 i nowszych. Dodatkowo dostępne jest obejście problemu:

  • Ogranicz dostęp do treści %windir%\system32\config

    • Otwórz wiersz polecenia lub Windows PowerShell jako administrator.

    • Uruchom to polecenie: icacls %windir%\system32\config\*.* /inheritance:e

  • usługa usuwania kopii woluminu w cieniu (VSS) kopie w cieniu

    • Usuń wszystkie punkty przywracania systemu i woluminy cienia, które istniały przed ograniczeniem dostępu do %windir%\system32\config.

    • Utwórz nowy punkt przywracania systemu (w razie potrzeby).

nasze komentarze (7/21/21):

usuwaj tylko kopie cieni z pewnym poziomem wiedzy, którego nie potrzebujesz. Walidacja kopii zapasowych jest idealna i możesz użyć vssadmin list shadows, aby zobaczyć większość kopii w tle.

ponieważ wiarygodność łatania Microsoftu stała się wielkim hitem w ciągu ostatnich kilku tygodni, nie jest złym pomysłem przetestowanie łatki po jej wdrożeniu.

Update-Detections and Future Proofing (07/21/21 at 12:45 PM ET)

ponieważ zmiany ACL, które zaszły wewnątrz hosta zatruły VSS, możesz podjąć pewne kroki w celu zabezpieczenia systemu. Obejmuje to usuwanie migawek VSS po rozwiązaniu ACL-lub przynajmniej ochronę tych migawek VSS, dopóki nie zostaną poprawione i przeniesione z nowymi migawkami.

Blumira obecnie testuje i wdraża trzy oddzielne detekcje, z których jeden jest bardziej przyszłościowy, aby zapewnić widoczność plików hive żyjących wewnątrz VSS. Wykrywanie to wymaga Sysmon lub zdefiniowania Zaawansowanego audytu hostów przy użyciu układów GPO, takich jak Logmira firmy Blumira.

  • Identyfikacja uruchomień HiveNightmare na podstawie zakodowanych na stałe wzorców ciągów za pomocą Sysmon. Będzie to łatwe do uniknięcia dla wielu atakujących, ale zidentyfikuje ponowne użycie istniejących ataków.
    type='windows' AND windows_log_source='Microsoft-Windows-Sysmon' AND windows_event_id in (1,5,11) AND ((process_name LIKE '%HiveNightmare%') or (regexp_contains(target, '(?i)S.*haxx$')))

  • Identyfikacja Powershell odnosząca się do wrażliwych plików Hive w VSS za pomocą logowania bloków skryptów. Zakłada to, że Twój blok skryptów loguje się do kolumny info i używa rozróżniania wielkości liter (?i) flaga. * Wymaga włączonego logowania bloków skryptów w programie Powershell.*
    type='windows' AND windows_event_id=4104 AND REGEXP_CONTAINS(info, r'(?i)\GLOBALROOT\Device\HarddiskVolumeShadowCopy\d{1,2}\Windows\System32\config\(system|security|sam)')

  • identyfikacja odczytu wrażliwych plików Hive przez wszystkich na hoście za pomocą SACL, które przepływają do VSS. Pozwala to na znaczne zwiększenie widoczności dla każdego dostępu do ula w naszych dotychczasowych testach. Nie zmieni to istniejącego VSS, dopóki nie zostanie zarejestrowany kolejny punkt przywracania. * Wymaga włączonego dostępu do obiektu GPO (RE Logmira) i uruchomienia następującego programu Powershell w celu włączenia tego wykrywania.*
    type='windows' AND windows_event_id=4663 AND REGEXP_CONTAINS(object_name, r'(?i)Device\HarddiskVolumeShadowCopy\d\Windows\System32\config\(system|security|sam)')
    będziesz również musiał uruchomić następujący Powershell, aby włączyć auditing SACL na plikach hive, które zostaną następnie przyjęte przez VSS. Ten skrypt dodaje regułę audytu sukcesu ReadData dla wszystkich, umożliwiając szeroki wgląd w przyszłość każdemu użytkownikowi, który uzyskał pozwolenie lub nie, dostęp do plików hive.
    $files = @("C:\Windows\System32\config\system","C:\Windows\System32\config\sam","C:\Windows\System32\config\security")

  • Foreach ($file in $files){ $acl = Get-ACL $file; $auditRule = New-Object System.Security.AccessControl.FileSystemAuditRule("Everyone", "ReadData", "Success"); $ACL.SetAuditRule($auditRule); $acl | Set-Acl $file; Write-Host "Getting ACL for $file, Audit column should state Everyone Success ReadData"; Get-ACL $file -Audit | Format-List }

dodatkowe zasoby

  • GitHub Matthew Warnera
  • SigmaHQ GitHub

Wypróbuj Blumira za darmo

Blumira może wykrywać działania związane z systemem HKLM, bezpieczeństwem i bazami danych SAM, a także wiele innych incydentów bezpieczeństwa.

bezpłatna wersja próbna Blumira jest łatwa do wdrożenia; zespoły IT i bezpieczeństwa mogą zacząć dostrzegać natychmiastową wartość zabezpieczeń dla swoich organizacji.

Zarejestruj się, aby skorzystać z bezpłatnej wersji próbnej, aby rozpocząć wykrywanie i ograniczanie ekspozycji związanej z lukami w zabezpieczeniach systemu Windows:

Uzyskaj bezpłatną wersję próbną

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.