TDL4 стал использовать 0-day уязвимость

В начале декабря экспертами были обнаружены экземпляры вредоносной программы 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).

Так же, что интересно, инсталлятор руткита имеет при себе специальный код для обхода некоторых проактивных защит. С целью препятствовать внедрению в spoolsv руткита TDL4, некоторые проактивные защиты перехватывают в SSDT функцию NtConnectPort и, если имя порта «RPC Controlspoolss», выдают сообщение о попытке внедрения в диспетчер очереди печати. Разработчики вредоносной программы очень просто решили эту «проблему» — они в своем собственном процессе перехватили ntdll.ZwConnectPort, где в обработчике перехватчика сверяют значение переданного параметра ServerPortName в функцию (UNICODE строка), и, если это «RPC Controlspoolss», заменяют ее на аналог с использованием символьной ссылки на корневой каталог пространства имен диспетчера объектов.

Обзор от Лаборатории Касперского