be_social_plugin-Twitter и Backdoor для Android OS — в чем связь?

Недавно в поле нашего зрения попала интересная целевая атака, которая успешно обходила большинство антивирусных продуктов. Это рассылка, нацеленная на различных активистов, выступающих за независимость Тибета и за права человека. Атака показываетчто на проникновение в эти целевые группы было потрачено большое количество усилий, поскольку эксплойт имеет уникальные характеристики, не свойственные прочим многочисленным эксплойтам, использующим уязвимость CVE-2012-0158. Вот как выглядят подобные письма:

Тема: 噶厦政府发起彻查中国民主人硬汉李旺阳被杀事件签名

Перевод: Правительство Кашаг инициировало тщательное расследование убийства Ли Ваньянга – приверженца китайской демократии

Вложение:  民主硬汉李旺阳.doc

(a5513fd67fa3ef135b6eeab4661f6640 распознаётся продуктами «Лаборатории Касперкого» как “Exploit.MSWord.CVE-2012-0158.l”. Эксплойты к уязвимости CVE-2012-0158 во время исполнения,исполненья также распознаются Automatic Exploit Prevention в проактивном режиме, с выдачей вердикта "PDM:Exploit.Win32.Generic").

Перевод: Приверженнец демократии Ли Ваньян.doc

Сообщение:

«Коллеги,

мира вам и благополучия,благополучья!

Чтобы поддержать дело демократии в Китае, правительство Кашаг решило инициировать тщательное расследование убийства Ли Ваньяна – борца за китайскую демократию. Чтобы обеспечить проведение правдивого расследования, нам нужна ваша подпись.

Лозанна, Нима»

Интересно, что Демократическая партия Гонконга – это ещё одна группа, веб-серверы которой, как мы обнаружили, были взломаны и вследствие этого распространяли связанные с APT-атаками эксплойты и бэкдоры, заражая компьютеры своих политически мотивированных посетителей. Ранее мы писали об этом здесь.



Это вложение было разослано адресатам из длинного списка, включающего представителей тибетской общины, тибетских активистов и правозащитников, с адреса одного из тибетских активистов, который был раскрыт в результате инцидента со взломом базы данных Stratfor.В преданной огласке базе данных Stratfor учетные записи не содержали реальных имен пользователей, поэтому в данный момент нам неизвестно, насколько хорошо злоумышленники знают тибетскую общину.

С технической точки зрения, данное вложение размером 266 КБ (по нашим наблюдениям, типичный размер для многих целевых атак) имеет некоторые интересные характеристики.  Файл представляет собой эксплойт, который на вид выглядядит как документ Word и который использует программную ошибку в коде mscomctl.ocx, известную как уязвимость CVE-2012-0158. Когда Word открывает этот файл, он анализирует командные слова и обнаруживает, что необходимо загрузить управляющий элемент ActiveX MSComCtlListView. Однако содержимое этого файла, вызывающего такую последовательность действий, непохоже на структуру metasploitPoC, которая используется практически во всех эксплойтах CVE-2012-0158. Во-первых, заголовок файла не соответствует RTF-версии эксплойта, которая выглядит следующим образом:

Весь файл представляет собой doc-файл с одним OLE-потоком. Вот самое начало файла, в котором обозначен тип файла. Такое содержимое нетипично для целевых атак, эксплуатирующих CVE-2012-0158, которые мы видели до сих пор:

Исполнение эксплойта в данной атаке выглядит уникальным. Эти ребята при написании своего зловрпища не полагались на Metasploit и наборы экплойтов COTS. Поскольку многие антивирусные продукты при сканировании отыскивали,разыскивали внедренные объекты или OLE-потоки наряду с командами \object и \objocx, они могли пропустить такие файлы.

Когда файл открывается и начинает выполняться уязвимый код, вызывающий переполнение стека, переменной ecx присваивается значение 0xc00. Это значение – 3072 байта кода – веско меньше обычно используемого в подобном коде. В отличие от большинства эксплойтов, шелл-код здесь не требует великого числа NOP-заполнителей. Однако так же, как во почти всех других эксплойтах, , код эксплойта возвращается в середину  команды, чтобы выполнить инструкцию jmpesp внутри mscomctl.ocx и перейти к исполнению,исполненью шелл-кода. Сам шелл-код вполне стандартный: он настраивает стек и после этого декодирует оставшиеся 2 КБ шелл-кода с циклом xor 0x70 – еще один простой трюк обфускации, чтобы помешать статическому анализу.

Затем код находит PEB и проходит через загруженный список модулей, определяя нахождение в памяти первой записи в списке. Это место будет позже использоваться для получения адресов API без вызова GetProcAddress из подозрительных мест в памяти (еще один трюк, чтобы избежать определения антивирусом).

Вызовы функции получения импортов  в шелл-коде перемежаются с вызовами функции, определяющей базовый адрес нужного модуля. Здесь он копирует строку “shlwapi.dll” в стек и помещает ptr в стек для вызова LoadLibraryA:

Функция ImportHashAddressResolution – это пользовательская реализация GetProcAddress для разрешения адресов функций win32api. Странным образом в число этих функций попали CreateFileMapping, MapViewofFile и ImageHLP.ResolveRVAtoVA. Необычно то, что эти функции выполнены для загрузки библиотек и установления местонахождения функций, вместо того чтобы использовать традиционные вызовы API.

Когда эксплойт в конце концов создает Ax.tmp (f3219d66e36924ded709fe0da1d5d2c8 определяетсяпродуктами «ЛабораторииКасперского» как “Backdoor.Win32.Agent.cjqi”) в %temp%, он расшифровывает содержимое файла в памяти простым циклом “xor – ror”, а в последующие дни записывает файл на диск. Эти простые циклы подсобляют замаскировать вредоносный исполняемый контент, чтобы он не выглядел слишком подозрительно.

Последний трюк в эксплойте, предназначенный для того, чтобы скрыть программу от обнаружения – команда безусловного перехода на третью инструкцию в функции kernel32.WinExec: таким образом первые две инструкции полностью прспускаются. Таким образом обходятся некоторые антивирусные продукты,которые перехватывают исполнение Windows API на уровне пользователя.

Похоже на то, что вирусописатели, которые создают эксплойты и которые стоят за некоторыми из APT-атак, потихоньку совершенствуют свое мастерство и много работают над тем, чтобы их программы не были обнаружены антивирусными продуктами. В данный момент наиболее популярны атаки, использующие уязвимость CVE-2012-0158; однако можно предположить, что скоро их заменят недавно обнаруженные 0-day уязвимости в InternetExplorer.

О «пропущенном» сегодня бэкдоре и его протоколе связи мы расскажем в следующем посте.



Пинг не поддерживается.

Оставить комментарий