В начале декабря экспертами Лаборатории Касперского были обнаружены экземпляры вредоносной программы TDL4 (обновление TDSS), которые используют 0-day уязвимость для повышения привилегий в системах Windows 7/2008 x86/x64 (Windows Task Scheduler Privilege Escalation, CVE: 2010-3888 ). Данная уязвимость первоначально была обнаружена во вредоносной программе Stuxnet.
Использование эксплоита к данной уязвимости позволяет руткиту TDL4 устанавливаться в системе без каких либо сообщений от защитных механизмов UAC, по умолчанию функционирующих во всех современных операционных системах Windows.
При запуске троянца в системе, например в Windows 7, процесс получает отфильтрованный маркер (работа UAC), с привилегиями обычного пользователя. В результате чего, попытка внедрится в процесс диспетчера очереди печати завершается с ошибкой (ERROR_ACCESS_DENIED).
Обработка ошибки внедрения в диспетчер очереди печати.
Работы по внедрению в диспетчер очереди печати ведутся и в старых версиях этой вредоносной программы. В новых же модификациях после ошибки идет попытка использования 0-day эксплоита повышения привилегий до «LocalSystem»
Создание специальной задачи для планировщика заданий.
Так же, что интересно, инсталлятор руткита имеет при себе специальный код для обхода некоторых проактивных защит. С целью препятствовать внедрению в spoolsv руткита TDL4, некоторые проактивные защиты перехватывают в SSDT функцию NtConnectPort и, если имя порта «RPC Controlspoolss», выдают сообщение о попытке внедрения в диспетчер очереди печати. Разработчики вредоносной программы очень просто решили эту «проблему» — они в своем собственном процессе перехватили ntdll.ZwConnectPort, где в обработчике перехватчика сверяют значение переданного параметра ServerPortName в функцию (UNICODE строка), и, если это «RPC Controlspoolss», заменяют ее на аналог с использованием символьной ссылки на корневой каталог пространства имен диспетчера объектов.
Код противодействия проактивным технологиям.
Таким образом троянец TDSS в очередной раз подтверждает статус одной из самых опасных и сложных вредоносных программ.
ПС. Огромное спасибо Василию Бердникову (Vaber) за подготовку данного материала.
TDL4 стал использовать 0-day уязвимость!