Взлом и защита LAN
🕛 21.09.2009, 00:00
В этом разделе мы поговорим о безопасности локальной сети в контексте возможных вариантов взлома. На конкретном примере рассмотрим, насколько уязвимой может быть система и что предпринять, чтобы превратить ПК в черный ящик для взломщика.В качестве объекта исследования совершенно случайным образом был избран самый обычный, ничем не примечательный терминал локальной сети на 200 машин.
Забегая вперед, заметим, что из десяти кандидатов на "препарацию" две системы оказались беспрецедентно уязвимы (полный доступ на запись/чтение), и говорить в данном случае о какой‑либо защите вообще не приходится. Поэтому ради "спортивного интереса" было решено пренебречь этими двумя и рассмотреть более усредненный случай с каким‑никаким уровнем защиты.
В качестве инструмента исследования был использован известный сканер уязвимостей X‑Spider 7.5.
Всего около пяти минут понадобилось нашему "пауку", чтобы предоставить полный отчет, включающий в себя список открытых TCP‑портов. Итак, вот, собственно, и результаты сканирования.
Система Windows 5.1 (или XP) - информация подобного рода хотя и относится к категории "просочившейся", однако не представляет какой‑либо серьезной угрозы безопасности вашему ПК.
Открытый 135‑й TCP‑порт говорит о том, что на компьютере запущена служба DCOM. Вроде бы ничего страшного. Но что мы видим далее?
Открыт 135‑й UDP‑порт, который принадлежит сервису Microsoft RPC (Remote Procedure Call - удаленное выполнение команд). Это уже не просто открытый порт, а серьезная уязвимость, обозначенная в бюллетене безопасности Microsoft под кодовым номером ms03‑04 3. Вот как описывается данная уязвимость: "Переполнение буфера обнаружено в Messenger Service в Microsoft Windows. Удаленный атакующий может выполнить произвольный код на уязвимой системе. Проблема связана с тем, что Messenger Service не проверяет длину сообщения. В результате злонамеренный пользователь может послать сообщение, которое переполнит буфер и выполнит произвольный код на уязвимой системе с привилегиями SYSTEM".
Говоря простым языком, сформированное особым образом сообщение, переданное с помощью обычной команды net send, может привести к запуску на машине жертвы любого программного кода.
Есть ли в данном случае выход? Конечно же, есть! Первое, что надо сделать, - это отключить службу DCOM, если она действительно не нужна, и обязательно установить пакет обновлений Microsoft: http://www.microsoft.com/technet/security/buLLetin/ MS03‑043.asp.Подробнее о данной уязвимости можно узнать по адресу: cve.mitre.org/cgi‑bin/cvename.cgi?name=CAN‑2003‑0717.
Открытый 139‑й порт - запущен сервис NetBios (Network Basic Input/Output System). "Ну, это просто классика", - скажут искушенные охотники, и они будут правы. Действительно, какой из портов расскажет о вашей машине столько, сколько 139? Список ресурсов, список активных сессий и многое другое, доступное через нулевую сессию: доступ по нулевой сессии представляет собой возможность неавторизованного подключения к хосту с операционной системой, основанной на Windows NT (или операционной системой семейства UNIX с установленным пакетом Samba) с пустым логином и паролем. При включенной нулевой сессии анонимный пользователь может получить большое количество информации о конфигурации системы (список ресурсов, открытых для общего пользования, список пользователей, список рабочих групп и т. д.). Полученная информация в дальнейшем может быть использована для попыток несанкционированного доступа.
В бюллетенях безопасности Microsoft уязвимость, связанная с открытым 139‑м портом, описывается кодовым номером ms04‑007. Описание уязвимости звучит так: "Переполнение буфера обнаружено в Microsoft ASN.1 Library (msasn1.dll) в процессе ASN.1 BER‑декодирования. Уязвимость может эксплуатироваться через различные службы (Kerberos, NTLMv2) и приложения, использующие сертификаты. Удаленный пользователь может послать специально обработанные ASN.1 данные к службе или приложению, чтобы выполнить произвольный код с SYSTEM‑привилегиями".
Есть ли выход? Конечно, есть. Прежде всего необходимо установить обновление: http://www.microsoft.com/technet/security/buLLetin/MS04‑011.mspx.
Кроме того, следует отключить доступ по нулевой сессии. Для этого:
- в разделе реестра HKEY_LOCAL_MACHINE\System\CurrentControlSet\ Control\LSA нужно установить значение параметра RestrictAnonymous равным 2 для Windows 2000/XP/2003 (1 для Windows NT3.5/NT4.0) (тип параметра - REG_DWORD);
- для Windows 2000/XP/2003 в разделе реестра HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Services\lanmanserver необходимо установить значение параметра RestrictNullSessionAccess равным 1 (тип параметра - REG_DWORD);
- для Windows NT3.5/NT4.0 в разделе реестра HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Services\LanManServer\Parameters необходимо установить значение параметра RestrictNullSessAccess равным 1 (тип параметра - REG_DWORD).
Едем дальше. Следующим в нашем списке оказывается открытый 445‑й порт, который принадлежит службе Microsoft Directory Service. Не грех будет вспомнить, что именно 445‑й - один из портов, через который в свое время активно "щемился" нашумевший червяк MS Blast. При отсутствии соответствующих заплаток 445‑й порт, без преувеличения, - настоящая дыра всех времен и народов. Следующие уязвимости и варианты их реализации есть яркое подтверждение вышесказанному: "Удаленное выполнение команд ms05‑027, ms05‑043". Объект, который значится в бюллетене под кодовым именем ms0 5‑02 7, имеет следующее описание со всеми вытекающими отсюда последствиями: "Уязвимость в службе Print Spooler позволяет удаленному пользователю выполнить произвольный код на целевой системе".
А теперь разберем сухой отчет от Microsoft подробнее. Служба Spooler предназначена для управления принтерами и заданиями печати и экспортирует интерфейс на базе RPC (Remote Procedure Call). В данной службе присутствует уязвимость переполнения буфера. Удаленный или локальный пользователь может подключиться к системе через NULL‑сессию и с помощью специального запроса выполнить произвольный код с привилегиями Local System или вызвать отказ от обслуживания. Данной уязвимости подвержены следующие версии операционных систем: Microsoft Windows 2000 Service Pack 4, Microsoft Windows XP Service Pack 1, Microsoft Windows XP Service Pack 2, Microsoft Windows Server 2003.
Как злонамеренный пользователь может воспользоваться этой уязвимостью? Уязвимость может быть использована удаленно путем создания специального запроса к службе Printer Spooler. В Windows 2000 и Windows XP SP1 эта служба доступна извне с помощью именованных каналов и посредством NULL‑сес‑сии. В Windows XP SP2 и Windows Server 2003 для доступа к этой службе необходимо пройти аутентификацию, то есть для удачной эксплуатации нужно иметь учетную запись на удаленном хосте.
Как все это дело прикрыть? Просто. Достаточно лишь установить обновление для Windows (http://www.microsoft.com/technet/security/BuLLetin/MS05‑043.mspx),и все.
Следующим открытым портом оказался порт 4899, принадлежащий Radmin. Комментарий в данном случае будет не такой горячий, как в предыдущих: просто на машине установлена утилита удаленного администрирования - хотя для злонамеренного пользователя данная информация не должна показаться столь уж бесполезной.
И напоследок, открытый TCP‑порт 5000, который принадлежит службе SSDP. Данный сервис отвечает за обнаружение UPnP‑устройств в домашней сети. Уязвимость в службе SSDP, а точнее отсутствие таковой (по крайней мере на момент написания книги), не представляет реальной угрозы и не может быть использована для удаленного выполнения кода, отказа в обслуживании и т. п. Тем не менее никогда не стоит забывать простое правило: меньше служб - меньше открытых портов - меньшая вероятность того, что ваша система окажется уязвимой (подробно про оптимизацию безопасности Windows средствами операционной системы смотрите в гл. 7).
При ненадобности "обнаруживать UPnP‑устройства в вашей сети" смело отключаем эту службу через Панель управления ► Администрирование ► Службы.
Подведем итог. Шесть открытых портов: 135‑UDP, 135‑TCP, 139‑TCP, 445‑TCP, 4899‑TCP и 5000‑TCP, половина из которых (135‑UDP, 139‑TCP и 445‑TCP) открывают практически безграничные возможности для "творчества" удаленного "зло‑админа".