Показаны сообщения с ярлыком CVE-2012-1889. Показать все сообщения
Показаны сообщения с ярлыком CVE-2012-1889. Показать все сообщения

пятница, 6 июля 2012 г.

Игры с JIT или эксплуатация CVE-2012-1723

Со времен активной эксплуатации уязвимости CVE-2012-0507 мало что изменилось и Java по прежнему остается самым популярным вектором, использующимся в популярных наборах эксплойтов. Буквально вчера появилась публичная информация об использовании CVE-2012-1723 в наборе эксплойтов BlackHole, а ведь сама уязвимость была только недавно найдена в середине июня и публичных реализаций эксплойта она не имеет. Почему же такое пристальное внимание к Java уязвимостям и они настолько оперативно попадают в наборы эксплойтов?

Все дело в том, что  Java-уязвимости довольно просто эксплуатируются и не требуют обхода DEP/ASLR и прочих механизмов безопасности. А в большинстве случаев при небольшой адаптации эксплойт может стать еще и кроссплатформенным. К примеру сделать стабильный эксплойт под тот же CVE-2012-1889 в разы сложнее. Да, собственно и разбираться с работой самой уязвимости тоже. Все, что я видел из боевых эксплойтов для CVE-2012-1889 работали с кучей допущений на Win7/Vista и по большей части эффективнее всего пробивали только WinXP.


четверг, 21 июня 2012 г.

JS/Exploit.CVE-2012-1889: тихий 0-day

Не успела MS отрапортовать об успешно закрытых 13-ти уязвимостях в MS12-037, как Google наводит панику с очередной уязвимостью нулевого дня (CVE2012-1889) во всей линейке IE. А к тому же уязвимость еще проявляется в MS Office 2003/2007 и вполне пригодна для целенаправленных атак. Cпустя несколько дней появляется публичный эксплойт в составе проекта Metasploit.

Собственно уязвимость кроется в Microsoft XML Core Services. Происходит повреждение памяти при обращении к не инициализированному участку с несуществующим XML Node (посредством вызова метода get_definition()), что в итоге может привести к удаленному выполнению кода. Простейший код приводящий к IE к аварийному завершению выглядит следующим образом:


Этот код пытается обратиться к  не инициализированному объекту в памяти, но ссылка на этот регион памяти все же создается, что собственно приводит к потенциальной возможности выполнения кода в функции  _dispatchImpl :: InvokeHelper().