Исследователи из антивирусной компании Softwin (разработчик программы Bitdefender) обнаружили сложную троянскую программу, которая использует нетривиальные методы для маскировки кода в операционной системе. В то время как простые вредоносные программы могут добавлять себя в список автозагрузки, внося изменения в реестр — и поэтому легко идентифицируются антивирусом, новый троян Trojan.Dropper.UAJ использует собственный подход: он внедряется в одну из важных Windows-библиотек (comres.dll), так что все приложения, которые обращаются к данной библиотеке, запускают вредоносный код на исполнение.
Троян делает копию оригинального файла comres.dll, изменяет его и затем сохраняет в папку Windows, откуда его по умолчанию вызывают все программы, например, explorer.exe.
Изменения в файле библиотеки включают добавление всего одной функции, которая импортируются вместе с общим списком functions.Next. После этого троян помещает на диске файл prfn0305.dat (он идентифицируется антивирусом Bitdefender как Backdoor.Zxshell.B). Теперь всё на своих местах, и при вызове системной библиотеки DLL происходит запуск бэкдора, функционал которого позволяет осуществлять любые действия в системе, включая запуск других файлов, добавление и удаление пользователей, смену паролей и т.д.
По словам специалистом, выбор comres.dll обусловлен тем, что эта библиотека широко используется большинством веб-браузеров, а также многими программами для коммуникаций и сетевыми приложениями, то есть это популярная и незаменимая библиотека в операционной системе.
Поскольку данный троян не несёт собственной библиотеки, а модифицирует уже имеющуюся в системе, он успешно работает на многих версиях Windows, включая Windows 7, Windows Vista, Windows 2003, Windows 2000 и Windows NT в 32-битном и 64-битном окружениях.
Данный тип атаки использует метод, который известен в качестве "DLL load hijacking" — он использует уязвимость/функцию операционной системы Windows, когда в приложении не указывается полный путь к файлу библиотеки, а указывается только его название. В этом случае операционная система сама ищет библиотеку и запускает тот файл с указанным именем, который находится ближе. В первую очередь — в папке самого приложения, затем — в папке Windows, и так далее. Таким образом, злоумышленники могут подсунуть другую версию библиотеки, просто поместив файл ближе к приложению и не заменяя оригинальный файл.