Уроки хакера

Здесь будут изложены основные принципы взлома защиты сетевых операционных систем Windows NT и Windows 2000.

Почему была выбрана группа операционных систем Windows NT/2000? Семейство операционных систем Windows NT/2000 (в дальнейшем просто Windows NT, т.к. Windows 2000 является по своей сути пятой версией NT) имеет богатейшие возможности работы с конфигурацией операционной среды, поддерживает устаревшее программное обеспечение для операционных систем DOS, Windows З.хх/95/98, что влечет за собой возможность с большей вероятностью найти в защите системы слабое место. Всегда надо помнить принцип: Обычно ломается лифт, а не лестница. Следовательно, чем проще, тем надежней.

Вторая причина, почему был остановлен выбор на семействе Windows NT - из- за популярности этих систем и распространенности их в мире. С одной стороны, украсть информацию из Windows NT/2000 затруднительно, т. к сложность похищения информации вызвана, конечно, не безупречностью TCP/ IP стека Windows NT, a его убогостью и отсутствие в стандартной поставке сетевых демонов и крайне ограниченный набор клиентских утилит (host, nslookup, talk и т.д.). Хакеры со всех концов света обратили на нее свое внимание и, естественно, нашли и находят прорехи в системе безопасности Windows NT.

Методы взлома, изложенные здесь, будут доступны для хакера не высокой квалификации. Те программы или средства, которые потребуются для подрыва защиты и проникновения в систему можно свободно найти на страницах Interneta. Кроме того, еще не все системные администраторы осознали необходимость комплексного подхода при защите информации для сетей под Windows NT. Обычно затраты на сохранность ценностей составляют от 10 до 30% от их стоимости. Но как оценить интеллектуальную собственность? Тут вступает в действие всемирный пофигизм, вот он - главный друг хакера.

Безопасности компьютерной системы или сети обычно присущи три составляющие:

Эти три составляющие очень тесно, связаны между собой, поэтому мы последовательно рассмотрим их. Приведенные ниже способы преодоления защиты этих трех уровней помогут понять сам принцип взлома системы. Кроме того, хакерские инструменты первого и, второго уровня часто могут помочь взломщику компьютерных систем, если он работает удаленно через Internet.

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

Физический доступ. Что такое физический доступ к компьютеру? Это значит, что вы имеете доступ к компьютеру, на котором находится интересующая вас информация. Причем доступ этот физический, т.е. вы можете подойти к этой машине, потрогать ее ручками. Желательно, чтобы трогание ручками было воспринято окружающими без эмоций, а лучше вообще не воспринято, т.е. вы там частый гость, или лучший друг своего недруга (зачем друзей подставлять), или..., ну, в общем, вы - ужас, летящий на крыльях ночи, никем не замеченный. Вот что значит физический доступ.

Сначала немного общеобразовательных моментов. В семействе операционных систем Windows NT реализована возможность контроля за локальным доступом (т.е. доступом к локальному диску, винту, если так понятнее). Реализуется эта возможность с помощью новой (по сравнению с FAT) файловой системой NTFS на основе расширений файловой системы. Вообще-то, Windows NT поддерживает две системы FAT и NTFS. Поэтому рассмотрим способ взлома сначала для FAT.

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

NTFS используют всегда, когда требуется защитить информацию и распределить доступ к ней. Но вот беда - все это работает только при работе под Windows NT. А вот если вам удастся загрузить MS-DOS с дискеты, то любая информация из разделов, работающих под NTFS, может быль считана с помощью драйвера NTSFDOS ЕХЕ (автор - Mark Russmovich) И никакая система безопасности Windows NT туг не поможет, ну кроме злобного сисадмина, который с дубинкой дежурил бы рядом. Но, естественно, нужен дисковод. Если его нет, а такое может быть, или он каким-то образом вам не доступен, и такое может быть тоже, знать не судьба - надо искать другой способ.

А если вдруг объектом вашего внимания стала машина, находящаяся на госпредприятии или на предприятии, на котором размещен госзаказ, то можно однозначно определить, что используемая там система шифрования - "Верба-OW" (http://www.security.iu), которая сертифицирована ФАПСИ Конечно, это может быть и не эта система шифрования, но обязательно сертифицированная ФАПСИ. А таких систем не так уж много. Да и список таких систем можно легко узнать, так как нет лучшей рекламы для продажи, чем сертификат ФАПСИ.

В том случае, если информация зашифрована с помощью какой-либо программы, то самый простой способ - это найти ключ, способ потруднее - его отгадать. А вот если установлено аппаратное шифрование, то тут без ключа никак не обойтись. Ключ может быть программный, выносной (на внешнем носителе) и комбинированный. У нас в России распространены шифрующие контроллеры дисков серии КРИПТОН, имеющие сертификат ФАПСИ.

Если вам удалось получить физический доступ к информации на машине, то вы приступаете к следующей стадии взлома системы, а именно получению паролей пользователей системы и/или прав администратора. Существует такой файл SAM, в нем хранятся учетные записи пользователей и их пароли. Получить к нему доступ возможно, загрузившись с дискеты и скопировав этот файл. Сам файл располагается в каталоге WINNT\SYSTEM32\CONFIG\. Когда Windows NT запущена и работает, доступ к файлу SAM, который располагается в директории WINNT\SYSTEM32\CONFIG\, имеет только администратор, но файл можно скопировать, загрузившись с системной дискеты.

Если вам удалось заполучить файл SAM, то для взлома вы можете использовать программу L0phtCrack. Найти ее возможно в поисковой системе Rambler.ru или AltaVista. Ниже приведено более подробное описание данной программы.

Для того чтобы избежать просмотра паролей, их подвергают хешированию. Но, как известно, что зашифровали, то расшифровать можно. Хотя хеширование имеет одну неприятность: для восстановления пароля надо перебрать все возможные значения. А, следовательно, существует пропорциональная зависимость между временем, требуемым для дехеширования, длиной пароля и количеством применяемых символов.

Стандартно программы ограничивают длину пароля до 13-16 символов, хотя Windows NT поддерживает до 128 символов. Еще одна хитрость в том, что файл SAM содержит два хешированных представления одного и того же пользовательского пароля, полученные с помощью разных алгоритмов. Один из них - в стандарте Windows NT, другой - в стандарте LAN Manager. Вообще стандарт LAN Manager применяют для того, чтобы добиться совмещения с другими ОС, установленными на рабочих станциях, например: Windows 3.11 for Workgroups и Windows 95/98. Вот то, о чем мы писали выше: всевозможные достоинства можно обратить в недостатки: ведь хешированный пароль стандарта LAN Manager слабо устойчив к взлому, так как каждая из двух половин 14-байтового символьного пароля хэшируется независимо, а результаты затем соединяются. Таким образом, вычисление 14-байтового пароля эквивалентно взлому двух 7-байтовых паролей, что значительно сокращает число возможных комбинаций для перебора. По этой причине, если вы будете взламывать пароль, то сначала займитесь паролем, захэшированным по стандарту LAN Manager.

Существующая программа L0phtCrack, работающая на Pentium II-450, может вскрыть пароль любой длины примерно за трое суток. Обычно администраторы защищаются с помощью утилиты SYSKEY, входящей в состав Service Pack 3. SYSKEY позволяет дополнительно зашифровать данные в SAM, после чего программы извлечения и восстановления паролей не смогут корректно обрабатывать информацию из этого файла.

Это надо учитывать Но помните - все течёт, все изменяется, и последняя версия программы L0phtCrack позволяет пробить и дополнительное шифрование этой утилиты.

Взлом SAM файла. Рассмотрим взлом SAM файла более подробнее, углубимся в детали: Итак, как было сказано ранее, информация обо всех пользователях Windows NT/ 2000 и их паролях хранится в базе данных системы (registry), которая физически расположена с файле %SystemRoot%\SYSTEM32\CONFIG\SAM- базе данных безопасности систем. Данный файл является по умолчанию - заблокированным, т.к. используется прочими компонентами системы. Поэтому вам не удастся напрямую скопировать этот файл. Однако, если администратор системы регулярно выполняет операцию создания диска ERD (Emergency Repair Disk), то относительно свежая копия данного файла содержится в директории %SystemRoot%\REPAIR\. Но если администратор системы не выполнял данную операцию, то полученная база будет содержать пользователей Administrator и Guest, с паролями присвоенными во время инсталляции операционной системы. Пароли в данном файле хранятся в 16- байтпом значении, зашифрованном (в кодировке UNICODE) с использованием хэш-алгоритма MD4. Поэтому для взлома паролей Windows NT/2000, вам необходимо выделить из базы данных безопасности системы имя пользователя и соответствующее ему хэш-значение. Данная процедура может быть выполнена с использованием программного обеспечения, доступного через Internet и которое описано ниже.

L0phtCrack. Программа L0phtCrack позволяет вычислять пароли, используя два различных метода. При использовании первого метода применяется поисковая словарная таблица, которую определяет специальный файл словаря. Хешированные пароли для всех слов в файле словаря уже являются вычисленными и сравниваются со всеми паролями для пользователей данной SAM. Когда имеется соответствие - пароль известен. Этот метод чрезвычайно быстр. Тысячи пользователей могут быть проверены при помощи 300 КБ файла словаря всего за несколько минут на обычном PII. Недостаток этого метода состоит в том, что при помощи словаря можно определить только очень простые пароли, которые существуют в английском языке (словарный запас которого не превышает 100 тыс. слов).

Для открытия словаря word-english вам необходимо выполнить команду "File" (Файл) ->"Open Wordlist File" (Открыть словарь).

Второй метод использует последовательный перебор набора символов типа A-Z или A-Z и 0-9 (и также других наборов) и вычисляет хеш для каждого возможного пароля для этих символов. Единственный недостаток данного метода - время. Данный метод использует интенсивный перебор значений, что требует больших вычислительных мощностей. Чем больший набор символов вы указали в меню "Tools" (Сервис) -> "Options" (Параметры), тем дольше времени требуется для перебора всех значений.

Набор символов A-Z требует приблизительно 7 часов вычислений на 600 герцовых процессорах PIII или Athlon. Представьте себе, что через каких- нибудь 7 часов вы будете иметь ключи от системы, и будете эдаким маленьким богом, местного значения или не местного, как повезет.

Набор A-Z и 0-9 требует приблизительно трое суток.

Однако программа L0phtCrack разработана с учетом возможности интенсивных и долговременных вычислений и может использовать преимущества многопроцессорных систем. Если вы не хотите, чтобы программа присутствовала в панели задач, выберите в меню "Window" (Окно) -> "Hide, Ctrl+Alt+L to Show" (Спрятать, для вывода на экран нажмите Ctrl+Alt+L). При запуске данной программы на многопроцессорном сервере, она будет выполняться низким приоритетом, используя вычислительные возможности неактивного центрального процессора. Программа регулярно, через каждые пять минут, сохраняет результаты вычислений, что позволяет восстанавливать состояние вычислений в случаях отключения питания или перезагрузок.

Открытие файла, с которым программа работала до перезагрузки можно из меню "File" (Файл) -> "Open Password File" (Открыть файл паролей).

Инсталляция. Для инсталляции просто разархивируйте дистрибутивный архив в любой каталог на жестком диске. Создайте ярлык к программе L0phtcrack.exe (или L0phtcrack95.exe для Windows 95/98). Кроме того, если вы физически подключены к данной локальной сети и используете Windows NT 4.0 (или Window 2000), вы можете использовать сетевой sniffer readsmb.exe, при помощи которого можно получить пароли клиентских машин Windows 3.11/ 95/95 и MS-DOS Перед использованием сетевого sniffer'a необходимо предварительно установить сетевой NDIS-драйвер, который входит в дистрибутивный комплект. Этот драйвер может работать только поверх драйвера реально присутствующей в системе сетевой Ethernet-платы и использует протокол CSMA-CD. Для установки NDIS-драйвера откройте апплет "Network" (Сеть) в панели управления. На вкладке "Protocols" (Протоколы) нажмите кнопку "Add" (Добавить). Затем нажмите кнопку "Have Disk" (Установить с диска) и определите каталог, в который вы установили L0phtCrack и в котором находится файл Oemsetup.inf файл. После перезагрузки вы сможете использовать сетевой sniffer readsmb.exe, для перехвата паролей клиентских машин Windows.

Получение кешированных паролей. Перед вычислением паролей необходимо получить доступ к хешированным паролям. Существуют три основных метода получения хешированных паролей: непосредственно из системного реестра, из файла SAM или при помощи сетевого sniffer'a.

Получение хешированных паролей непосредственно из реестра. Если вы обладаете административными привилегиями, вы можете получить хешированные пароли, используя команду "Tools" (Сервис) -> "Dump Password from Registry" (Получить дамп пароля из реестра). Для этого укажите имя компьютера или адрес IP в формате \\Computer_name или \\IP-address.

Однако сервер Windows NT/2000 может запретить попытку доступа к системному реестру по сети, если сконфигурирован надлежащим образом.

Кроме того, если версия Windows NT/2000 локализована, для группы "Administrator" используется переведенное на другой язык слово, например для русского языка "Администратор". Для того, чтобы программа L0phtCrack корректно обратилась к дампу системного реестра удаленного компьютера, вам необходимо изменить ключ системного реестра на вашем локальном компьютере. Для этого запустите программу regedit.exe и отредактируйте значение ключа НКЕY_CURRENT_USER\Software\LHI\L0phtCrack\AdminGroupName.

Присвойте значению этого ключа название группы "Administrator" для локализованной версии Windows NT (2000).

Получение хешированных паролей из файла SAM. Вы можете получить хешированные пароли из файла SAM на жестком диске, с резервной ленты или дискеты ERD (Emergency Repair Disk). Системный реестр NT фактически сохранен в нескольких различных файлах на системном диске в каталоге %SystemRoot%\SYSTEM32\CONFlG\. Если вы имеете физический доступ в компьютеру с установленной операционной системой Windows NT/2000, вы можете загрузить машину при помощи системной дискеты DOS и использовать программу типа NTFSDOS (http:// www.ntmternals.com/ntfs20r) чтобы скопировать файл SAM на гибкий диск. Затем вы можете использовать команду программы L0phtCrack "Import SAM File" (Импорт SAM-файла), которая расположена в меню "File" (Файл) чтобы извлечь хешированный пароль из файла SAM. Если вы работаете с компьютером Windows NT (2000) удаленно, то вам остается только воспользоваться резервной копией базы SAM, которая хранится в каталоге %SystemRoot%\REPAIR\. Кроме того, если у вас имеется возможность получить доступ к кассетам стримера, на который производится ежедневный backup или к дискетам ERD, то вы можете скопировать файл SAM оттуда. Если вам удалось использовать дискету ERD, скопируйте оттуда сжатый файл sam._ и затем выполните команду:

EXPAND SAM._ SAM

Затем разжатый файл sam._ может импортироваться в L0phtCrack.

Однако, если администратор системы установил Service Pack 3 for NT 4.0 и использует утилиту SYSKEY для дополнительной криптоустойчивой шифрации файлов реестра, то программа L0phtCrack (это справедливо для версий более ранних, чем L0phtCrack 2.5) не сможет произвести импорт файла SAM

Использование сетевого sniffer'a для получения для получения хешированных паролей. Если администратор системы использует утилиту SYSKEY, и вам отказано в доступе к системному реестру по сети, имеется третий метод для получения хешированных паролей. Для этого используется сетевой sniffer, который выполняет прослушивание и отбор пакетов для всех устройств в физическом сегменте Ethernet-сети. Сетевой sniffer, включенный с L0phtCrack, реализован в виде файла readsmb.exe, который работает только в Windows NT 4.0 (в последней версии программы реализован сетевой sniffer для Windows 95/98).

Для запуска сетевого sniffer'a следует использовать команду:

READSMB > PASSWD

Как вы видите изданной команды, вся информация, полученная сетевым sniffer'oм будет перенаправляться в текстовый файл passwd. Для сбора всех хешированных паролей пользователя достаточно запустить sniffer один раз утром, в период времени, когда большинство пользователей приходит на работу и производит регистрацию в сети. Затем вы можете прервать работу этой программы и открыть файл passwd в L0phtCrack.

Для включения режима отладки sniffer'a используйте команду -v:

READSMB -V

На медленных машинах -v опция может приводить к тому, что readsmb будет пропускать некоторые пакеты, так что эта опция действительна только для отладки и исследования.

Выделение паролей из хеша. После того, как вы получили набор хешированных паролей, и загрузили их в программу L0phtCrack, а также открыли словарь word-english, вы можете приступить к вычислению настоящих текстовых паролей. Для начала этой операции выполните команду "Run" (Запуск) из меню "Tools" (Сервис). Опции, установленные в диалоговом окне "Tools Options" по умолчанию, определяют, что сначала будет произведено вычисление паролей при помощи словаря word-english. Затем будет производится определение паролей при помощи последовательного перебора заданных значений, что требует уже более длительного времени. L0phtCrack сохраняет состояни

Сайт создан в системе uCoz