- •Воронеж 2008
- •Воронеж 2008
- •Введение
- •1 Подбор пароля
- •1.1 Общие понятия парольной защиты
- •1.1.1 Парольная система
- •1.1.2 Методы подбора паролей
- •1.1.3 Методы количественной оценки стойкости паролей
- •1.2 Парольная защита операционных систем
- •1.2.1 Подбор паролей в ос Windows
- •1.2.1.1 База данных учетных записей пользователей
- •1.2.1.2 Хранение паролей пользователей
- •1.2.1.3 Использование пароля
- •1.2.1.4 Возможные атаки на базу данных sam
- •1.2.2 Подбор паролей в ос unix
- •1.3 Классификация и принцип работы программного обеспечения для подбора паролей
- •1.3.1 Подбор паролей в oc Windows
- •1.3.2 Подбор паролей в oc unix
- •1.3.3 Подбор паролей в архивах zip, rar и arj
- •1.3.4 Подбор паролей документов ms Office
- •1.3.5 Подбор паролей pdf документов
- •1.4 Противодействие подбору паролей
- •1.4.1 Требования к паролю
- •1.4.2 Правила назначения/изменения паролей
- •1.4.3 Требования к генерации паролей
- •1.4.4 Хранение пароля пользователем
- •1.4.5 Хранение паролей компьютерной системой
- •1.4.6 Противодействие попыткам подбора паролей
- •1.4.7 Защита Windows nt и Unix от подбора паролей
- •2.1.2 Протокол tcp
- •2.1.2.1 Функции протокола tcp
- •2.1.2.2 Базовая передача данных
- •2.1.2.3 Разделение каналов
- •2.1.2.4 Управление соединениями
- •2.1.2.5 Заголовок тср-сегмента
- •2.1.2.6 Состояния соединения
- •2.2 Основные методы, применяемые при сканировании портов
- •2.2.1 Методы сканирования tcp-портов
- •2.2.1.1 Методы открытого сканирования
- •2.2.1.1.1 Метод icmp-сканирования
- •2.2.1.1.2 Сканирование tcp-портов функцией connect()
- •2.2.1.1.3 Сканирование tcp-портов флагом syn
- •2.2.1.1.4 Сканирование tcp-портов флагом fin
- •2.2.1.1.5 Сканирование с использованием ip-фрагментации
- •2.2.1.1.6 Сканирование tcp-портов методом reverse-ident (обратной идентификации)
- •2.2.1.1.7 Сканирование Xmas
- •2.2.1.1.8 Null сканирование
- •2.2.1.2 Методы "невидимого" удаленного сканирования
- •2.2.1.2.1 Скрытая атака по ftp
- •2.2.1.2.2 Сканирование через proxy-сервер
- •2.2.1.2.3 Скрытное сканирование портов через системы с уязвимой генерацией ip id
- •2.2.1.2.3.1 Исторические предпосылки
- •2.2.1.2.3.2 Описание базового метода ip id сканирования
- •2.2.1.2.3.3 Исследование правил и обход брандмауэра при сканировании
- •2.2.1.2.3.4 Сканирование машин с приватными адресами
- •2.2.1.2.3.5 Использование ip id при сканирование udp сервисов за брандмауэром
- •2.2.2 Методы сканирования udp-портов
- •2.2.2.1 Сканирование udp-портов проверкой icmp-сообщения «Порт недостижим»
- •2.2.2.2 Сканирование udp-портов с использованием функций recvfrom() и write()
- •2.3.1 Сканирование портов в ос семейства Windows
- •2.3.2 Сканирование портов в ос семейства Unix
- •2.4 Защита от сканирования портов
- •3 Анализ сетевого трафика
- •3.1 Анализ сетевого трафика сети Internet
- •3.1.1 Ложные arp-ответы
- •3.1.2 Навязывание ложного маршрутизатора
- •3.1.3 Атака при конфигурировании хоста
- •3.1.4 Атака на протоколы маршрутизации
- •3.2 Протокол telnet
- •3.2.1 Протокол ftp
- •3.2.3 Программы анализаторы сетевого трафика (сниффиры)
- •3.2.4 Принцип работы сниффира
- •3.3 Методы противодействия сниффирам
- •3.3.1 Протокол ssl
- •3.3.2 Протокол skip
- •3.3.3 Устройство обеспечения безопасности локальной сети skipBridge
- •4 Внедрение ложного доверенного объекта
- •4.1 Особенности атаки «Внедрение ложного доверенного объекта»
- •4.2 Внедрение ложного объекта путем использования недостатков алгоритмов удаленного поиска
- •4.2.1.1 Протокол arp и алгоритм его работы
- •4.2.1.2 Техника выполнения arp-spoofing
- •4.2.1.3 Методы обнаружения
- •4.2.1.4 Методы противодействия
- •4.2.2.1 Принцип работы Domain Name System
- •4.2.2.2 Внедрение dns-сервера путем перехвата dns-запроса
- •4.2.2.3 «Шторм» ложных dns ответов на атакуемый хост
- •4.2.2.4 Перехват dns-запроса или создание направленного «шторма» ложных dns-ответов непосредственно на атакуемый dns-сервер
- •4.2.2.5 Обнаружение и защита от внедрения ложного dns-сервера
- •4.3.1.2 Внедрение ложного доверенного объекта путем навязывания ложного маршрута с помощью протокола icmp
- •4.3.1.3 Обнаружение и методы противодействия
- •5 Отказ в обслуживании
- •5.1 Модель DoS атаки
- •5.1.1 Отказ в обслуживании (DoS)
- •5.1.2 Распределенный отказ в обслуживании (dDoS)
- •5.2.1.1 Описание утилиты для реализации icmp – флуда и атаки Smurf
- •5.2.1.2 Реализация атаки icmp-flooding, на основе отправки icmp-пакетов
- •5.2.1.3 Реализация атаки Smurf
- •5.2.3 Низкоскоростные dos-атаки
- •5.2.3.1 Механизм таймаута tcp-стека
- •5.2.3.2 Моделирование и реализация атаки
- •5.2.3.2.1 Минимальная скорость DoS-атаки
- •5.2.3.3 Многопоточность и синхронизация потоков
- •5.2.3.5 Атаки в сети интернет
- •5.2.4 Syn атака
- •5.3 Анализ средств и методов сетевой защиты
- •5.3.1 Настройка tcp/ip стека
- •5.3.4 Межсетевые экраны (FireWall)
- •5.3.5 Системы обнаружения атак (ids)
- •5.3.6 Система Sink Holes
- •Заключение
- •Список информационных источников
- •394026 Воронеж, Московский просп., 14
1.3.2 Подбор паролей в oc unix
Подбор паролей в OC UNIX часто заключается в использовании процедуры, называемой автоматизированный подбор паролей с помощью словаря. Чаще всего этот метод подбора паролей используется именно при наличии локального доступа, поскольку злоумышленнику необходимо получить доступ к файлу /etc/passwd или файлу паролей /etc/shadow. Иногда злоумышленнику удается получить копию такого файла и при удаленном доступе (например, с использованием протоколов TFTP или HTTP).
Принцип программ для подбора паролей в ОС UNIX заключается в шифровании различных слов или случайным образом сгенерированного текста, и сравнения результатов с зашифрованным паролем, полученным из файла паролей. Если хэш-код зашифрованного пароля соответствует хэш-коду, сгенерированному программой подбора, значит, пароль успешно подобран. В качестве алгоритма хеширования используется стандарт DES — Data Encryption Standard. Таким образом, если хэш-код исходных данных, полученный путем применения заданного алгоритма, соответствует хэш-коду пароля определенного пользователя, значит, в качестве исходных данных использовался текст, являющийся паролем этого пользователя.
Из всего многообразия программ, предназначенных для взлома паролей, можно выделить Crack 5.0а Алека Маффета (Alec Muffett) и John the Ripper. Программа Crack 5.0a является одной из самых популярных программ для подбора паролей в ОС UNIX. Программа постоянно совершенствуется, а ее весьма обширный словарь, содержащий очень широкий спектр возможных паролей, постоянно пополняется. Crack 5.0а поддерживает возможность распределения вычислений, предназначенных для подбора пароля, на нескольких компьютерах. Программа John the Ripper, является более новой, чем Crack 5.0a. Ее отличительная особенность заключается в высокой степени оптимизации для подбора максимально возможного количества паролей за минимальное время. Кроме того, программа John the Ripper поддерживает больше алгоритмов хэширования, чем Crack 5.0a. Обе программы позволяют проверять не только слова, находящиеся в словаре, но и их модификации. По умолчанию в состав каждого из этих двух инструментов входит более 2400 правил, которые можно применить к словарю для подбора паролей
Программа Crack 5.0a. Для того чтобы запустить программу Crack 5.0a, достаточно указать, где находится файл паролей. Crack 5.0a является самокомпилирующейся программой, поэтому после запуска вызывается утилита make, которая собирает воедино все необходимые компоненты. Одной из сильных сторон программы Crack 5.0a является обширный набор правил создания различных словоформ и модификаций. Кроме того, при каждом запуске эта программа генерирует пользовательский список слов, в который включается такая информация, как имя пользователя, а также сведения, указанные в поле GECOS (комментарии). Очень часто в поле GECOS пользователи указывают свое полное имя и при этом выбирают пароль, который представляет собой некоторую комбинацию имени и фамилии или их частей. Программа Crack 5.0a очень легко справляется с такими несложными паролями. Ниже представлен типичный файл паролей, используемый в ОС UNIX:
root:cwIBREDaWLHmo:0:0:root:/root:/bin/bash bin:*:l:l:bin:/bin: daemon:*:2:2:daemon:/sbin: <other locked accounts omitted> nobody:*:9 9:9 9:Nobody:/: eric:GmTFgOAavFAOU:500:0: :/home/eric:/bin/csh samantha:XaDeasK8g8g3s:501:503: :/home/samantha:/bin/bash temp:kRWegG5iTZP5o:502:506: :/home/temp:/bin/bash hackme:nh.StBNcQnyE2:504:1: :/home/hackme:/bin/bash bob:9wynbWzXinBQ6:506:1::/home/bob:/bin/csh es:OxOH89TiymLcc:501:501::/home/es:/bin/bash mother:jxZdltcz3wW2Q:505:505: :/home/mother:/bin/bash jfr:kyzKROryhFDE2:506:506: :/home/jfr:/bin/bash
Для того чтобы запустить программу Crack 5.0a для подбора паролей, необходимо воспользоваться следующей командой.
[tsunamitt Crack passwd Crack 5.0a: The Password Cracker. (c) Alec Muffett System: Red Hat Linux 9 #1 EOT 2008 unknown <omitted for brevity> Crack: The dictionaries seem up to date... Crack: Sorting out and merging feedback, please be patient... Crack: Merging password files... Crack: Creating gecos-derived dictionaries mkgecosd: making non-permuted words dictionary mkgecosd: making permuted words dictionary Crack: launching: cracker -kill run/system.11324 Done
После этого, программа Crack 5.0a переходит к функционированию в фоновом режиме с сохранением результатов в базе данных. Для того чтобы обратиться к этой базе данных и узнать, какие пароли были подобраны, необходимо запустить утилиту Reporter.
[tsunami]# Reporter -quiet ---passwords cracked as of Sat 13:09:50 EOT --- Guessed eric [jenny] [passwd /bin/csh] Guessed hackme [hackme] [passwd /bin/bash] Guessed temp [temp] [passwd /bin/bash] Guessed es [eses] [passwd /bin/bash] Guessed jfr [solarisl] [passwd /bin/bash]
Если необходимо увидеть только пароли, подобранные к текущему моменту, необходимо запустить программу Reporter с параметром -quiet. При запуске утилиты без параметров на экран выводятся сведения об ошибках, предупреждения, а также сведения о заблокированных паролях. В комплект поставки программы Crack 5.0a входит еще и несколько полезных сценариев. Один из них — shadmrg. sv. Он предназначен для объединения файла паролей UNIX со скрытым файлом паролей, что позволяет получить один исходный файл, содержащий всю информацию, необходимую для подбора паролей. Еще одной интересной командой является команда make tidy, с помощью которой можно удалить остаточные учетные пользовательские записи и пароли после выполнения Crack 5.0a.
Если в системе установлены дополнительные средства обеспечения безопасности, то вероятнее, будут применяться алгоритмы MD5 и blowfish. Хэш-код пароля, полученный с помощью MD5, значительно длиннее хэш-кода DES и идентифицируется наличием символов $1 в качестве двух первых символов хэш-кода. Символы $2, содержащиеся в начале хэш-кода, информируют о том, что для хэширования использовался алгоритм blowfish. Для подбора паролей защищенных с помощью MD5 или blowfish, можно использовать программу John the Ripper.
John the Ripper — одна из лучших утилит подбора паролей, доступных в настоящее время. Программа John the Ripper является одной из самых быстрых утилит, и она очень проста в применении.
[shadow]# John passwd Loaded 9 passwords with 9 different salts (Standard DES [24/32 4K]) hackme (hackme) temp (temp) eses (es) jenny (eric) tlB (bob) guesses: 5 time: 0:00:04:26 (3) c/s: 16278 trying: pireth – StUACT
На вход утилиты John the Ripper при запуске подается файл паролей (passwd). Утилита самостоятельно определит применяемый алгоритм шифрования, в данном случае DES, а затем приступит к подбору паролей. Сначала будет использован файл словаря (password. 1st), а затем начнется процесс подбора паролей.