WMF: баг года крис касперски ака мыщъх Хакер, номер #086, стр. 086-066-8 как защищаться Прежде чем защищаться, неплохо бы выяснить: уязвима ли твоя система? Можно, конечно, использовать wmf-checker от Ильфака, но он работает только на NT-подобных системах. Попробуем его доработать: берем wmfhdr.wmf, дописываем к нему CCh и скармливаем его различным графическим программам. Если система уязвима, то на экране появится сообщение о критической ошибке, а EIP будет указывать на INT 03h. Это означает, что червь может наброситься в любую секунду и заразить, если уже не заразил. Официальная заплатка от Microsoft доступна по адресу: www.microsoft.com/technet/security/Bulletin/ms06-001.mspx, а также лежит на нашем диске. Как всегда, это здоровый (на полметра, а точнее даже ~600 Кб) файл, делающий непонятно что и непонятно зачем. Установка новых заплаток часто сопровождается проблемами, вылезающими совсем в неожиданных местах. Что же делать? А вот что. Сейчас мы с тобой посмотрим, что находится внутри этой заплатки. Первый делом возьмем патч с диска (файл Windows2000-KB912919-x86-RUS.EXE), поднимем hiew и найдем сигнатуру MSCF. Она должна встретиться, как минимум, дважды. Первый раз - в исполнимом файле инсталлятора (по смещению 00004422h), второй - в начале cab-архива (00009C00h), перед которым, как правило, идет длинная цепочка «DINGPADDINGXXPAD», оставленная для выравнивания, а дальше - беспорядочно разбросанные имена файлов. Подгоняем курсор к «MSCF», нажимаем <*>, а затем <Ctrl>+<End>. Нажимаем <*> еще раз и копируем содержимое выделенного блока в файл по <F2>. Выдранный cab-архив легко распаковать обычным rar'ом. В нем лежат, главным образом, следующие файлы: * GDI32.DLL. Эта библиотека была обновлена: изменилась дата и размер, причем размер изменился в меньшую сторону, что совсем не характерно для Microsoft. Судя по штампу времени, он был скомпилирован 29 декабря в 13:17:07, а дата создания/последней модификации установлена на 30.12.05/08:17, то есть программисты сработали очень оперативно, а все остальное время заняло тестирование или, вообще, непонятно что. * MF3216.DLL. Этот файл остался без изменений. * SPMSG.DLL. Эта dll представляет собой ресурс с текстовыми сообщениями. Ничего ужасного в этом апдейте нет, так что можешь безбоязненно его себе устанавливать :). Хотя я ограничился лишь апдейтом от Ильфака. кстати, об Ильфаке Ильфаку я верю больше, чем себе. Опыт программирования у него огромный и, главное, к hotfix'у прилагаются исходные коды (http://castlecops.com/downloads-file-499-details-WMF_hotfix_source_code.html), из которых ясно, как он работает. Уже откомпилированный файл доступен по адресу: http://castlecops.com/downloads-file-496-details-Ilfaks_Temporary_WMF_Patch.html. Инсталлятор копирует крошечную (всего 3 Кб) динамическую библиотеку wmfhotfix.dll в системный каталог Windows и модифицирует ветку реестра HKLM\Software\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs, проецируя DLL на все процессы, загружающие USER32.DLL. |