T1505.005: DLL служб терминалов

Злоумышленники могут использовать компоненты служб терминалов для закрепления в системе. Службы терминалов Microsoft, получившие название "службы удаленных рабочих столов" в некоторых ОС Windows Server начиная с 2022 года, обеспечивают удаленные терминальные подключения к хостам. Службы терминалов позволяют пользователям с клиентских компьютеров получать доступ к полноценному интерактивному графическому интерфейсу серверов по протоколу RDP.

Службы Windows, запускаемые как общий процесс (например, svchost.exe), загружают DLL-файл службы, расположение которого хранится в значении реестра ServiceDll. Для служб терминалов файл termsrv.dll, обычно хранящийся в каталоге %SystemRoot%\System32\, указывается в качестве значения ServiceDll по умолчанию в разделе HKLM\System\CurrentControlSet\services\TermService\Parameters\.

Злоумышленники могут модифицировать и (или) заменить DLL-файл служб терминалов, чтобы обеспечить постоянный доступ к скомпрометированным узлам. В эту DLL могут вноситься изменения как для выполнения произвольной полезной нагрузки (возможно, с сохранением обычной функциональности termsrv.dll), так и просто для включения уязвимых к эксплуатации функций служб терминалов. Например, злоумышленник может включить такие функции, как одновременные сеансы по протоколу удаленного рабочего стола, либо изменив сам файл termsrv.dll, либо указав в значении реестра ServiceDll путь к DLL-файлу, предоставляющему расширенные функции RDP. В несерверных ОС Windows благодаря этим расширенным функциям злоумышленник может избежать подсказок служб терминалов, которые отображают предупреждения или закрывают сеанс пользователя в системе при создании нового сеанса RDP.

Способы обнаружения

IDDS0011Источник и компонент данныхМодуль: Загрузка модуляОписание

Monitor module loads by the Terminal Services process (ex: svchost.exe -k termsvcs) for unexpected DLLs (the default is %SystemRoot%\System32\termsrv.dll, though an adversary could also use Match Legitimate Name or Location to potentially conceal a malicious payload).

IDDS0009Источник и компонент данныхПроцесс: Создание процессаОписание

Monitor processes with arguments that may potentially highlight adversary actions to modify Registry values (ex: reg.exe) or modify/replace the legitimate termsrv.dll.

IDDS0024Источник и компонент данныхРеестр Windows: Изменение ключа реестра WindowsОписание

Monitor for changes to Registry keys associated with ServiceDll and other subkey values under HKLM\System\CurrentControlSet\services\TermService\Parameters\.

IDDS0017Источник и компонент данныхКоманда: Выполнение командОписание

Monitor executed commands and arguments for potential adversary actions to modify Registry values (ex: reg.exe) or modify/replace the legitimate termsrv.dll.

IDDS0022Источник и компонент данныхФайл: Изменение файлаОписание

Monitor unexpected changes and/or interactions with termsrv.dll, which is typically stored in %SystemRoot%\System32\.

Меры противодействия

IDM1047НазваниеАудитОписание

Regularly check component software on critical services that adversaries may target for persistence to verify the integrity of the systems and identify if unexpected changes have been made.

IDM1024НазваниеОграничение прав доступа к рееструОписание

Consider using Group Policy to configure and block modifications to Terminal Services parameters in the Registry.