Windows NT - проблемы безопасности

NT: проблемы безопасности

Дмитрий Леонов
web@wclass.dol.ru

Цель этой статьи - освещение некоторых проблем безопасности Windows NT и способов их устранения. Была использована информация из следующих источников:

Троянская конница

Дистрибутивы NTWS4.0 и NTS4.0 включают утилиту rollback.exe, предназначенную для настройки пользователями предустановленной системы. Ее запуск приводит к очистке реестра (без предупреждения) и возврату к концу Character Based Setup (часть установки до появления GUI). Запуск ее из-под рабочей системы приводит к тем же невеселым последстиям (потеря аккаунтов, настроек протоколов, пользовательских настроек и т.п.). Найти ее можно на CD-ROM с NT в каталоге Support\Deptools\<system>\
Подробности: http:

Каталоги %systemroot% и %systemroot%\system32 имеют по умолчанию право доступа Change для Everyone. Это может привести к самым разнообразным последствиям типа замещения части системных dll "троянскими" и т.п. При этом они могут быть вызваны из самых разных программ - в том числе, из программ, работающих с системными правами доступа.
Для защиты достаточно грамотно установить права доступа. Кстати, программа
DumpAcl позволяет вывести права доступа для различных объектов - файлов, реестра, принтеров и т.п. в общий список, удобный для просмотра.

В реестре есть ключ
<HKLM\SYSTEM\CurrentControlSet\Control\Lsa>
со значением
<Notification Packages: REG_MULTI_SZ: FPNWCLNT>

Эта DLL существует в сетях, связанных с Netware. Поддельная FPNWCLNT.DLL в каталоге %systemroot%\system32 вполне может проследить все пароли. После копирования и перезагрузки все изменения паролей и создание новых пользователей будут отслеживаться этой dll и записываться (открытым текстом) в файл c:\temp\pdwchange.out.
Для защиты достаточно удалить этот ключ и защитить эту часть реестра от записи.

Испольняемые файлы могут быть переименованы в файлы с любым расширением (или без расширения), но они все равно запустятся из командной строки (например, переименуйте notepad.exe в notepad.doc и запустите "start notepad.doc"). Ну и что, спросите Вы ? Тогда попробуйте представить процесс прочтения файла rollback.exe, переименованного в readme.doc. Очень эффективно.

Большая часть реестра доступна для записи группе Everyone. Это же относится и к удаленному доступу к реестру. Может оказаться опасным, особенно в сочетании с автоматическим импортом reg-файлов. В реестре NT4.0 появился ключ
<HKLM\SYSTEM\CurrentControlSet\Control\SecurePipeServers\winreg>
при наличии которого доступ к реестру отрыт только администраторам. В NT Server этот ключ существует по умолчанию, в NTWS может быть добавлен.
Подробности: http:

Проблемы приложений

В FrontPage 1.1 пользователь IUSR_* имеет право доступа Full Control к каталогу _vti_bin и Shtml.exe. Если взломщик узнал пароль IUSR_<hostname> (обычно достаточно простой), то он может получить доступ к каталогу с исполняемыми файлами. В FrontPage'97 это упущение исправлено.
Подробности:
http:

При запуске администратором в Windows NT 3.51 File Manager из панели MS Office 7.0, он получает доступ к каталогу, на который у него нет прав доступа. Это связано с тем, что File Manager наследует права 'backup and restore permissions' от панели Office, которые используются Офисом для записи пользовательских настроек в реестр. Ошибка исправлена начиная с Office7.0a
Подробности:
http:

Служба FTP позволяет устанавливать пассивные соединения на основе адреса порта, указанного клиентом. Это может быть использовано взломщиком для выдачи опасных команд службе FTP.
Реестр содержит ключ
<HKLM\System\CurrentControlSet\Services\MSFTPSVC\Parameters>
со значением
<EnablePortAttack: REG_DWORD: >
Убедитесь, что значение установлено в '0', а не '1'.
Подробности:
http:

Несанкционированный доступ

Драйвер ntfsdos.exe позволяет читать раздел с NTFS из DOS,Windows,Windows'95. Права доступа при этом игнорируются. Авторами был обещан вариант драйвера с возможностью записи.
Аналогичный драйвер (read only) существует для Linux: http:

Один из популярных методов проникновения в систему - подбор пароля. Для борьбы с этим обычно устанавливают блокировку учетной записи пользователя после определенного числа неудачных попыток входа. Приятным исключением является учетная запись администратора. И если он имеет право доступа на вход через сеть, это открывает лазейку для спокойного угадывания пароля.
Для защиты рекомендуется переименовать пользователя Administrator, установить блокировку учетных записей, запретить админитратору вход в систему через сеть, запретить передачу SMB пакетов через TCP/IP (порты 137,138,139), установить протоколирование неудачных входов.
Подробности:
http:

Еще один способ - перехват проходящей по сети информации.
Подробности:
IP-Watcher http:
MS SMS Netmon http:

Проблемы IIS

Пользователь Anonymous может получить в IIS права пользователей домена при установке IIS на контроллер домена (PDC)
Подробности:
http:

Internet Information Server 1.0 (IIS) допускает использование batch-файлов в качестве CGI-прилложений. Это весьма опасно, поскольку batch-файлы выполняются в контексте командного процессора (cmd.exe).
Подробности:
http: http: http:

В IIS 1.0 адрес типа 'http: позволяет просматривать и скачивать файлы вне корневого каталога web-сервера.
Адрес 'http: выполнить указанный скрипт.
По умолчанию пользователь Guest или IUSR_WWW имеет права на чтение всех файлов во всех каталогач. Так что эти файлы могут быть просмотрены, скачаны и запущены.
Адрес "http: создаст файл 'target.bat'. Если файл существует, он будет обрезан.
К тем же последствиям приведет адрес
"http: Подробности:
http:

Если соединиться через telnet с портом 80, команда "GET ../.." <cr> приведет к краху IIS и сообщению "The application, exe\inetinfo.dbg, generated an application error The error occurred on date@ time The exception generated was c0000005 at address 53984655 (TCP_AUTHENT::TCP_AUTHENT"

Атаки типа Denial of Service

Ping of Death

Фрагментированный ICMP-пакет большого размера может привести к зависанию системы. Так, команда PING -l 65527 -s 1 hostname на NT 3.51 приведет к "синему экрану" с сообщением.

STOP: 0X0000001E
KMODE_EXCEPTION_NOT_HANDLED - TCPIP.SYS
-ИЛИ-
STOP: 0x0000000A
IRQL_NOT_LESS_OR_EQUAL - TCPIP.SYS

Подробности: http: Исправление: 3-й Service Pack c последующей установкой ICMP-fix

SYN-атака.

Послав большое количество запросов на TCP-соединение (SYN) с недоступным обратным адресом, получим следующий результат:
При получении запроса система выделяет ресурсы для нового соединения, после чего пытается ответить на запрос (послать "SYN-ACK") по недоступному адресу. По умолчанию NT версий 3.5-4.0 будет пытаться повторить подтверждение 5 раз - через 3, 6, 12, 24 и 48 секунд. После этого еще 96 секунд система может ожидать ответ, и только после этого освободит ресурсы, выделенные для будущего соединения. Общее время занятости ресурсов - 189 секунд.

Подробности: http: Исправление: 3-й Service Pack

WinNuke
Посылка данных в 139-й порт приводит к перезагрузке NT 4.0, либо вывод "синего экрана смерти" с установленным 2-м Service Pack'ом.
Исправление: 3-й Service Pack c последующей установкой OOB fix. Это исправление включено также в ICMP-fix.

Аналогичная посылка данных в 135 и некоторые другие порты приводит к значительной загрузке процессора RPCSS.EXE. На NTWS это приводит к существенному замедлению работы, NTS практически замораживается.
Исправление: 3-й Service Pack

Service Pack 3

Многие проблемы безопасности NT4.0 были устранены в 3-м Service Pack'е. Список исправлений весьма внушителен. В первую очередь это атаки типа Denial of Service - WinNuke, ошибка со 135-м портом, перехват сообщений SMB ("man-in-the-middle attack") и т.д. Настоятельно рекомендуется установить SP3, если Вас волнует вопрос безопасности Вашей системы. С момента выхода SP3 вышло еще несколько обновлений (hot-fixes), доступных на
ftp:

asp-fix Устранение проблем производительности с Active Server Pages 1.0b, установленных на IIS3.0
dblclick-fix Некоторые программы (например, Visio Professional 4.x) после установки SP3 стали реагировать на двойной щелчок мыши как на одинарный. Включен в состав getadmin-fix.
dns-fix Устраняет некоторые проблемы, связанные с сервером DNS
getadmin-fix Решает проблему, связанную с программой getadmin.exe, которая позволяла пользователям (кроме Guest) добавить себя в группу Administrators локальной машины. Также включает dblclick-fix и java-fix.
icmp-fix Решение проблем с зависанием системы при получении фрагментированного ICMP-пакета большого размера. Включает также oob-fix.
iis-fix Остановка IIS 2.0 и3.0 при получении большлго CGI-запроса (от 4 до 8k)
java-fix Зависание IE3.02 при открытии страниц с Java после установки SP3. Включен в состав getadmin-fix.
lm-fix Позволяет отключить аутентификацию Lan Manager (LM). Добавляет в реестр новый параметр к следующему ключу: HKLM\System\CurrentControlSet\control\LSA
Value: LMCompatibilityLevel
Value Type: REG_DWORD - Number
Возможные значения: 0,1,2, по умолчанию - 0

0 - Использовать аутентификацию LM и Windows NT authentication (default).
1 - Использовать аутентификацию Windows NT, иLM - только по запросу сервера.
2 - Никогда не использовать аутентификацию LM.

В последнем случае невозможно соединение с Windows'95 и Windows for Workgroups

lsa-fix Устраняет ошибку доступа в Lsass.exe, возникающую при передаче неправильного размера буфера удаленным клиентом при соединении с LSA (Local Security Authority) через именованный канал (named pipe).
ndis-fix Устраняет ошибку, вызывающую утечку памяти и синий экран с сообщением о неверной команде в ndis.sys при использовании промежуточных драйверов NDIS.
oob-fix Посылка "Out of Band" - данных в 139-й порт приводила к зависанию или перезагрузки системы (Атака WinNuke). Первоначальный вариант исправления, включенный в SP3, не решил все проблемы. Включен в состав icmp-fix.
scsi-fix Устранение ошибок при работе с системами защиты от сбоев (Fault Tolerant Systems)
simptcp-fix Атака Denial of Service, состоящая в посылке большого количества UDP-дейтаграмм с ложного адреса на 19-й порт, при установленных Simple TCP/IP services, приводила к повышенному UDP-траффику.
winsupd-fix Исправление ошибки в WINS, приводящей к его завершению при получении неверных пакетов UDP
zip-fix Устранение проблем с ATAPI-версией Iomega ZIP


<== Back to main page counter
My Home Page How to contact me Articles Windows (1251) encoding Unix  (Koi8) encoding My Public PGP Key