Обзор эксплойтов Крис Касперски Хакер, номер #096, стр. 096-060-3 Targets По заявлению Argeniss Research Team, уязвимости подвержены W2K (до W2K SP4) и XP (до XP S2) и не подвержены Server 2003 и Vista beta 2. Парни с security-focus'а с ними не совсем согласны и добавляют к списку уязвимых систем 2000 Server (до 2000 Server SP4), 2000 Datacenter Server SP4, 2000 Advanced Server SP4, XP x64 и XP 64-bit 2003 SP1. Не говоря уже о такой мелочи, как XP Tablet PC и XP Media Center со всеми установленными сервис-паками. Exploit Исходный код exploit'а, составленный на приплюснутом Си двумя другими членами группы - LMH (lmh[at]info-pull.com) и MoKB, лежит на projects.info-pull.com/mokb/bug-files/GDIKernelPoC.cpp. Но прежде чем его удастся откомпилировать командой cl.exe GDIKernelPoC.cpp, придется взять в руки напильник и провести небольшую «косметическую» доработку, а именно заменить кавычки вокруг включаемых файлов windows.h и stdio.h угловыми скобками. Solution Официальной заплатки от Microsoft до сих пор нет, и все, что нам остается, - это мигрировать на Sever 2003 или Vista, в которых огрехи проектирования без лишнего шума были устранены (но, как известно, исправляя одну ошибку, Microsoft добавляет десяток новых; Vista - это не вариант, а вот над переходом на Server 2003 можно подумать). Disclose То, что GDI- и USER-подсистемы NT являются одной большой дырой, - известно еще давно. На дефектах проектирования механизма диспетчеризации сообщений основан целый ряд атак, позволяющий хакеру манипулировать элементами управления более привилегированных приложений (например, отключать настройки антивирусов и брандмауэров) или даже засылать shell-код в строку редактирования, устанавливая на нее таймер, срабатывающий в контексте привилегированного приложения! В NT 3.51 графическая подсистема исполнялась на уровне пользователя, в связи с чем большинству API-функций приходилось совершать множество переходов из него в режим ядра. Из-за этого все очень сильно тормозило, и Microsoft пришлось перенести USER- и GDI-подсистемы внутрь ядра, поместив их в драйвер win32k.sys, что вызвало естественный вопрос о том, не пострадала ли стабильность Windows 2000 от такой операции. Книга «Inside for Windows 2000 Microsoft» (своеобразная «библия» по NT, написанная Хелен Кастер, а затем переизданная под именами Дэвида Соломона и Марка Руссиновича) гласит: |