SAM-databas tillgänglig för icke-administratörer i Windows 10 (aka HiveNightmare)

Dela på:

vad hände?

den 13 juli släppte Microsoft CVE-2021-33757, vilket möjliggjorde AES-kryptering som standard till fjärrprotokollanslutningen för MS-SAMR för att mildra nedgraderingen till RC4, som exponerade data genom osäker kryptering. Microsoft släppte därefter en patch för sårbarheten, KB5004605, som gjorde ändringar relaterade till MS-SAMR-protokollet. Microsoft anges i dokumentationen för korrigeringsfilen:

efter installationen av Windows-uppdateringar den 13 juli 2021 eller senare Windows-uppdateringar kommer AES-kryptering (Advanced Encryption Standard) att vara den föredragna metoden på Windows-klienter när du använder det äldre MS-SAMR-protokollet för lösenordsoperationer om AES-kryptering stöds av SAM-servern.

den 19 juli upptäcktes en sårbarhet i Windows 10 som tillåter icke-administratörer att komma åt databasen Security Account Manager (SAM), som lagrar användarnas lösenord, enligt Kevin Beaumont (Twitter-användare @GossiTheDog). Kevin Beaumont kallade sårbarheten HiveNightmare aka SeriousSam.

Åh kära. Jag måste validera detta själv, men det verkar som om MS kan ha gått upp och gjort SAM-databasen (användarlösenord) tillgänglig för icke-administratörsanvändare i Win 10. https://t.co/cdxiH1AIuB

— Kevin Beaumont (@GossiTheDog) juli 19, 2021

detta bekräftades för den senaste versionen av Windows 10, enligt Benjamin Delpy, skapare av MimiKatz (Twitter-användare @gentilkiwi).

det verkar också visas på Uppdaterad Windows 10 till en annan Windows 10-version …

kontrollera om du har skuggkopia aktiverat för Systemskydd… (men det här är på som standard…)

slutsats: uppdaterad Windows 10 (eller 11-version) + Systemskydd aktiverat (standard) = sårbar

SYSTEMHIVE exponerades också under Microsofts ACL-ändring till Windows, vilket innebär att alla referenser exponeras i sin hashade form.

hur illa är det här?

system-och Sam-referensdatabasfilerna har uppdaterats för att inkludera Read ACL-uppsättningen för alla användare för vissa versioner av Windows. Detta innebär att alla autentiserade användare har förmågan att extrahera dessa cachade referenser på värden och använda dem för offline sprickbildning, eller pass-the-hash beroende på miljökonfigurationen. Detta har bara identifierats på uppdaterade Windows 10-slutpunkter vid denna tidpunkt, men det är möjligt att Windows-servrar har påverkats.

följande byggnader har identifierats som påverkade hittills:

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

du kan identifiera din byggnad genom att titta på winver I Run (Win + R)

från och med 7/20/21 har detta attackmönster bevisats och är en potentiell eskaleringsväg för angripare. Om en dator eller domänadministratör nyligen har loggat in på en värd som påverkades av denna ändring, skulle deras hashade referenser cachas på värden i dessa filer. Detta kan potentiellt ge en angripare full åtkomst till din miljö utan att kräva eskalering till administratören för att komma åt dessa referenser.

Vad Ska Jag Göra?

vi rekommenderar att du väntar på att Microsoft släpper åtgärdssteg. Under tiden kan du göra några saker:

  • övervaka för Sam-åtkomst på värden själv för att avgöra om en angripare försöker dumpa och eskalera.
  • Förbered dig på att korrigera när Microsoft har släppt sin fix eller begränsning för det här problemet. Detta är det säkraste sättet att svara på det här problemet eftersom Microsoft kommer att behöva rulla upp ACL-ändringarna som de lagt till.
  • om datorn är kritisk för din miljö ur ett säkerhetsperspektiv, Återställ ACL: er till standard över den påverkade mappen. Den här åtgärden kommer med viss risk, eftersom du kommer att ändra ACL: er som anges av Windows update. Men hittills i vår testning har det inte påverkat värden negativt men det betyder inte att det inte kommer att påverka andras maskiner beroende på konfiguration.
    • från en administratör Powershell kommandorad
      Get-ChildItem -File -Force $env:WINDIR\system32\config | ForEach-Object { icacls $_.FullName /reset

hur man upptäcker

Blumira rekommenderar övervakning av åtgärder mot HKLM-system -, säkerhets-och SAM-databaserna på alla system. På grund av denna felaktiga ACL-ändring av Microsoft är det nu en ännu högre prioritet att övervaka för dessa åtgärder. Nedan är ett exempel för att använda Sysmon för att övervaka för reg.exe-åtgärder mot System -, säkerhets-eller SAM-filer.

detta kan kräva vissa ändringar baserat på din SIEM, t.ex. flyr snedstreck och regex match formatering. Blumira-kunder som använder Sysmon kommer redan att ha denna regel distribuerad till sina miljöer.

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

Blumira rekommenderar också övervakning av WMIC, Shadow-Copy och alla åtgärder som skulle innebära instansiering av Mimikatz, som alla kan utnyttja denna exponering.

Uppdatering 7/21/21 (med tillstånd av Reddit användare u / eider96)

  • detta har ingenting att göra med KB5004605
  • RX-åtkomst för BU\användare tillåter inte direkt åtkomst till dessa filer eftersom de är skyddade, de kan bara nås om tidigare VSS-ögonblicksbild har gjorts med dessa filer (vilket är standardåtgärd som ges antingen Filhistorik eller Systemåterställning är aktiverade). Oprivilegierade användare kan utnyttja sådana ögonblicksbilder och använda felaktiga behörigheter för att ta ut filer från den. Administratörsbehörigheter krävs inte för att läsa snapshot, de är direkt tillgängliga via \?\GLOBALROOT\Device\HarddiskVolumeShadowCopy{$N} där {$N} är snapshot-nummer. Administratörer kan lista alla ögonblicksbilder med vssadmin list shadows.
  • PS-utdraget som tillhandahålls är inte avsett att säkra systemet ensamt. Tänk också på befintliga ögonblicksbilder och ta bort dem eller acceptera risken och låt dem skrivas över när tiden går.
  • eftersom filerna kan kopieras offline från VSS snapshot och sedan inspekteras manuellt eller hive laddas på separat system, övervakning för åtgärder mot dessa bikupor är inte garanterat att ge några meningsfulla resultat i förhållande till denna specifika sårbarhet – det finns ingen anledning att ändra eller ladda hive online för att extrahera cachade referenser från återskapade filer.

Uppdatering 7/21/21 (med tillstånd av Reddit-användare u/Oscar_Geare):

Microsoft har släppt en CVE för denna sårbarhet. I CVE identifierar de att det påverkar alla versioner 1809 och nyare. Dessutom finns det en lösning tillgänglig:

  • begränsa åtkomsten till innehållet i %windir%\system32\config

    • öppna Kommandotolken eller Windows PowerShell som administratör.

    • kör det här kommandot: icacls %windir%\system32\config\*.* /inheritance:e

  • ta bort Volume Shadow Copy Service (VSS) skuggkopior

    • ta bort alla systemåterställningspunkter och Skuggvolymer som fanns före begränsning av åtkomst till %windir%\system32\config.

    • skapa en ny systemåterställningspunkt (om så önskas).

våra kommentarer (7/21/21):

ta bara bort skuggkopior med viss kunskapsnivå du inte behöver dem. Validering av säkerhetskopior är perfekt och du kan använda vssadmin list shadows för att se de flesta av dina skuggkopior.

eftersom Microsofts patchning trovärdighet har tagit en stor hit under de senaste veckorna, är det inte en dålig ide att testa patchen en gång implementerad också.

Uppdatering-upptäckt och framtidssäkring (07 / 21 / 21 vid 12:45 PM ET)

eftersom ACL-förändringarna som inträffade inom värden förgiftade VSS, kan du vidta några steg för att säkra ett system. Detta inkluderar att ta bort VSS-ögonblicksbilder när ACL: er har lösts — eller åtminstone skydda dessa VSS-ögonblicksbilder tills de patchas och rullas över med nya ögonblicksbilder.

Blumira testar och implementerar för närvarande tre separata upptäckter för detta, varav en är mer framåtblickande för att säkerställa synlighet för hive-filer som bor inuti VSS. Dessa upptäckter kräver antingen Sysmon eller för att du ska ha definierat avancerad revision på värdar som använder GPO: er som Blumiras Logmira.

  • identifiering av HiveNightmare körs baserat på hårdkodade Strängmönster med Sysmon. Detta kommer att vara lätt att undvika för många angripare men kommer att identifiera återanvändning av befintliga attacker.
    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$')))

  • identifiering av Powershell hänvisar till känsliga Hive-filer inom VSS med Skriptblockloggning. Detta förutsätter att ditt skriptblock loggar in i info-kolumnen och använder skiftlägeskänslig (?i) flagga. * Kräver skriptblockloggning för att aktiveras för 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)')

  • identifiering av läsning av känsliga Hive-filer av alla på värden med hjälp av SACLs som flyter in i VSS. Detta möjliggör en betydande ökning av synligheten för alla hive-åtkomst i våra tester hittills. Detta kommer inte att ändra din befintliga VSS förrän en annan återställningspunkt registreras. * Kräver att GPO för objektåtkomst ska aktiveras (RE Logmira) och att följande Powershell ska köras för att aktivera denna detektering.*
    type='windows' AND windows_event_id=4663 AND REGEXP_CONTAINS(object_name, r'(?i)Device\HarddiskVolumeShadowCopy\d\Windows\System32\config\(system|security|sam)')
    du måste också köra följande Powershell för att aktivera revision SACL på hive-filerna som sedan kommer att antas av VSS. Det här skriptet lägger till readdata Success audit rule för alla, vilket möjliggör bred framtida synlighet för alla användare, tillåtna eller inte, åtkomst till hive-filerna.
    $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 }

ytterligare resurser

  • Matthew Warners GitHub
  • SigmaHQ GitHub

prova Blumira gratis

Blumira kan upptäcka aktivitet relaterad till HKLM-system -, säkerhets-och SAM-databaser, liksom många andra säkerhetsincidenter.

Blumiras kostnadsfria provperiod är enkel att distribuera; IT-och säkerhetsteam kan börja se omedelbart säkerhetsvärde för sina organisationer.

registrera dig för en gratis provperiod för att börja upptäcka och mildra exponering relaterad till Windows-sårbarheter:

få en GRATIS Provperiod

Lämna ett svar

Din e-postadress kommer inte publiceras.