Purple haze all in my brain
Lately things just don't seem the same
Actin' funny, but I don't know why
Jimi Hendrix
Давно я не писал про TDL4 (Win32/Olmarik.AYD) и обновления этого семейства, собственно ничего интересного там и не происходило уже несколько месяцев. Но не так давно нам попался на глаза интересный образец (отдельное спасибо за это Mila [contagiodump blog]). Немного углубившись в анализ стало понятно, что это модифицированный Olmarik, у которого поменялся дроппер и немного изменилась скрытая файловая система.
Собственно начнем с дроппера, который использует несколько интересных методик для поднятия привилегий, которые раньше нам в этом семействе не встречались. В процессе установки на Vista/Win7 для обхода UAC скачивается дистрибутив Adobe Flash Player и используется в качестве плацдарма для последующей атаки DLL hijacking. Подобная техника уже была ранее описана относительно ZeroAccess с подменой модуля msimg32.dll. Но в нашем случае подменяется ncrypt.dll.
Далее происходит выполнение в вредоносного модуля в контексте доверенного процесса, вообщем типично для DLL hijacking и каких то интересных изыском мы тут не нашли.
А вот следующая техника "COM Elevation technique" не так распространена и используется для поднятия привилегий на 64-битных системах.
Все наверное помнят старый трюк с обходом HIPS через функцию AddPrintProvidor() и ее разновидности, но тут нам встретилась тоже несколько не типичная AddMonitor(). С ее помощью удается загрузить вредоносный модуль в адресное пространство доверенного системного процесса.
Ну и далее давайте поговорим о скрытой файловой системе. Сосбственно теперь все хранится в открытом и не зашифрованном виде. Так же поменялось именование модулей и видимо все это связано с обходом детектирования и лечения антивирусными продуктами.
Так теперь выглядит конфигурационный файл:
В зашифрованном виде хранится только один файл phs, который содержит адреса командных центров. Собственно зашифрован он алгоритмом RC4 на ключе phs, который совпадает с именем файла.
Следующим изменением стал модифицированный модуль kdcom.dll, который раньше устанавливал нотификатор на выполнение потока через установку его в очередь на выполнение системного потока посредством вызова ExQueueWorkItem().
Теперь все происходит без преамбул и сразу создается нотификатор.
Видимо эти изменения были сделаны так же для обхода статических сигнатур.
Ну и еще одним забавным фактом был найденный путь к файлу с отладочной информацией, который хранился в виде строковой константы во вредоносных драйверах.
Как видно на рисунке выше теперь злоумышленники стали несколько умней и использовали случайно сгенерированные имена, так как такая строка порой может дать дополнительную информацию для размышлений :)
Ну и напоследок рекомендую прочитать этот пост с анализом сетевой активности этой модификации TDL4.
Хм, вообще обход UAC через DLL Hijacking на доверенные auto-elevated приложения -- это несколько баян, но для меня таки оказалось новостью, что флаг auto-elevated могут иметь бинарники не только с майкрософтовской цифровой подписью (установщик adobe flash в данном случае).
ОтветитьУдалитьБаян то баян, но зато рабочий до сих пор. Пошерстил по коллекции, а ведь дропер от Olmarik не один такой умный. Странно, что MS это все еще не прикрыла, инфа как минимум трех годичной давности o_O
УдалитьНе прикрыла ради удобства пользователей: для сравнения, UAC на Vista не поддерживает auto-elevated функционал, и при этом система выдаёт в разы больше alert-ов на различные действия пользователя, если сравнивать с Windows 7. А родить адекватное решение которое было бы и безопасным и удобным в использовании -- видимо, весьма сложно by design.
УдалитьБелые списки зло, я всегда говорил об этом :) Кстати этот трюк продолжает работать и на Win8 Developer Preview.
Удалить