Доступ в локальной сети
Если вы получили полный доступ к одной из рабочих станций в локальной или глобальной сети домена, вы можете использовать недостаточность защиты сетевых соединений серверов Windows NT. Слабая защита сетевых соединений приводит к тому, что, используя специализированное программное обеспечение, вы сможете завесить сервер Windows NT («отказ в обслуживании») или даже получить права администратора путем перехвата административных сетевых соединений. Для этого применяются следующие виды атак:
Ф Использование Named Pipe File System
Ф Использование средств удаленного управления
Использование Named Pipe File System
Named Pipe File System является виртуальной файловой системой, которая не управляет файлами, а управляет каналами named pipes. Каналы named pipes относятся к классу файловых объектов вместе с файлами, дисковыми директориями, устройствами и почтовыми ящиками (mail - slots). Поэтому большинство функций, предназначенных для работы с файлами (в том числе CreateFile, ReadFile и Write File), работают и с каналами. Канат named pipes представляет собой виртуальное соединение, по которому передается информация от одного процесса к другому. Информация может передаваться как в одну строну (однонаправленный канал), гак и в обе стороны (двунаправленный или дуплексный канал). Создание виртуального канала в Windows NT происходит следующим образом:
Серверный процесс создает канал на локальном компьютере с помощью функции программного интерфейса Win32 «CreateNamedPipe».
# Серверный процесс активизирует канал при помощи
Функции «ConnectNamedPipe», после чего к каналу могут подключаться клиенты.
Далее производится подключение к каналу \computer_namepipepipe_name посредством вызова функции «CreateFile».
Клиентский процесс может отключиться от канала в любой момент с помощью функции «CloseHandle». Серверный процесс может отключить клиента в любой момент с помощью функции «DisconnectNamedPipe».
После прекращения связи с клиентом серверный процесс может повторно использовать канал с помощью повторного вызова функции «ConnectNamedPipe».
При помощи одного и того же канала сервер может обслуживать нескольких клиентов. Для этого серверный процесс может создать N-ное количество экземпляров канала, вызвав N-ное количество раз функцию «CreateNamedPipe» (при этом в каждом вызове должно быть указано одно и то же имя канала).
Если канал имеет несколько экземпляров, клиент может быть подключен к любому свободному (не занятому другим клиентом) экземпляру этого канала.
Установления виртуального соединение серверный процесс и клиентский процесс могут обмениваться информацией при помощи пар функций «ReadFile» и «WriteFile». Если один участник информационного обмена записывает данные в канал при помощи функции «WriteFile», то другой участник может прочитать, используя функцию «ReadFile».
Интерфейс Named Pipe File System широко используется операционной системой Windows NT для множества задач, некоторые из которых играют важную роль в обеспечении безопасности операционной системы.
Например, удаленный вызов процедур (RPC) в Windows NT реализован как надстройка над NPFS.
Однако в смысле защиты информации и устойчивости программам, интерфейс Named Pipe File System может использован для взлома или выведения из строя операционной системы. Ниже приведены две программы PipeBomb и AdminTrap, которые используют непродуманность реализации Named Pipe File System.
Программа PipeBomb (Http://www. hackzone. ru/ articles/PipeBomb. zip)
Прикладная программа PipeBomb производит открытие на запись в вечном цикле новых экземпляров определенного системного канала и записывает в них порции бесполезной информации. Через довольно короткий промежуток времени все свободные экземпляры канала будут заняты, после чего серверный процесс определяет, что все экземпляры его канала заняты, после чего начинает создавать новые экземпляры канала.
Каждый новый экземпляр канала обслуживается новым потоком (thread), под который отводится новый буфер в оперативной памяти для хранения информации. Клиентский процесс постоянно открывает новые экземпляры канала, поэтому серверному процессу приходится создавать новые потоки. Это приводит к максимальной загрузке процессора сервера, а объем свободной оперативной памяти этого компьютера быстро уменьшается. Через несколько минут атакованный компьютер становится практически неработоспособным. Данная программа одинаково эффективно работает как для атак на рабочие станции, так и на сервера Windows NT 4.0. Для начала атаки необходимо запустить программу PipeBomb и в поле ввести имя атакуемого компьютера. Затем следует нажать кнопку «Create» (Создать) или «Write» (Записать), после чего любой сервер Windows NT будет завешен в течение двух минут.
Эту атаку можно применять через Internet, инкапсулируя пакеты SMB в пакеты TCP/IP (сетевая составляющая интерфейса Named Pipe File System организована как надстройка над протоколом SMB).
Программа AdminTrap (Http://www. hackzone. ru/
Articles/AdmTrap. zip)
Программа AdminTrap производит создание троянского экземпляра одного из системных каналов и ждет, когда к нему подключится клиент. Затем AdminTrap выполняет вызов функции Win32 «ImpersonateNa - medPipeCHent», которая назначает маркер доступа (access token) клиента экземпляра канала, handle серверного конца которого указан в качестве параметра функции. Если выполнение функции прошло успешно, один из потоков программы AdminTrap получает полномочия пользователя- клиента троянского экземпляра канала.
Вероятность того, что программа AdminTrap после вызова «Imper - sonateNamedPipeClient» получит полномочия администратора, весьма велика, если случайно удастся перехватить следующие сетевые соединения:
♦ winreg — удаленное управление реестром, списком сервисов,
Репликацией и административными оповещениями (alerts), удаленный просмотр системных журналов, удаленное диагностирование и оценка производительности;
♦ spoolss — удаленное управление принтером.
После запуска программа ожидает подключения администратора.
Когда администратор начнет выполнять одну из административных операций, сетевое соединение администратора перехватывается, программа выдает на экран окно, содержащее имя и список привилегий этого администратора, и предлагает осуществить создание нового пользователя с именем AdminTrap, который входит в группу «Administrators».
Использование средства удаленного управления Back
Oriffice 2000 (Http://www. cultdeadcow. com )
Программа Back Orifice (дословный перевод — задний проход) является еще одним средством взлома серверов Windows NT и удаленного управления ими через Internet. В02К состоит из клиентской, серверной части и утилит, позволяющих добавлять некоторые новые функции и производить настройку серверной части.
Данное программное обеспечение может работать на компьютерах с установленными операционными системами Windows 95/98 и Windows NT.
Клиентская часть ВО2К (файл bo2kgui. exe) используется на компьютере хакера и позволяет получить доступ к машине с установленной серверной части по протоколам TCP или UPD по порту 31337.
Обычно перед внедрением серверной части (размер 120 кб) производится сканирование подсети и выявление по конкретного IP-адреса. Затем серверная часть запускается на сервере при помощи любого локального бюджета. Хакер, используя клиентскую часть, может выполнять следующие действия:
Производить редактирование реестра;
♦ осуществлять полный контроль над файловой системой через браузер;
♦ получать информацию о введённых паролях;
♦ просматривать текущее состояние экрана на сервере;
♦ просматривать сетевые ресурсы, подключенные к серверу;
♦ управлять системными процессами;
♦ выполнять удаленную перезагрузку;
♦ удаленно выполнять программы с возможностью перенаправления консоли на компьютер хакеру.
Перед внедрением серверная часть конфигурируется при помощи Мастера конфигурирования В02К Configuration Wizard (файл bo2kcfg. exe). Мастер В02К Configuration Wizard позволяет выбрать файл сервера В02К (bo2k. exe) и задать пароль, который затем будет использоваться для доступа по сети. Кроме того, мастер позволяет выбрать порт для IP-соедине - ния, метод шифрования соединений между клиентом и сервером. Вам необходимо указать, какой сетевой модуль будет использоваться в IP-со - единениях TCP или UPD. TCP-соединения обычно используются для организации управления через сеть Internet. UPD-соединения применяются для работы в ЛВС.
Кроме того, данная утилита используется для добавления к основному запускаемому модулю bo2k. exe дополнительных возможностей, которые реализованы в виде Plugins DLL.