24.10.2008

Подробности уязвимости MS08-067

В этой статье мы сделаем попытку изложить максимальное количество подробностей и дать рекомендации по устранению уязвимости.

Вчера Microsoft выпустила внеплановое исправление MS08-067, устраняющее критическую уязвимость в службе Server во всех ОС Windows. В этой статье мы сделаем попытку изложить максимальное количество подробностей и дать рекомендации по устранению уязвимости.

Краткое описание уязвимости

Уязвимость существует из-за ошибки в библиотеке netapi32.dll при обработке RPC запросов в службе Server. Удаленный пользователь может с помощью специально сформированного RPC запроса вызвать переполнение буфера в стеке и вызвать отказ в обслуживании системы или выполнить произвольный код на целевой системе с привилегиями учетной записи SYSTEM.

Технические подробности уязвимости

Уязвимость существует в библиотеке netapi32.dll из-за ошибки в механизме подсчета аргументов функции wcscpy_s(dest, len, source), расширяемой макрос
_tcscpy_s(previousLastSlash, pBufferEnd - previousLastSlash, ptr + 2);
который в цикле while() обрабатывает большое количество постоянно обновляемых аргументов.

Потенциальная опасность уязвимости

SecurityLab выставил максимальный рейтинг опасности уязвимости - критический. Эта уязвимость активно эксплуатируется в настоящее время и в общем доступе на момент написания этой статьи находится PoC код.

Уязвимость может эксплуатироваться анонимным пользователем на Windows 2000/XP/2003 и аутентифицированным пользователем на Windows Vista/2008. Для успешной эксплуатации уязвимости атакующему потребуется получить доступ к RPC интерфейсу системы. По умолчанию, межсетевой экран (МСЭ) включен на Windows XP SP2, Windows Vista и Windows Server 2008. Итак, злоумышленник может воспользоваться уязвимость в следующих случаях:

  • МСЭ отключен
  • МСЭ включен, но также разрешена служба доступа к файлам и принтерам

Следующая таблица демонстрирует опасность для каждой платформы:

Описание/векторы воздействия и механизмы защиты

Анонимный доступ

Аутентификация

DEP

ASLR

МСЭ

Windows 2000 – удаленное выполнение кода

Станция, подключенная к домену

+

 

 

 

 

Общий доступ к файлам и принтерам

+

 

 

 

 

Домашний ПК

+

 

 

 

 

Доступ к общим файлам (домашний ПК)

+

 

 

 

 

Windows XP SP2 – удаленное выполнение кода (DEP без ASLR)

Станция, подключенная к домену

+

 

+

 

*

Общий доступ к файлам и принтерам

+

 

+

 

 

Домашний ПК

+

 

+

 

+

Доступ к общим файлам (домашний ПК)

+

 

+

 

 

Windows Server 2003 – удаленное выполнение кода (DEP без ASLR)

Станция, подключенная к домену

+

 

+

 

 

Общий доступ к файлам и принтерам

+

 

+

 

 

Домашний ПК

+

 

+

 

 

Доступ к общим файлам (домашний ПК)

+

 

+

 

 

Windows Vista - отказ в обслуживании (DEP+ASLR)

Станция, подключенная к домену

 

+

+

+

*

Общий доступ к файлам и принтерам

 

+

+

+

**

Домашний ПК

 

+

+

+

+

Защищенный паролем доступ к общим файлам (домашний ПК)

+

 

+

+

***

Windows Server 2008 - отказ в обслуживании (DEP+ASLR)

Станция, подключенная к домену

 

+

+

+

*

Общий доступ к файлам и принтерам

 

+

+

+

**

Домашний ПК

 

+

+

+

+

Защищенный паролем доступ к общим файлам (домашний ПК)

+

 

+

+

***

Примечания:
* МСЭ включен по умолчанию без допускаемых исключений, хотя многие домены включают исключения.
** Общий доступ к файлам и принтерам включает исключение для соответствующего типа сетевого подключения. Общий доступ к частной сети не позволяет доступ из публичной сети.
*** Отключения пароля для доступа к общим ресурсам автоматически разрешает анонимные подключения.

Механизмы защиты и противодействия

Для устранения уязвимости следует установить в кратчайшие сроки исправления с сайта производителя:
Windows 2000 SP4:
http://www.microsoft.com/downloads/de...=E22EB3AE-1295-4FE2-9775-6F43C5C2AED3

Windows XP SP2:
http://www.microsoft.com/downloads/de...=0D5F9B6E-9265-44B9-A376-2067B73D6A03

Windows XP SP3:
http://www.microsoft.com/downloads/de...=0D5F9B6E-9265-44B9-A376-2067B73D6A03

Windows XP Professional x64 Edition:
http://www.microsoft.com/downloads/de...=4C16A372-7BF8-4571-B982-DAC6B2992B25

Windows XP Professional x64 Edition SP2:
http://www.microsoft.com/downloads/de...=4C16A372-7BF8-4571-B982-DAC6B2992B25

Windows Server 2003 SP1:
http://www.microsoft.com/downloads/de...=F26D395D-2459-4E40-8C92-3DE1C52C390D

Windows Server 2003 SP2:
http://www.microsoft.com/downloads/de...=F26D395D-2459-4E40-8C92-3DE1C52C390D

Windows Server 2003 x64 Edition:
http://www.microsoft.com/downloads/de...=C04D2AFB-F9D0-4E42-9E1F-4B944A2DE400

Windows Server 2003 x64 Edition SP2:
http://www.microsoft.com/downloads/de...=C04D2AFB-F9D0-4E42-9E1F-4B944A2DE400

Windows Server 2003 with SP1 for Itanium-based Systems:
http://www.microsoft.com/downloads/de...=AB590756-F11F-43C9-9DCC-A85A43077ACF

Windows Server 2003 with SP2 for Itanium-based Systems:
http://www.microsoft.com/downloads/de...=AB590756-F11F-43C9-9DCC-A85A43077ACF

Windows Vista (optionally with SP1):
http://www.microsoft.com/downloads/de...=18FDFF67-C723-42BD-AC5C-CAC7D8713B21

Windows Vista x64 Edition (optionally with SP1):
http://www.microsoft.com/downloads/de...=A976999D-264F-4E6A-9BD6-3AD9D214A4BD

Windows Server 2008 for 32-bit Systems:
http://www.microsoft.com/downloads/de...=25C17B07-1EFE-43D7-9B01-3DFDF1CE0BD7

Windows Server 2008 for x64-based Systems:
http://www.microsoft.com/downloads/de...=7B12018E-0CC1-4136-A68C-BE4E1633C8DF

Windows Server 2008 for Itanium-based Systems:
http://www.microsoft.com/downloads/de...=2BCF89EF-6446-406C-9C53-222E0F0BAF7A

Временное решение

Следующие инструкции позволят устранить или уменьшит риск удачной эксплуатации уязвимости, но могут повлиять на работу вашей сети.

1. Для всех ОС:

  • Отключить службы Сервер (Server)и Обозреватель сети (Computer Browser)
  • Блокировка доступа к портам 139/tcp и 445/tcp

2. Отфильтровать уязвимый RPC идентификатор.

  • Для Windows Vista и Windows 2008

В дополнение к блокированию портов, Windows Vista и Windows Server 2008 могут выборочно заблокировать RPC Universally Unique Identifiers (UUID). Для предотвращения уязвимости добавьте правило для блокирования всех RPC запросов с UUID, равным 4b324fc8-1670-01d3-1278-5a47bf6ee188. Пример:
netsh>rpc
netsh rpc>filter
netsh rpc filter>add rule layer=um actiontype=block
netsh rpc filter>add condition field=if_uuid matchtype=equal data=4b324fc8-1670-01d3-1278-5a47bf6ee188
netsh rpc filter>add filter
netsh rpc filter>quit
Filter Key – является случайным образом сгенерированный для вашей системы UUID. Для проверки работоспособности фильтра выполните команду:

netsh rpc filter show filter

Если добавление фильтра было успешным, в командной строке будут отображены следующие данные:

Listing all RPC Filters.
---------------------------------
filterKey: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
displayData.name: RPCFilter
displayData.description: RPC Filter
filterId: 0x12f79
layerKey: um
weight: Type: FWP_EMPTY Value: Empty
action.type: block
numFilterConditions: 1

где filterKey: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx равен вашему случайным образом сгенерированому UUID.

Для удаления фильтра после установки исправления следует выполнить следующую команду:

netsh rpc filter delete filter xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

  • Для МСЭ с возможностью фильтрации RPC трафика (например, ISA)

Создать правило блокировки RPC трафика по UUID 4b324fc8-1670-01d3-1278-5a47bf6ee188.

3. Изменить списки контроля доступа к уязвимому именному каналу

Microsoft разработала утилиту (http://blogs.technet.com/swi/attachment/3140932.ashx), которая может позволить изменить списки контроля доступа к именованному каналу в пределах сессии пользователя.

Пример использования:

Для службы Сервер:

C:\>chacl.exe \\.\pipe\srvsvc
opening up \\.\pipe\srvsvc
Got back 3 ACE entries
Found an entry for ANONYMOUS LOGON. Deleting it...
deleted that ACE

Для службы Обозреватель сети:

C:\>chacl.exe \\.\pipe\browser
opening up \\.\pipe\browser
Got back 3 ACE entries
Found an entry for ANONYMOUS LOGON. Deleting it...
deleted that ACE

Использование этой утилиты позволит удалить анонимный доступ из списка контроля доступа именных каналов, что ограничивает возможность атаки только аутентифицированными пользователями.

Примечание: это решение действует только в приделах сессии пользователя и после перезагрузки системы вышеперечисленные действия нужно будет повторно выполнить.

Ссылки:

http://www.microsoft.com/technet/security/Bulletin/MS08-067.mspx
http://blogs.msdn.com/sdl/archive/2008/10/22/ms08-067.aspx
http://blogs.technet.com/swi/archive/2008/10/23/More-detail-about-MS08-067.aspx
http://blogs.technet.com/swi/attachment/3140932.ashx
http://technet.microsoft.com/ru-ru/library/cc751161(en-us).aspx
http://www.securitylab.ru/vulnerability/361770.php
http://www.securitylab.ru/poc/361823.php

Валерий Марчук
www.Securitylab.ru

или введите имя

CAPTCHA
Страницы: 1  2  
25-10-2008 08:46:54
netsh>rpc netsh rpc>filter netsh rpc filter>add rule layer=um actiontype=block netsh rpc filter>add condition field=if_uuid matchtype=equal data=4b324fc8-1670-01d3-1278-5a47bf6ee188 netsh rpc filter>add filter netsh rpc filter>quit Filter Key – является случайным образом сгенерированный для вашей системы UUID. Для проверки работоспособности фильтра выполните команду: netsh rpc filter show filter Если добавление фильтра было успешным, в командной строке будут отображены следующие данные: Listing all RPC Filters. --------------------------------- filterKey: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx displayData.name: RPCFilter displayData.description: RPC Filter filterId: 0x12f79 layerKey: um weight: Type: FWP_EMPTY Value: Empty action.type: block numFilterConditions: 1 где filterKey: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx равен вашему случайным образом сгенерированому UUID. Для удаления фильтра после установки исправления следует выполнить следующую команду: netsh rpc filter delete filter xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx [QUOTE] Бедные вендузятнеги, их баллмер решил замучить консолью...
0 |
25-10-2008 09:05:58
Всё веселее - нашли способ сократить число машин в сети и увеличить доходы. Естественно, интересы АНБ не учесть не смоглм.
0 |
25-10-2008 20:01:35
Бедные вендузятнеги, их баллмер решил замучить консолью... Это балмер готовит всех к тому что windows seven будет ничем иным, как доработкой Linspire ну или типа того. не зря они с новелом дела ведут.
0 |
25-10-2008 21:43:06
так вот какой на самом деле самый дружественный и интуитивно понятный интерфейс лучших в мире операционнонных систем семейства Windows!
0 |
26-10-2008 14:11:56
Пресс-релиз ЛК на эту тему: http://www.kaspersky.ru/news?id=207732832 А вообще: 1. http://secureblog.info/articles/363.html 2. http://secureblog.info/articles/364.html Ну, я умолчу о грамотной настройке ОС Тут и ежу понятно, что риск заражения стремится к нулю.
0 |
ihor
16-01-2009 12:24:11
Да... Задрали уже эти вирусы и так далее. Почему, интересно мне, никто не хочет перейти на Линукс?.. Чем он хуже за Виндовоз?!!
0 |
-=Russ=-
17-01-2009 14:54:56
тс-с-с!!! Пусть вся зараза там остается, мне в Линуксе и без нее не плохо
0 |
КРщщщ
20-01-2009 12:58:19
Это точно
0 |
крот
20-01-2009 14:17:36
Когда пингвинов будет столько сколько оконщиков, тогда и вирусов будет столько же
0 |
Ы
21-01-2009 15:30:45
Типичный миф, отмазка майкрософтеров и антивирусников. Linux, в отличие от Windows, гетерогенен, т.е. существует множество дистрибутивов, у каждого свои особенности в функционировании. С одной стороны, это мешает распространению linux в массы, но с другой это же и сводит к минимуму возможность массового заражения. Кроме того, linux обновляется гораздо оперативнее. Я уже молчу об архитектуре системы, которая также сводит вероятность массового заражения к минимуму. Вероятность целевого поражения/взлома системы примерно одинакова (она прямо пропорциональна степени кривизны рук), речь идет именно о массовом заражении.
0 |
anton
23-01-2009 12:29:37
Типичное заблуждение, мол когда-нибудь Линукс станет популярным, не смотря на множестов дистрибутивов, а вирусов много на него не станет, благодаря множеству дистрибутивов.
0 |
ЫЯВа
27-01-2009 15:51:42
Если все перейдут на Линукс то и вирусняки начнут писать для него же. Посмотрим потом как ты запоешь.
0 |
igor
27-01-2009 06:43:19
В том виде, в котором сейчас находится линукс это кривожопая хрень совершенно не приспособленная для комфортной работы и современных игр. Чтобы в нем наладить хоть какой-то мало-мальски постоянный процесс приходится крутить все руками и пинками, качать и ставить уйму каких-то пакетов о назначении которых приходится только догадываться. В винде все те же самые действия делаются намного быстрее и проще за пару кликов мышью. Так что по удобству линуксу до винды еще как до Китая раком. Линукс больше сделана для того чтобы ее саму же постоянно и настраивать, а не работать с другими программами и играть в игры.
0 |
Денис
27-01-2009 08:09:00
Полностью с тобой согласен
0 |
Charly JapLin
27-02-2011 03:41:34
У зажиточных самураев обычно два меча в наборе, один боевой, другой ритуальный. Какой из них ему не нужен, хакер-саны? Например, из-под Линукса очень удобно выкромсать неудаляемое-но-не-нужное-на-винте, зарезать упрямого опарыша на флешке, или когда винда сделала харакири, а на том же диске нужная инфа, то с помощью Live CD можна эту инфу перетянуть в безопасное от форматСевта место. Можно как любым другим ножичком разные карандаши затачивать, сброс паролей например. Про боевой меч можно сказать одно - какой папа подарил, таким и пользуйтесь. И не надо убивать Билла
0 |
DeserT_eagLe
26-07-2013 16:56:17
http://www.lider-gsm.ru/programmy.html
0 |
Страницы: 1  2