Одним из наиболее актуальных способов распространения вредоносного кода на сегодняшний день являются Java-эксплойты, которые встречаются в любом эксплойт-паке. Такая популярность обусловлена несколькими факторами:
- использование Oracle Java более чем на 3 миллиардах компьютеров;
- кроссплатформенность эксплойтов;
- относительная простота эксплуатации уязвимостей;
- в большинстве случаев Java-плагин включен в браузере.
Java-эксплойты обрели широкую популярность у злоумышленников из-за большого количества логических уязвимостей в Java. Такие уязвимости позволяют выполнить произвольный код незаметно для пользователя, потому что их использование обычно не сопровождается падением процессов браузера или виртуальной машины Java. С 2010 года злоумышленники использовали для заражения уязвимости CVE-2010–0806, CVE-2010–4452, CVE-2011–3544, CVE-2012-0500 и CVE-2012-4681, а с самого начала 2013 года стали активно использовать новую уязвимость СVE-2013-0433.
Рассмотрим СVE-2013-0433. Суть этой уязвимости заключается в том, что при помощи уязвимого метода com.sun.jmx.mbeanserver.MBeanInstantiator.findClass можно получить ссылку на класс из любого пакета по имени класса. Однако конструктор класса MBeanInstantiator является приватным и не может быть вызван напрямую. Нужная ссылка на объект класса MBeanInstantiator содержится в экземпляре класса com.sun.jmx.mbeanserver.JmxMBeanServer и может быть получена при помощи метода getMBeanInstantiator.Класс JmxMBeanServer имеет публичный конструктор. Таким образом чтобы повысить свои привилегии, достаточно выполнить:
javax.management.MBeanServer ms = com.sun.jmx.mbeanserver.JmxMBeanServer.newMBeanServer("any", null, null, true); com.sun.jmx.mbeanserver.MBeanInstantiator mi = ((com.sun.jmx.mbeanserver.JmxMBeanServer)ms).getMBeanInstantiator(); Class clazz = mi.findClass("some.restricted.class.here", (ClassLoader)null);
Чтобы заразить компьютер пользователя, злоумышленники размещают на зараженной веб-странице вредоносный код, например:
После посещения страницы происходит цепочка редиректов:
В итоге пользователь перенаправляется на страницу с эксплойтами:
При наличии уязвимой версии Java, вредоносный апплет 887.jar повышает свои привилегии в системе, загружает и запускает вредоносную программу. По данным сервиса VT на 27.02.2013, рассмотренный вредоносный апплет детектируют 5 антивирусов из 40, а устанавливаемое с его помощью вредоносное ПО не детектирует ни один антивирус из 40. Злоумышленники почти всегда обфусцируют или шифруют вредоносный код внутри Java-апплетов, что позволяет им обходить сигнатурные методы детектирования. Так, рассматриваемый образец после декомпиляции имеет вид:
Все строковые константы, встречающиеся в данном апплете, обфусцированы, имена переменных и классов изменены на случайные. В апплете эксплуатируется описанная уязвимость СVE-2013-0433:
Чтобы избежать заражения, мы рекомендуем:
- использовать актуальные версии ПО, обязательно обновлять Java и другие плагины;
- отключить в браузере запуск Java-апплетов по умолчанию, и подтверждать их запуск только для доверенных сайтов;
- использовать обычные антивирусы и следить за регулярностью обновления антивирусных баз.
Команда Безопасного Поиска Яндекса
ссылка на оригинал статьи http://habrahabr.ru/post/170921/
Добавить комментарий