Blackhole + CVE-2012-0507 = Carberp

    На этой неделе известный набор эксплойтов Blackhole обновился до версии 1.2.3 и в его составе появился новый эксплойт для Java на уязвимость CVE-2012-0507 (Java/Exploit.CVE-2012-0507). Первыми обратила внимание общественности на актуальность этой уязвимости компания Microsoft, которая опубликовала в своем блоге сообщение об интересном способе выполнения Java-кода за пределами песочницы JRE (Java Runtime Environment).

    Первые упоминания о боевом эксплойте для этой уязвимости появились от компании Immunity, которая выпустила специальный модуль для своего продукта Immunity CANVAS еще в начале марта 7.03.2012. Эта уязвимость была закрыта 15 февраля в рамках критического обновления от Oracle. Буквально вчера поздним вечером, на момент подготовки этой публикации, появился публичный эксплойт для CVE-2012-0507 в составе Metasploit Framework. Отдельно стоит отметить его кроссплатформенность и возможность эксплуатации на системах Windows, Linux, Solaris и OSX (обновление безопасности от Apple появилось вчера). Последняя особенно интересна в свете увеличения количества вредоносных программ для нее, распространяющихся в том числе и посредством эксплуатации Java уязвимостей. Эксплойт из Metasploit Framework выглядит очень похожим на тот, что был обнаружен в обновленном Blackhole и складывается впечатление, что он был рипнут по большей части оттуда…

    В последнее время я часто писал об эксплойтах для Java и они действительно в последний год самые пробивные в инцидентах массового распространения вредоносных программ. Разработчики наборов эксплойтов, таких как Blackhole, используют только так называемые 1-day уязвимости, т.е. уже содержащие официальное исправление от разработчиков. Потому что использование 0-day слишком дорого для их целей и совершенно себя не окупает, но бывают исключения, когда 0-day попадает на паблик вместе с PoC. Использование уязвимости нулевого дня на данный момент можно чаще всего увидеть в целенаправленных атаках. Кстати, довольно занимательный пост о ценах на 0-day и карме ресечеров можно почитать тут.

    Вернемся к нашему эксплойту, на этой неделе снова было замечено распространение Win32/TrojanDownloader.Carberp через популярные веб-ресурсы, посредством внедрения iFrame конструкций для перенаправления на ресурс с набором эксплойтов.

    Первым нам попался ресурс lifenews.ru, на котором содержался следующий iFrame:

    image

    Как видно из внедренного кода, сразу происходила атака именно CVE-2012-0507, а доменное имя, на котором был расположен Blackhole, очень схоже с именем атакованного веб-ресурса. Результат выполнения кода в iFrame можно увидеть даже визуально на модифицированной оригинальной странице.



    image

    После этого отображается старая, но недобрая, страница ожидания и именно в этот момент происходит активная стадия эксплуатации.

    image

    Аналогичная атака была замечена на веб-ресурсе izvestia.ru и устанавливалась так же модификация из семейства Win32/TrojanDownloader.Carberp. Вообще первые детекты эксплуатации Java/Exploit.CVE-2012-0507 были замечены ближе к середине марта.

    Полный лог событий при посещении модифицированной страницы веб-ресурса livenews.ru выглядит так:

    image

    В обоих случаях заражение происходило при посещении URL вида:

    hxxp://izvestia.ru/banners/index.php?p=55

    hxxp://lifenews.ru/banners/index.php?p=2

    Что наводит на мысли об инфекции через баннерную сеть, использующуюся на обоих ресурсах. Адрес на которой происходила переадресация так же выглядел одинаково в обоих случаях.

    Кстати у читателя может возникнуть закономерный вопрос, а как же недавний шум в прессе о задержании группы кибепреступников распространявших Win32/TrojanDownloader.Carberp и зарабатывавших на мошенничестве в системах ДБО. Все верно было задержано восемь человек, которые являлись различными звеньями преступной сети и представляли собой лишь одну группу, которая работала с Carberp. Но ведь на свободе остались еще другие и естественно чуда не произошло и они не прикатили свою деятельность.

    Но давайте все же вернемся к эксплойту на уязвимость CVE-2012-0507, именно он представляет наибольший интерес из всей этой атаки (Carberp был ранее известной нам модификации и лишь перепакован для обхода обнаружения). Уязвимость скрывается в реализации класса AtomicReferenceArray, в которой происходит не верная проверка на принадлежность к типу Object[]. Эта уязвимость относится к так называемому классу «Type Confusion Vulnerabilities», раньше подобные уязвимости встречались на уровне верификатора байт-кода, но сейчас они уже закрыты и коллизия находятся непосредственно в Java API. Все это позволяет выполнить специально подготовленный апплет или класс за пределами песочницы JRE.

    Структура объектов в Java/Exploit.CVE-2012-0507 выглядит следующим образом:

    image

    Метод init() класса Ner создает объект типа AtomicReferenceArray для выполнения кода за пределами песочницы.

    image

    На следующем шаге выполняется метод doWork() из класса Hal, именно с помощью этого метода создается код класса, который в последствии будет выполнен за пределами песочницы.

    image

    Код класса, который должен выполниться за пределами песочница зашифрован простым перестановочным алгоритмом щифрования и перед выполнением происходит его расшифровывание, которое в итоге приводит к появлению DownloadAndExec, который уже за пределами изолированной среды скачивает полезную нагрузку в виде троянца Carberp в каталог вида %TEMP%\vdsh89\gyu<file_number> и выполняет его.

    image

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

    Я думаю в этом году мы еще не раз вернемся к теме эксплуатации узявимостей для платформы Java и это далеко не последняя уязвимость для нее.

    автор исследования: matrosov
    ESET NOD32
    Компания

    Похожие публикации

    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 11

      +1
      Ну тенденция такая, что каждый пол года стабильно выходят новые эксплоты под Java. С карбером надо бороться очень плотно, ведь он был разработан как раз под СНГ банки, но больше пугает, что на крупных ресурсах появляются такие фреймы.
      • НЛО прилетело и опубликовало эту надпись здесь
          0
          То rhino, теперь это… :)
            0
            Отключать Java полностью — это не совсем правильное решение. Правильное — это поставить NoScript и разрешать активное содержимое только на доверенных сайтах.
              +3
              А разве можно быть уверенным, что твой доверенный сайт не заражен?
                –1
                Мне noscript не помог от появления этого сообщения:
                0
                Мне кажется, большая часть бед из-за уродского автоапдейтера, который живет своей жизнью и раздражает пользователей. Часто вижу такую картину: выскакивает окно с предложением обновить java, ты соглашаешься, потом выскакивает еще окно с диалогом, тормозит, еще окно, еще… а после ты видишь надпись «не удалось подключиться к серверу обновлений» или что-то вроде этого.
                Когда сделают незаметный для пользователя апдейтер, вроде как у Thunderbird, Chrome, FF, тогда вирусов поубавится.
                  0
                  Как раз «уродский автоапдейтер» мог бы вам помочь.
                  Если посмотреть ReleaseNotes то можно увидеть, что CVE-2012-0507 была закрыта в Java 7u3, которая вышла до начала активного использования експлойта.
                  Пруф: www.oracle.com/technetwork/topics/security/javacpufeb2012-366318.html
                    –1
                    Вышла-то вышла, но обновились единицы, по вышеназванной причине.
                      0
                      Дилемма в том что приложения не имеют права обновляться без ведома пользователя, т.к. во многих странах ответственность за содержимое компьютера несет конечный пользователь.
                      Отсюда и назойливый значок в трей.
                        –1
                        ну было бы там обновление в 1-2 клика после нотификации, другое дело. например, как у adobe сейчас (тоже не идеал, но сильно приятней, чем смотреть на java updater).

                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                Самое читаемое