четверг, 2 февраля 2012 г.

Обновление TDL4: Purple Haze all in my brain


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. 

4 комментария:

  1. Хм, вообще обход UAC через DLL Hijacking на доверенные auto-elevated приложения -- это несколько баян, но для меня таки оказалось новостью, что флаг auto-elevated могут иметь бинарники не только с майкрософтовской цифровой подписью (установщик adobe flash в данном случае).

    ОтветитьУдалить
    Ответы
    1. Баян то баян, но зато рабочий до сих пор. Пошерстил по коллекции, а ведь дропер от Olmarik не один такой умный. Странно, что MS это все еще не прикрыла, инфа как минимум трех годичной давности o_O

      Удалить
    2. Не прикрыла ради удобства пользователей: для сравнения, UAC на Vista не поддерживает auto-elevated функционал, и при этом система выдаёт в разы больше alert-ов на различные действия пользователя, если сравнивать с Windows 7. А родить адекватное решение которое было бы и безопасным и удобным в использовании -- видимо, весьма сложно by design.

      Удалить
    3. Белые списки зло, я всегда говорил об этом :) Кстати этот трюк продолжает работать и на Win8 Developer Preview.

      Удалить