среда, 26 октября 2011 г.

Win32/Olmasco: новый виток развития TDL4

На днях в нашем англоязычном блоге мы уже писали об изменениях, произошедших за последнее время с TDL4. Для того, чтобы не было кривотолков нашего исследования, а оно уже стало сумбурно цитироваться русскоязычными СМИ, немного проясню ситуацию. Итак, во второй половине сентября нам попался интересный сэмпл TDL4 (точнее сначала мы так думали), который не смог быть обработан нашим автоматическим трекером для этого буткита. Собственно именно этот факт и привлек наше пристальное внимание к нему, при более детальном анализе оказалось, что это не Win32/Olmarik, а его модификация Win32/Olmasco (также известная, как MaxxSS). Olmasco базируется на исходных кодах TDL3/TDL4 и разрабатывается/поддерживается совсем другой группой разработчиков (это отчетливо видно по модификациям внесенным в код). Первый сэмпл попавший в семейство Win32/Olmasco в наших базах был обнаружен аж в январе этого года (обновление антивирусных баз от 2011/01/11), до этого момента мы не выделяли эти модификации в отдельное семейство. Вначале Olmasco базировался на исходных кодах TDL3, но в сентябре ситуация изменилась и появилась модификация базирующаяся на исходных кодах TDL4. Первыми, кто заметил нестандартный TDL4, была компания Microsoft. Исследователи из MS опубликовали интересную особенность нового Win32/Olmasco у себя в блоге. А точнее, новый буткит получил помимо новых возможностей дистрибуции по различным партнеркам, любопытный функционал получения резервных адресов командных центров. Эти адреса скачивались в виде изображений, которые использовались в роли стегано-контейнеров.

Идея не нова, но в данном случае любопытен был сам факт ее использования. В своем же исследовании мы сосредоточились больше на низкоуровневых особенностях и изменениях.

Итак, в первую очередь в процессе реверсинга бросились в глаза объемы трассировочных логов, отправляемых на C&C во время установки. А в случае ошибки, рукткит оправляет сообщение об ошибке с информацией, которой достаточно для ее обнаружения. Это указывает на то, что авторы продолжают активную работу и развитие Win32/Olmasco.

Еще одним интересным нововведением стало активная борьба с трекингом ботов, т.е. теперь развернуть у себя стенд для наблюдений с фермой ботов будет значительно сложнее. Во время установки собирается информация о системе и происходит обнаружение виртуальных машин. Если бот не удовлетворяет, каким то критериям со стороны командного центра, тогда он продолжает работу в пассивном режиме. То есть, реальных задач он не получает, но периодически пытается стучаться на C&C.

Большим модификациям подверглась и буткит часть, если "оригинальный" TDL4 заражал MBR, то здесь мы видим совсем иную картину. Теперь скрытая файловая система находится в конце жесткого диска и инициализируемый в таблице разделов.


Вот так выглядит жесткий диск после заражения системы Win32/Olmasco:


Из-за этих изменений поменялся и сам процесс загрузки, теперь для активации буткит части модифицируется VBR код. Взаимодействие со скрытым разделом файловой системы происходит, как и ранише при помощи перехвата 13h прерывания.


Сама скрытая файловая система так же подверглась изменениям и теперь может хранить более 15 файлов (ограничение в "оригинальной" версии TDL4), количество информации ограничивается только размером скрытого раздела. Так же добавлена проверка целостности файлов при помощи CRC32 и если файл поврежден, он просто удаляется. Контроль целостности, может так же быть функционалом, направленным на борьбу с подменной компонентов для трекинга активности ботнетов.