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

June 16th, 2012
admin
Опубликовано в рубрике