[ Alex WebKnacKer ] Хакинг и антихакинг - защита и нападение. Книги удк 004. 056. 5Alex WebKnacKer
Скачать 42.38 Mb.
|
ГЛАВА 4. Защита Windows вычислительных ресурсов. Поэтому единственное, на что осталось надеяться хакеру - это рассчитывать на недостатки политики безопасности, допускающие применение пользователями паролей длиной 3-4 символа, а то и вовсе использо- вание в качестве паролей слов из английского языка. Вспомните, мы приводили в Главе 1 пример недавнего взлома базы данных Microsoft, шифрованной паро- лем длиной четыре символа - и это в Microsoft! Так что хакерам пришлось поднапрячься и придумать более изощренные мето- ды взлома системы защиты Windows. Чтобы разобраться в этих методах, давайте рассмотрим более подробно, как работает эта защита. системы Как же система 2000/XP управляет всеми этими участниками процесса аутентификации, авторизации, аудита, в который вовлечены пользователи, компь- ютеры, группы пользователей с различными правами доступа к информационным ресурсам? А вот как. Каждый пользователь, компьютер, учетная запись или группа считаются объек- том системы защиты Windows, и каждому такому объекту при его создании присваивается так называемый идентификатор системы защиты SID (Security представляющий собой 48-разрядное число, уникальное для всей компьютерной системы. Каждому компьютеру после установки системы Windows 2000/XP присваивается случайно выбранное значение и каждому домену Windows 2000 после инсталляции также присваивается случайно бранное уникальное значение Все объекты системы защиты имеют определенные привилегии доступа к ин- формационным ресурсам. А как же владельцы ресурсов определяют, какому объекту разрешен доступ к данному конкретному ресурсу, и какой именно дос- туп? С этой целью для каждого информационного ресурса (файла, папки и т.д.) в системе Windows задается список ACL (Access Control List - Список управления доступом), который содержит записи АСЕ (Access Control Entries - Записи управления доступом). Записи АСЕ содержат идентификаторы объектов системы защиты и их права доступа к данному ресурсу. Списки ACL создаются самими владельцами информационных ресурсов с помощью средств операцион- ной системы, например, Проводника (Explorer) Windows, и работа с этими средст- вами описана в любом руководстве по операционным системам Windows Вот как происходит работа со списками ACL. После регистрации в компьютере Windows каждый объект (например, пользователь) получает от диспет- чера LSA маркер доступа, содержащий идентификатор самого пользовате- ля и набор идентификаторов SID всех групп, в которые пользователь входит. Далее, когда вошедший в систему пользователь обращается к ресурсу, служба SRM сравнивает его маркер доступа с идентификаторами в списке ACL ре- сурса, и если пользователь имеет право на доступ к ресурсу, то он его получает. 52 Быстро и легко. Хакинг и Антихакинг Как видим, все очень «просто», хотя на самом деле наше описание - это вер- хушка айсберга. Мы однако не будем углубляться в изучение системы защиты, поскольку все, что нам нужно - это понять, как можно сломать всю эту конст- рукцию. Путей для этого множество, и их поиском и обустройством для всеоб- щего блага занято множество весьма квалифицированных людей. Один из самых напрашивающихся и элегантных способов - это очистка списков ACL всех объ- ектов, после чего система Windows 2000/XP открывается для любых манипуля- ций. И такие проекты имеются, находясь в стадии активной разработки (напри- мер, проект программы NTKap на сайте http://www.rootkit.com). Однако эффек- тивность таких утилит умаляется тем обстоятельством, что доступ к спискам ACL сам по себе требует административных привилегий! Раз все так не просто при локальном доступе к компьютеру, то чего можно ожи- дать от каких-либо путей вторжения, связанных с процессом сетевой идентифи- кации пользователя домена? Ведь при этом по сети передается множество кон- фиденциальной информации, включая пароли. Обсудим эту задачу, но вначале рассмотрим, из чего состоит сеть компьютеров Windows Если основой построения сети компьютеров Windows NT 4 были домены, т.е. группы компьютеров под управлением то сети Windows 2000/XP структурируются и управляются с помощью служб активного каталога ADS (Active Directory Services). Службы ADS устанавливаются и управляются сред- ствами серверов Windows 2000, и выполняемые при этом процедуры описаны в руководствах по использованию систем Windows 2000 Server. Мы не будем по- вторять их содержимое, а просто постараемся указать, что интересного может найти хакер во всех этих активных каталогах. Все компоненты компьютерной сети - компьютеры, пользователи, ресурсы, службы, учетные записи - для службы ADS являются объектами, свойства ко- торых определяются с помощью атрибутов, т.е. параметров различного назна- чения. Например, объект учетная запись имеет атрибут имя пользователя, а объекты компьютер имеют атрибут IP-адрес в локальной сети. Для удобства управления этими объектами в ADS используются объекты, назы- ваемые контейнерами, задача которых - хранить в себе остальные объекты, в том числе контейнерные. К контейнерным объектам относятся организационные единицы OU (Organization Units), которые могут включать в себя пользователей, группы, компьютеры, принтеры, приложения, политики системы защиты, общие файлы и папки, плюс другие OU. Назначение OU - упростить администрирова- ние компьютерной сети путем разделения ее на части с разными характеристи- ками, т.е. можно поместить в отдельные OU различные компьютеры и пользова- телей, после чего настроить работу этих OU с учетом содержимого. ГЛАВА 4. Защита Windows Для организации сети компьютеров Windows 2000/XP они могут объединяться в логические единицы, называемые доменами. Каждый домен управляется кон- троллерами домена, хранящими общую для домена информацию и выполняю- щими централизованную авторизацию подсоединяющихся пользователей. В до- мене Windows 2000 контроллеров может быть несколько, и все они - равноправ- ны, что отличает домен Windows 2000 от домена Windows NT. Таким образом, компьютеры одного домена совместно используют единую базу учетных запи- сей, и вошедший в домен пользователь имеет доступ ко всем общим ресурсам домена. Для структурирования компьютерной сети домены Windows 2000/XP могут быть объединены в деревья, а деревья могут быть объединены в лес. Таким образом, вся сеть организации может состоять из доменов отделов, и при этом каждый домен будет иметь собственное имя и контроллер. Между всеми доменами де- ревьев и лесов организуются двусторонние доверительные отношения, т.е. вхо- дящие в один домен компьютеры могут получать доступ к компьютеру из дру- гого домена в лесу или дереве. Преимущество использования такой модели состоит в возможности структури- рования имен сетевых компьютеров, которые должны соответствовать их поло- жению в лесу доменов. Допустим, у нас имеется домен с именем Тогда компьютеры домена именуются так: А теперь допустим, что в сети имеется множество доменов, и каждый домен имеет свое имя, допустим, Чтобы организовать дерево доменов, созда- ется несколько ветвей, и к имени каждого домена в ветви слева приписывается имя смежного с ним домена в направлении от корня дерева. Например, если domenl и domen2 входят в одну ветвь, domen2 «вырастает» из domenl, то компьютеры из domen2 будут именоваться comp1.domen2.domen1, A чтобы организовать из двух доменов domenl и domen2 лес, имеющий имя forest, то его имя добавляется справа от имени домена. Таким образом, компьютеры в domenl будут именоваться , а в domen2 компьютеры будут именоваться как comp2.domen2.forest Между всеми доменами леса устанавливаются дву- сторонние доверительные отношения. В общем, вся эта возня с доменами - занятие для системных администраторов, для хакера тут интересно вот что: права доступа к ресурсам доменов леса или дерева для различных учетных записей зависят от их членства в трех основных группах. • Универсальная группа (Universal group), членами которой быть поль- зователи всего леса, и следовательно, членство в универсальной группе пре- доставляет доступ к компьютерам всего леса. 54 Быстро и легко. Хакинг и Антихакинг • Глобальная группа (Global Group), членами которой могут быть только пользователи одного домена, соответственно, членство в глобальной группе предоставляет доступ к ресурсам всего домена. • Локальные группы домена (Local group domain), членами которой могут быть пользователи всего леса, но локальные группы могут быть использова- ны только для управления доступом к ресурсам одного домена. Именно эти группы следует указывать в списках ACL для задания прав доступа к информационным ресурсам. Теперь хакеру все становится понятным - для взлома сети лучше всего получить права члена универсальной группы. А для этого можно, например, взломать базу AD, либо перехватить в сети пароль при регистрации пользователя на контроллере домена, либо проделать еще какую- либо штучку, коими переполнены новости с фронта виртуальных сражений. Вообще-то база устроена наподобие SAM, так что для нее справедливы все те слова, что сказаны ранее про шифрование и взлом паролей в SAM. Однако взлом AD затруднен тем обстоятельством, что размер AD, как правило, весьма велик (до 10 Мб), и база AD хранится на серверах, которые, чаще всего, защи- щены на порядок лучше клиентских компьютеров. Таким образом, наиболее оп- тимальной стратегией хакера может быть проникновение в клиентский компью- тер с последующими попытками взлома контроллеров домена. Для этого можно, скажем, с помощью снифера перехватить пароли и логины, необходимые для входа пользователя в домен Window 2000, во время их передачи по сети на кон- троллер домена. Такие программы существуют, например, последняя версия LC4 программы снабжена эффективным механизмом перехвата и сете- вых пакетов с целью последующего взлома паролей. Мы еще поговорим про эту в высшей степени полезную программу, но пока рас- смотрим поподробнее, как происходит процедура сетевой идентификации поль- зователей - там имеются и еще кое-какие интересные возможности. Регистрация домене Windows 2000 При регистрации пользователя в домене Windows 2000 используется процедура запроса с подтверждением, означающая следующее. Вначале контроллер доме- на передает клиентскому компьютеру запрос - случайное число, для которого клиент подсчитывает значение одной очень важной криптографической функ- ции, называемой или просто используя при этом пароль пользователя в качестве аргумента. Что такое хэш-функция, вы можете прочесть в Приложении D этой книги, здесь же ограничимся лишь указанием, что все хэш-функции имеют следующее характерное свойство. Настоящую хэш- функцию очень просто вычислить по значению аргументов, но вот наоборот, вычислить значения аргументов по значению хэш-функции почти невозможно, поскольку это требует нереальных вычислительных ресурсов. Вот что это дает системе защиты. ГЛАВА 4. Защита Windows Подсчитанную хэш-функцию клиент передает обратно контроллеру домена, и контроллер снова подсчитывает эту же хэш-функцию для тех же аргументов - переданного клиенту значения случайного числа и пароля пользователя, кото- рый хранится в базе AD. Если оба значения хэш-функции совпадают - пользова- тель поскольку такого совпадения практически невозможно достичь без знания аргументов - такова природа хэш-функций. Преимущества такой аутентификации очевидны - пароль по сети не передается, а использова- ние случайного числа гарантирует невозможность повторных использований перехваченных запросов и ответов для прохождения сетевой регистрации. Для хакера все эти криптографические штучки весьма интересны в следующем отношении. Во-первых, при такой сетевой аутентификации по сети передаются всего лишь значения хэш-функции пароля. Во-вторых, даже поверхностного знания криптографии достаточно для уяснения факта, что восстановление паро- ля по значению хэш-функции невозможно только практически, но теоретически это возможно, хотя бы методом прямого перебора или, как говорят в криптогра- фии, методом «грубой силы». Объем вычислений, необходимый для взлома пароля, определяет т.е надежность протокола сетевой аутентификации. И вот тут-то и возни- кает большая дыра, в которую пролезло немало шустрых личностей, которые, исследовав методы шифрования протокола LM, пришли к выводу - взлом про- токола LM вполне возможен вследствие некой грубой криптографической ошибки (подробности можно узнать, к примеру, в Для исправления ситуа- ции Microsoft выпустила гораздо более защищенный протокол NTLM (в Service Pack 3 для Windows NT 4) и протокол (в Service Pack 4 для Windows NT 4). И, наконец, в Windows 2000 появился протокол Kerberos, который стал первым по-настоящему стойким протоколом сетевой идентификации, призванным обезопасить сетевое взаимодействие компьютеров в процессе идентификации. Однако не тут то было. Дело в том, что в системах Windows 2000/XP для обеспечения обратной совмес- тимости со старыми системами Windows поддерживаются все предыдущие вер- сии протоколов, включая LM. И если компьютеры Windows не в со- стоянии идентифицировать друг друга по протоколу Kerberos, они автоматиче- ски переходят на использование ненадежных протоколов NTLM или Так что хакеры действуют следующим образом - они блокируют специально сфор- мированными сетевыми пакетами TCP-порт 88 контроллера домена, используе- мый Kerberos, и вынуждают компьютеры переходить на старые версии протоко- лов аутентификации. Дальнейшее понятно без объяснения - с помощью снифера перехватываются пакеты с паролями для идентификации по протоколам LM или NTLM, после чего с помощью утилиты выполняется взлом пароля. Таким образом, положение антихакера выглядит безнадежным - кажется, что нет никакой возможности отбиться от хакерских попыток взлома компьютерной сети. И в самом деле, что может сделать антихакер? 56 Быстро и легко. Хакинг и Антихакинг Для защиты от столь хитроумных любителей чужих секретов прежде всего тре- буется создать эффективную политику безопасности, которая, помимо прочего, включала бы меры по ограничению физического доступа к компьютеру. Следует четко уяснить, что если хакер получит локальный доступ к компьютеру, то рано или поздно все содержащиеся в нем конфиденциальные данные будут раскрыты. Если компьютер подсоединен к сети, то следующим шагом хакера будет взлом сетевых серверов. Как вы, наверное, уже поняли, возможностей у него будет предостаточно. Выработка политики безопасности и настройка системы защиты компьютера должна производиться постепенно, по мере накопления информации о возможных угрозах и опыта по их парированию. Однако с самого начала эксплуатации систе- мы можно применить средство обеспечения безопасности компьютера, называе- мое шаблонами впервые появившимися в системах Windows 2000. Эти шаблоны представляют собой целые наборы параметров системы защиты, подготовленные Microsoft для всеобщего использования, и включающие на- стройки политики безопасности для автономного компьютера, рабочей станции и контроллера домена. В системах Windows XP шаблоны безопасности получили дальнейшее развитие и обеспечивают достаточно надежную защиту от широко распространенных атак компьютеров Windows. Установка и настройка этих шаблонов подробно описана в справочной системе Windows или в книге [7], так что не будем повторяться. Начав с уста- новки шаблона безопасности, далее можно постепенно уточнять эти настройки, создав собственную базу данных системы защиты, отражающую ваш личный опыт работы с системой. Прочность своей защиты можно проверять с помощью сканеров безопасности, например, приложения Retina, о работе с которым мож- но прочитать в книге [7]. Наилучшим же техническим решением защиты от сетевых атак методом пере- хвата трафика является во-первых, отказ от использования старых версий про- токолов аутентификации. Во-вторых, следует прибегнуть к технологиям крип- тографической защиты, в частности, к построению сети VPN (Virtual Private Network - Виртуальная частная сеть). Технология VPN заранее предполагает, что кабельная система сети не защищена от хакерских вторжений и все переда- ваемые данные могут быть перехвачены. Поэтому весь сетевой трафик VPN шифруется надежными алгоритмами, исключающими или сильно затрудняю- щими перехват расшифровки данных. Все эти старания, конечно, не пропадут даром, однако, как говорит известный специалист по криптографии Брюс Шнайер (Bruce Schneier), автор бестселлера «Прикладная криптография» (Applied Cryptography), безопасность - это процесс. Нет такого метода защиты, который сможет раз и навсегда обезопасить компьютерную систему - схватка хакера и антихакера не прекратится никогда, по крайней мере, в обозримом будущем этого точно не произойдет. Так что в ГЛАВА 4. Защита Windows крайней мере, в обозримом будущем этого точно не произойдет. Так что в сле- дующей главе мы познакомимся с первым эпизодом этой Великой Виртуальной Войны - локальным вторжением в компьютер, т.е. наиболее эффективным и полноценным способом взлома системы. В этой главе вы познакомились со средствами обеспечения безопасности Windows и узнали о «болевых точках» системы защиты, которые ис- пользуются хакерами для выполнения наиболее широко распространенных атак. Теперь вас не смутят аббревиатуры SAM, LSA, SRM, ADS, LM, NTLM, Kerberos и так далее. Введенные здесь термины и обозначения будут использоваться при описании орудий взлома систем Windows, к которым мы переходим со следующей главы. Желающие углубить свои познания в сфере средств защиты Windows сетей TCP/IP и служб ADS могут обратиться к большому чис- лу прекрасных литературных источников, из которых можно выделить серию книг Microsoft Press по серверам Windows 2000. Часть 2. Автономный В этой части книги мы обсуждаем методы локального вторжения хакеров в ком- пьютер и ответные действия антихакера. Вначале обсуждаются препятствия, которые должен преодолеть хакер для входа в атакуемую систему. Далее опи- сываются этапы хакерской атаки на компьютер с использованием локального доступа - проникновение в систему, расширение привилегий, реализация цели и сокрытие следов. 5 . В Познакомившись в предыдущей главе с системой защиты Window наверное, уже задались вопросом, а как же можно обойти все «ЗА» наворочен- ных средств обеспечения безопасности, которые создавало большое число ква- лифицированных специалистов? Все зависит от обстоятельств, и в Главе 2, где были перечислены возможные пути вторжения в компьютер, первым в списке стояло локальное вторжение, когда хакер получает физический доступ к консоли управления компьютерной системы, что обеспечивает ему наибольшее число воз- можностей хакинга. Вот с него мы и начнем. (Только не подумайте, что вас будут учить лазить в форточку или обшаривать помойки - для этого вы можете обра- титься к Интернету. Здесь же мы ограничимся компьютерными технологиями.) Вообще-то возможность такого вторжения в наибольшей степени обуславлива- ется ненадлежащим выполнением правил политики безопасности организации, а то и полным ее отсутствием. Ныне вполне заурядна ситуация, когда к компью- терной сети неведомо кем и как подключено множество компьютеров, а полити- ка информационной безопасности сводится к листочку со списком паролей, приклеенным к монитору (потом их выбрасывают на помойку - ну Так что для получения локального доступа к компьютеру хакеру может и не по- требоваться орудовать отмычками, лазить через забор или в открытую форточ- ку, чтобы попасть в помещение с компьютерами. После чего, пройдя все испы- тания, бедный хакер, подсвечивая себе фонариком и пугливо озираясь, должен заняться выкручиванием винчестера для последующего исследования, или пы- таться войти в компьютерную систему, поминутно рискуя быть схваченным и посаженным за решетку (поскольку все это - чистейшей воды уголовщина). Неужели все так страшно? Да нет же, нет - чаще всего нужно просто протянуть |