Выявление атаки на протокол SMB

Протокол  SMB/CIFS  (Server   Message   Blocks/Common  Internet   File System) предназначен для соединения компьютеров с ОС типа Windows 9* и Windows NT 5.*  между собой или с сервером Samba (UNIX-сервером). Про- токол  SMB включает в себя все возможные операции (команды) для работы с файлами и принтерами (открытие, закрытие, создание и удаление файлов и директорий, чтение и запись в файл, поиск файлов, отправка на печать и от- мена печати).

Рис. 2.11. Интерфейс программы WinNuke

Рис. 2.12. Пример сетевого пакета программы WinNuke

SMB-сообщение состоит из  двух  частей: заголовка фиксированного размера и поля команды, размер которой меняется динамически в зависимо- сти от состава сообщения. Протокол SMB имеет несколько версий и диалек- тов, каждая из последующих совместима с предыдущей (табл. 2.1).

Диалекты протокола SMB

Таблица 2.1

Название протокола

Обозначение

Core

PC NETWORK PROGRAM 1.0

Core Plus

MICROSOFT NETWORKS 1.03

LAN Manager 1.0

LANMAN1.0

LAN Manager 2.0

LM1.2X002

LAN Manager 2.1

LANMAN2.1

NT LAN Manager 1.0

NT LM 0.12

Samba’s NT LM 0.12

Samba

Common Internet File System

CIFS 1.0

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

Установка соединения между сервером (компьютером, предоставляю-

щим доступ к ресурсу) и клиентом (компьютером, который желает воспользо-

ваться данным ресурсом) происходит в 4 шага:

1.  Установка виртуального соединения. Создается двунаправленный вир-

туальный канал между клиентом и сервером.

2.  Выбор версии протокола (рис. 2.13). Клиент посылает запрос, содержа- щий список всех версий протоколов SMB, по которым он может создать со- единение. Сервер отвечает номером записи в списке, предложенном клиентом (считая записи с 0), или значением 0xFF, если ни один из вариантов предло- женных протоколов не подходит. Здесь же сервер передает  требуемый режим безопасности, признак необходимости шифрования пароля и «вызов» (8 слу- чайных байт), используя который клиент зашифрует пароль и передаст его серверу в виде «ответа» на следующем шаге.

3.  Установка параметров сессии (рис. 2.14). Клиент посылает имя пользо-

вателя, пароль (если он существует) в виде «ответа», имя рабочей группы, а также полный путь к доступной директории на сервере (перечень доступных

директорий сервер предоставляет клиенту ранее по иному запросу).

4.  Получение доступа к ресурсу. Сервер выдает клиенту идентификатор

(TID — уникальный идентификатор для ресурса, используемого клиентом), показывая тем самым, что пользователь прошел процедуру авторизации и ре- сурс готов к использованию. Сервер указывает тип службы доступа: A — для диска или файла; LPT1 — для вывода на печать; COM — для прямого соеди- нения принтеров и модемов, IPC — для идентификации при доступе к ресур- су.

К                                                     С Л         C SMB_COM_NEGOTIATE                                 Е И        Список диалектов                                                    Р Е                                R SMB_COM_NEGOTIATE                   В Н                 Диалект, режим защиты, вызов            Е Т                                                     Р

Рис. 2.13. Согласование SMB-диалекта

К                                                   С Л     C SMB_COM_SESSION_SETUP_ANDX                    Е

Имя, домен, пароль/ответ

И                                                   Р

Е        R SMB_COM_SESSION_SETUP_ANDX                В

Н                                          TID          Е Т                                                    Р

Рис. 2.14. Установка параметров сессии

ВЫПОЛНИТЬ!

12. Создайте на виртуальном компьютере, работающем под управлением ОС Windows 2000, каталоги и в нем небольшой текстовый файл. Предоставьте созданный каталог в сетевой доступ.

13. Включите захват трафика. В основной ОС откройте в сетевом окружении на виртуальном компьютере созданный текстовый файл. Для чего зареги-

стрируйтесь, введя имя и пароль пользователя, имеющегося на виртуаль-

ной ОС.

14. Просмотрите полученный трафик. Какой протокол используется для фай-

лового обмена? Какие номера TCP-портов задействованы на приемнике и источнике?

15. Найдите пакеты этапа согласования SMB-диалекта. Какой диалект выбран

сервером?

16. Найдите пакет, в котором передается имя пользователя. Передается ли па-

роль пользователя в открытом виде?

17. Найдите пакет, в котором передается текст открытого вами файла (описа- ние пакета начинается с «R read & X»). Передается ли текст  файла в за- шифрованном виде?

Одной из основных широко известных уязвимостей [4], присутствую- щих в сетевых настройках по умолчанию в ОС Windows 2000 (исправлено в Windows XP), является возможность установления «нулевого сеанса» (ано- нимного подключения). Целью данной атаки являлось подключение к сете- вым ресурсам ОС Windows 2000 без указания имени пользователя и пароля.

Для установления   «нулевого сеанса» осуществляется подключение к ресурсу IPC$ удаленного компьютера без указания имени и пароля при помо-

щи стандартной утилиты net:

net use \\*.*.*.*\IPC$ "" /user:"",

где *.*.*.* — IP-адрес компьютера, /user:"" — имя пользователя (пус-

то); "" — пароль пользователя (пусто).

ВЫПОЛНИТЬ!

18. Разорвите все установленные ранее соединения командой:

net use * /delete

19. Включите режим захвата трафика. Выполните анонимное подключение к виртуальному компьютеру. Просмотрите полученный  трафик. Какие но- мера TCP-портов задействованы на приемнике и источнике? Какой SMB- диалект выбран сервером? Найдите пакет, в котором передается имя поль- зователя в виде пустой строки.

20. Сделайте  вывод  о  возможности  обнаружения  и  блокирования  данной атаки.

Источник: Андрончик А. Н., Богданов В. В., Домуховский Н. А., Коллеров А. С., Синадский Н. И., Хорьков Д. А., Щербаков М. Ю., Защита информации в компьютерных сетях. Практический курс

Похожие посты:

Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий