Administrator: в поисках сокровищ
Перехват паролей, передаваемых по сети
Утилита lOphtcrack предназначена для подбора паролей NT, которая обычно используется для автономного взлома перехваченной базы данных паролей, т.е. без соединения с сервером. Такой подход позволяет, во-первых, не беспокоиться о возможной блокировке учетных записей при попытках подбора пароля, а во-вторых, организовать перебор сколь угодно большого количества вариантов. Получение файла паролей – довольно нетривиальная задача, поэтому этот вопрос, а также методы использования утилиты l0phtcrack более подробно будут рассмотрены в разделе "Взлом Паролей Nt".
В последних версиях l0phtcrack имеется функция SMB Packet Capture, которая ранее была реализована в виде отдельной утилиты readsmb. С использованием этой функции можно обойтись без перехвата файла паролей, а вместо этого прослушать локальный сегмент сети, перехватить запросы на регистрацию, которыми обмениваются системы NT, а затем выбрать из них информацию о зашифрованных паролях. Затем выполняется алгоритм расшифровки, обратный тому, который используется при шифровании паролей в системе NT (этот процесс и называется взломом – cracking). На рис. 5.2 показан пример использования функции SMP Packet Capture для перехвата пересылаемых по сети паролей для их последующего взлома самой утилитой lOphtcrack.
Некоторые читатели могут удивленно воскликнуть: ''Подождите. Разве в NT не реализован принцип аутентификации по запросу?" Это действительно так. В процессе аутентификации клиенты получают случайный запрос от сервера, который кодируется с помощью хэш-кода пароля пользователя в качестве ключа и в зашифрованном виде передается назад по сети. Затем сервер зашифровывает запрос с помощью своей собственной копии хэш-кода пароля пользователя (взятой из SAM-файла) и сравнивает его с полученным значением. Если значения совпадают, то процесс регистрации завершается успешно (более подробная информация о процессе аутентификации содержится в разделе Q102716 базы знаний). Значит, сам хэш-код пароля даже не передается по сети. Возникает вопрос: как в таком случае утилита l0phtcrack может его взломать?
Очень просто, путем подбора в лоб. Из заголовка пакета утилита l0phtcrack получает только сам запрос и запрос, закодированный с помощью хэш-кода пароля. Затем выполняется кодирование известного значения запроса с помощью случайно генерируемых строк и результат сравнивается с полученным зашифрованным значением запроса. Эта процедура повторяется до тех пор, пока не будет найдена случайная строка, для которой результаты окажутся идентичными. Из-за несовершенства алгоритма вычисления хэш-кода LM (на самом деле этот хэш-код состоит из трех фрагментов, которые можно атаковать независимо друг от друга), процесс подбора занимает гораздо меньше времени, чем кажется на первый взгляд. Более подробная информация об этом содержится по адресу http://www.10pht.com/10phtcrack/rant.html.
Эффективность утилиты l0phtcrack при ее совместном использовании с функцией SMP Packet Capture настолько высока, что любой, кто не пожалеет времени для наблюдения за сетью, гарантированно сможет получить статус администратора в течение нескольких дней. Вы замечаете, как неумолимо бежит время?
Даже если вы считаете, что вашу сеть защитит коммутируемая архитектура, не торопитесь с выводами. Например, взломщик может воспользоваться одним из методов социальной инженерии, описание которого можно найти в ответах на часто задаваемые вопросы (FAQ – Frequently Asked Questions) по использованию утилиты lOphtcrack (http://www.lOpht.com/lOphtcrack/faq.html).
Рис. 5.2. Функция SMP Packet Capture утилиты lOphtcrack позволяет перехватывать пересылаемые по сети NT запросы на регистрацию для их последующего взлома с помощью lOphtcrack. В данном примере видно несколько систем, у которых значение NT Hash представлено нулями. Это означает, что данные системы работают под управлением WIN 9x, которая не поддерживает алгоритма хэширования NT
Отправьте выбранной жертве почтовое сообщение (неважно, на личный адрес или же на общий адрес компании). В текст письма включите адрес URL в форме file:////ваш_компьютер/имя_совместно_ используемого_ресурса/сообщение.html. Как только получатель щелкнет на этом URL, его хэшированный пароль сразу же будет отправлен вам для аутентификации.
При знакомстве с технологиями, подобными протоколу ARP (см. главу 10), вы увидите, что коммутируемые сети на самом деле не обеспечивают надежную защиту против перехвата паролей.
Мастаки из LOpht даже умудрились смастерить утилиту, которая выуживает хэшированные пароли NT из потока данных, которыми обмениваются компьютеры при регистрации с использованием протокола РРТР (Point-to-Point Tunneling Protocol). В системе NT адаптированный вариант РРТР используется для организации частных виртуальных сетей (VPN – Virtual Private Network). Эта технология позволяет организовывать туннелирование потока данных для передачи информации по Internet с гарантированной защитой.
По адресу http://www.lOpht.com/IOphtcrack/donwload.html можно найти два анализатора сетевых пакетов: одна программа предназначена для работы в системе Solaris 2.4+ (написана LOpht), а вторая (ее автор – модератор бюллетеня Bugtrag, хакер Aleph One (Алеф Ван)) – в любой сети UNIX, в которой имеется библиотека перехвата пакетов libpcap. Кроме того, на этой же Web-странице имеется версия программы readsmb для UNIX, написанная Йоше Чангом (Jose Chung) из компании Basement Research.
Если каким-то образом вам удалось завладеть пользовательским хэш-кодом (скажем, в результате перехвата пакетов SMB или копирования базы данных SAM системы NT), то почему бы не передать этот хэш-код прямо в операционную систему клиента, которая, в свою очередь, сможет использовать его при ответе на запрос в процессе аутентификации. Таким образом взломщик может пройти процедуру регистрации на сервере даже без знания пароля в явной форме, а лишь обладая нужным хэш-кодом и именем пользователя. Такой подход позволяет сэкономить много времени и сил, затрачиваемых на извлечение хэш-кода с помощью перехвата SMB-пакетов.