Принтер будет виден в Управлении печатью.
Поддельный принтер
К новому принтеру будет предоставлен общий доступ, поэтому к нему можно будет получить доступ из любой системы в сети.
Общий принтер
Как обычный пользователь, аутентифицируемый на любом узле в сети и выполняющий следующие действия из консоли PowerShell, соединит поддельный принтер с узлом. Во время подключения также будут загружены вредоносные драйверы.
Клиент — подключение к принтеру через PowerShell
В качестве альтернативы это соединение можно установить через проводник Windows и дважды щелкнуть сетевой принтер.
Установка принтера в Windows
После завершения установки вредоносный драйвер также будет загружен, и любой произвольный код будет выполняться в контексте с повышенными правами (SYSTEM). По умолчанию «mimispool.dll» открывает командную строку с повышенными привилегиями. Даже если пользователь инициирует установку, код будет выполняться с повышенными привилегиями, поскольку служба диспетчера очереди печати, работающая как SYSTEM, фактически выполнит установку.
Принтер — повышенная командная строка
Повышение привилегий через принтер
Следует отметить, что совместное использование вредоносного принтера по сети и выполнение драйверов с разных хостов не только приведет к универсальному повышению привилегий, но также будет действовать как метод сохранения. Это связано с тем, что служба диспетчера очереди печати загружает все драйверы во время запуска Windows, которые являются частью следующего каталога:
C:\Windows\System32\spool\drivers\x64\3\
Полезно понять, как работает техника на заднем плане. Первоначально процесс spoolsv.exe скопирует файл драйвера из общей папки печати.
CreateFile – mimispool.dl
Произвольный файл драйвера будет скопирован в локальную папку драйверов.
Копирование mimispool.dll локально
Ключи реестра, связанные с принтером, будут отображаться локально в той же структуре, что и система, которая действует как сервер печати.
Ключи реестра
Процесс spoolsv.exe запускается от имени пользователя SYSTEM. Поэтому файлы и ключи реестра можно копировать в привилегированные места, такие как HKLM и Windows System32.
spoolsv.exe Процесс
Spoolsv — ключ реестра mimispool.dll
После завершения установки сетевого принтера в системе будет выполнен произвольный код. По умолчанию драйвер предназначен для открытия командной строки с точки зрения пользователя СИСТЕМЫ. Родительский процесс имеет код PID 1648.
Процесс cmd
Изучив процессы системы, можно увидеть, что процесс с PID 1648 принадлежит «spoolsv.exe», что доказывает, как произошло повышение привилегий.
Процесс spoolsv.exe
Заключение
Первоначально ошибка диспетчера очереди печати использовалась как метод для достижения локального повышения привилегий и удаленного выполнения кода на контроллерах домена и серверах. Однако также возможно использовать этот метод для локального повышения привилегий и сохранения на рабочих станциях и серверах Windows. Поэтому меры по исправлению должны охватывать все системы в сети, а не только контроллеры домена.