понедельник, 6 августа 2012 г.

Flame: реконструкция ООП фреймворка

Уже много слов было сказано про червя Flame (Win32/Flamer), но почему то никто не публикует результаты более детального изучения кода этой вредоносной программы. А код у Flame между тем очень интересен и таит в себе еще не мало открытий для вдумчивых и усидчивых исследователей. Ведь не спроста он оставался незамеченным на атакованных системах долгое время, причем на этих системах стаяло антивирусное ПО некоторых известных вендоров, но сейчас все же не об этом ;)

Итак, в чем же связь между Flame, Duqu и Stuxnet? Так как нами были проанализированы все три вредоносные программы, то мы решили не просто описать свои внутренние ощущения, а подтвердить это родство техническими фактами.

Начнем с того, что код Win32/Flamer анализировать не очень приятно, даже при отсутствии жесткой обфускации. Объектно-ориентированный код схож с тем, что уже встречалось ранее в Stuxnet и Duqu, но однозначного сходства не так уж и много. В основном схожесть кроется в стиле кодирования и архитектуре этих вредоносных программ. Если в случае Stuxnet и Duqu ООП архитектура была построена на одном фреймворке и концепциях, то у Flame есть отличия. У всех трех вредоносных программ реализована сложная логика работы, а использование ООП концепций, реализованных на C++, заставляют разбираться в работе не только самой вредоносной программы, но и компилятора тоже. В качестве наглядного примера посмотрите на реконструкцию вызова метода Rc4_GetBufferSize() в модуле mssecmgr.ocx:


среда, 1 августа 2012 г.

Rovnix.D: механизмы мультиинжекта

Не так давно я уже писал о новой модификации буткита Rovnix.D. Наш дальнейший анализ показал, что есть еще интересные детали, которые остались за рамками предыдущего поста. В первую очередь хочется отметить механизм множественных инжектов пейлоада, что раньше не было замечено в этом семействе буткитов. Механизм множественного внедрения кода позволяет на одной зараженной машине устанавливать несколько полезных нагрузок одновременно и внедрять их в разные пользовательские процессы. Причем, все полезные нагрузки будут храниться в скрытом файловом хранилище. Такой подход открывает злоумышленникам большие возможности по сдаче такого ботнета в аренду и при этом сохраняя контроль на инфицированной машиной при помощи вредоносного драйвера.

Сейчас у нас нет данных о существовании большой ботсети на основе Rovnix.D,  а в тестовой C&C насчитывается около 9000 активных ботов.