Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2021-1675 — CVE-2021-1675 Информация об обнаружении | Kitploit
Инструменты/GitHubGitHub/laresllc/cve-2021-1675
Повышение привилегийАнализ уязвимостейЭксплуатацияФорензикаОбучение и ОбразованиеРеагирование на ИнцидентыПодобранные Ресурсы
GitHublaresllc/cve-2021-1675

CVE-2021-1675

CVE-2021-1675 Информация об обнаружении

Репозиторий
2143833 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

От Lares Labs: Информация об обнаружении и устранении CVE-2021-1675 и CVE-2021-34527

🚨 Патч выпущен:

https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-34527

Патч подтвержденно исправляет RCE, однако локальное повышение привилегий, похоже, пока не исправлено. Поэтому обходные пути, перечисленные ниже, все еще рекомендуются.

Этот репозиторий содержит образец EVXT атаки CVE-2021-1675 и CVE-2021-34527, а также минимальный файл конфигурации Sysmon, который можно использовать для генерации соответствующей телеметрии.

Обратите внимание, что эти правила могут быть обойдены - пожалуйста, установите соответствующие патчи и отключите службу диспетчера печати на контроллерах домена.

Пожалуйста, протестируйте все рекомендуемые исправления перед развертыванием в рабочей среде, так как могут быть непредвиденные последствия в результате этих изменений по усилению защиты. Мы написали сообщение в блоге с объяснением содержимого этого репозитория и найденной информации. Здесь: https://labs.lares.com/detection-and-mitigation-printnightmare/

Проверка уязвимости от Marcello https://twitter.com/byt3bl33d3r

  • https://twitter.com/byt3bl33d3r/status/1412798525323157504

  • https://github.com/byt3bl33d3r/ItWasAllADream

Блок-схема

Благодаря Benjamin Delpy, была обновлена блок-схема эксплуатации этой проблемы, чтобы определить, уязвимы ли ваши системы.

Исправления, показанные на блок-схеме выше

  1. GPO: Security Settings -> System Services -> Print Spooler -> Disable
    1. Реестр: HKLM\SYSTEM\CurrentControlSet\Services\Spooler\Start = 4
  2. GPO: Computer Configuration -> Administrative Templates -> Printers -> Allow Print Spooler to accept client connections - > Disable
    1. Реестр: HKLM\Software\Policies\Microsoft\Windows NT\Printers\RegisterSpoolerRemoteRpcEndPoint = 2
  3. GPO: Printers -> Point and Print Restrictions -> Security Prompts -> When installing drivers for a new connection -> Show warning and elevation prompt
    1. Реестр: HKLM\Software\Policies\Microsoft\Windows NT\Printers\PointAndPrint = 0
  4. Реестр: HKLM\SOFTWARE\Microsoft\Windows\CurrrentVersion\Policies\System\EnableLUA = 1

Обходное исправление

Патч, выпущенный Microsoft в июне 2021 года, исправляет CVE-2021-1675, но, к сожалению, не устраняет проблему, известную как PrintNightmare (CVE-2021-34527). Поэтому можно применить обходное исправление, отключив службу диспетчера печати. Вот как это сделать как через GPO, так и через PowerShell. Подтверждено, что GPO исправляет как функцию MS-RPRN RpcAddPrinterDriverEx, так и функцию Win32 AddPrinterDriverEx, которые использует SharpPrintNightmare.

GPO

Следующая групповая политика может быть установлена для запрета клиентских подключений к диспетчеру печати, что является потенциальным обходным путем, когда полное отключение службы диспетчера печати может быть невозможным. Это было протестировано на контроллерах домена и конечных точках (W7/W10) в лабораторной среде, и пользователи все еще могут добавлять/удалять принтеры и печатать, однако это останавливает работу эксплойта. Примечание: Также известно, что эта групповая политика исправляет CVE-2021-34527, как отмечено на странице уязвимости Microsoft.

Computer Configuration -> Administrative Templates -> Printers -> Allow Print Spooler to accept client connections установите значение Disabled:

Затем перезапустите службу диспетчера печати на затронутом хосте. Если все прошло успешно, эксплойту будет отказано в доступе:

root@kitploit:~
./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

Удаление прошедших проверку пользователей из группы совместимости с Pre-Windows 2000

Еще одно исправление/обходной путь — удалить прошедших проверку пользователей из Pre-Windows 2000 Compatible Access, как обнаружил Dirk-jan.

Убедитесь, что группа "Authenticated Users" не является членом группы "Pre-Windows 2000 Compatible Access". (По умолчанию эти группы не включены в текущие версии Windows.), как показано на скриншоте ниже — членов быть не должно:

Если вы не знаете, как это сделать, можно выполнить следующие действия:

  1. Откройте "Active Directory Users and Computers" (доступно из различных меню или выполните "dsa.msc").
  2. Разверните проверяемый домен в левой панели и выберите контейнер "Builtin".
  3. Дважды щелкните группу "Pre-Windows 2000 Compatible Access" в правой панели.
  4. Выберите вкладку "Members".
  5. Если группы "Anonymous Logon", "Authenticated Users" или "Everyone" являются членами, выберите каждую и нажмите "Remove".

PowerShell

Адаптирован скрипт 0gtweet для использования ADDomainController для получения всех контроллеров домена из домена.

root@kitploit:~
# 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

Предоставленный файл конфигурации Sysmon CVE-2021-1675.xml может быть установлен с помощью Sysmon Config Pusher: https://github.com/LaresLLC/SysmonConfigPusher

Запросы Splunk

root@kitploit:~
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)

Альтернативный подход

Общий способ охоты на эксплуатацию диспетчера печати — поиск ошибок, генерируемых диспетчером печати из-за загрузки DLL полезной нагрузки. Это можно сделать либо через поиск запуска WerFault.exe процессом spoolsv.exe, либо через генерацию события с ID 7031, показывающего неожиданное завершение службы диспетчера печати.

Альтернативный запрос Splunk

root@kitploit:~
((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 был обнаружен дополнительный артефакт: событие с ID 5145 с Share Name: \\*\IPC$ и Relative Target Name: spoolss. Преимущества этого подхода в том, что можно увидеть исходный IP (Source Address) и учетную запись (Security ID или Account Name), использованные для атаки. Могут быть ложные срабатывания от реальных серверов печати, но их можно отфильтровать по имени хоста и Access Mask. Могут быть и другие ложные срабатывания, которые можно отфильтровать комбинацией hostname-username-access mask.

Запрос Splunk

root@kitploit:~
index=windows_security EventCode=5145 Share_Name="\\\\*\\IPC$" Relative_Target_Name=spoolss

Запрос KQL для Sentinel / MDE от Olaf Hartong

root@kitploit:~
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

Наблюдения Zeek

Используемый инструмент: https://github.com/cisagov/Malcolm

Передача файла DLL:

NTLM-аутентификация с "атакующей" машины:

Соответствующие RPC-вызовы:

🟢 Доступен файл PCAP

🟢 Файл dce_rpc.log Zeek

Запрос Carbon Black для охоты на CVE-2021-1675

Источник: https://github.com/mrezqi/CVE-2021-1675_CarbonBlack_HuntingQuery/blob/main/README.md

  • 1 На основе правила Sigma для обнаружения POC-кода
root@kitploit:~
filemod_name:c\:\\windows\\system32\\spool\\drivers\\x64\\3\\old\\1\\123
  • 2 На основе правила Sigma для обнаружения POC-кода
root@kitploit:~
(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
  • 3 На основе правила Sigma для обнаружения POC-кода
root@kitploit:~
(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
  • 4 Обнаружение файловых событий (неподписанных), настройте под свой базовый уровень. Я намеренно не указал путь к драйверу, так как эксплуатация и пост-эксплуатация все еще не до конца ясны. Настройте это под свой базовый уровень (известные хеши и т.д.).
root@kitploit:~
process_name:spoolsv\.exe AND NOT filemod_publisher_state:FILE_SIGNATURE_STATE_SIGNED
  • 5 Обнаружение файловых событий (подписанных не Microsoft), настройте под свой базовый уровень.
root@kitploit:~
process_name:spoolsv\.exe AND filemod_publisher_state:FILE_SIGNATURE_STATE_SIGNED AND NOT filemod_publisher:"Microsoft Windows*"

Ссылки

Посты в Twitter со ссылками на атаки и запросы для охоты

  • https://twitter.com/ionstorm/status/1410258694386880518
  • https://twitter.com/dez_/status/1410298162548559875
  • https://twitter.com/markus_neis/status/1410255678996942854
  • https://twitter.com/cyb3rops/status/1410250996362715137
  • https://twitter.com/gentilkiwi/status/1410066827590447108
  • https://twitter.com/wdormann/status/1410198834970599425
  • https://twitter.com/NathanMcNulty/status/1410289115354914820
  • https://twitter.com/mvelazco/status/1410291741241102338
  • https://twitter.com/StanHacked/status/1410527329839980547
  • https://twitter.com/_dirkjan/status/1410618720460754947
  • https://github.com/mrezqi/CVE-2021-1675_CarbonBlack_HuntingQuery
  • https://twitter.com/cube0x0/status/1411364227089117185

Наблюдения контроллера домена против не-контроллера домена от Benjamin Delpy:

  • https://twitter.com/gentilkiwi/status/1410614489167269892

Очень удобная блок-схема от Stan Hegt из Outflank

  • https://twitter.com/StanHacked/status/1410922404252168196

Новое назначение CVE от Microsoft:

  • https://twitter.com/msftsecresponse/status/1410768945590636548

Дневник SANS ICS:

  • https://isc.sans.edu/forums/diary/CVE20211675+Incomplete+Patch+and+Leaked+RCE+Exploit/27588/
Скачать инструмент