Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #90, ИЮНЬ 2006 г.

IE: все по-старому

Крис Касперски ака мыщъх

Хакер, номер #090, стр. 090-055-1


Описание свежего сплоита MS IE OBJECT tag exploit

Не успела Microsoft оправиться от дыры в TextRange(), заплатка на которую была выпущена 11 апреля 2006 года (то есть спустя целых 3 недели после появления exploit'а, обнародованного 23 марта), как ровно через месяц, 23 апреля 2006 года, Michal Zalewski опубликовал на немодерируемом форуме grok'ов сообщение "MSIE (mshtml.dll) OBJECT tag vulnerability", описывающее странное поведение IE при работе со вложенными OBJECT'ами, и приложил четыре демонстрационных exploit'а, грохающих, по свидетельствам очевидцев, все версии IE: от 5.х до 7.x включительно.

Предыстория

Сообщение Michal'я не осталось незамеченным, и уже 25 марта засветилось на Secun, где дыре была присвоена наивысшая степень опасности, допускающая возможность засылки шелл-кода (secunia.com/advisories/19762/). Аналогичного мнения придерживается и группа "French Security Incident Response Team" (www.frsirt.com/english/advisories/2006/1507/), а вот парни из Security Focus оказались более сдержанными в своих прогнозах, и в графе "class" значится "unknown" (www.securityfocus.com/bid/17820/info).

Все остальные (и, в частности, популярный blog компании F-Secure, расположенный по адресу: www.f-secure.com/weblog) сделали вид, что ничего не произошло, тем более никакой информации от Microsoft еще не поступало. Заплатки нет, и неизвестно, когда она будет (и будет ли вообще: некоторые ошибки Microsoft не признает годами). В прошлый раз нас выручали третьи фирмы (достаточно вспоминать hot-fix от Ильфака Гильфанова, затыкающий дыру в wmf), но сейчас пользователям приходится рассчитывать только на самих себя (или переходить на альтернативные браузеры и почтовые клиенты, наиболее защищенными из которых являются Opera и Lynx, а вот количество дыр в FireFox'е стремительно растет, так что пользоваться им не рекомендуется).

Хакеры торжествуют! Наконец-то появилась серьезная дыра, на которую сильные мира сего не обращают внимания. Трудно представить, сколько уязвимых машин находится в Сети и какую бурную деятельность можно развернуть, если начинить proof-of-concept exploit зарядом тротила весом в килограмм или даже целую тонну. Главное — определить, где именно гробиться IE и куда передается управление. Это удачный пример, позволяющий продемонстрировать, как работают хакеры.

Предварительное расследование

Все эксперименты с exploit'ами лучше всего проводить на отдельной машине, запущенной, например, под VM Ware. Мы будем использовать: Windows 2000 SP 0 и IE 5.00.2920. Остальные версии IE валятся аналогичным способом, отличаясь лишь адресами.

Запускаем Оперу или ReGet и сохраняем первый proof-of-concept exploit на диск: http://lcamtuf.coredump.cx/iedie2-1.html (в принципе, сохранять можно, в том числе и самим IE, но только сохранять, не нажимая на ссылку!). Открываем файл в FAR'е по <F3> и смотрим, что у нас там:

Исходный код exploit'а IEdie2-1.html

<STYLE></STYLE>

<OBJECT>

Bork

...

<STYLE></STYLE>

<OBJECT>

Bork

Хм, просто много вложенных (то есть незакрытых) тэгов OBJECT, разделенных загадочным именем Bork, являющимся к тому же торговой маркой компании, производящей бритвы. Ладно, оставим бритвы в покое и проверим реакцию exploder'а. IE 5.0 спокойно переваривает наживку, отображая ее как родную.

Содержание  Вперед на стр. 090-055-2
Hosted by uCoz