Вызывает невольную улыбку, когда средства взлома прикрываются тем, что они предназначены в помощь забывчивым пользователям, которые хотят вспомнить свой пароль. Мы же не станем лицемерить и поговорим о тех, кто "забыл" чужой пароль.
Самый лакомый кусочек для взломщика - это база Security Account Manager (SAM), в которой хранятся пароли всех пользователей системы. Чтобы злоумышленникам жизнь малиной не казалась, разработчики Windows хранят пароли не в открытом виде, а в захэшированном. Чтобы восстановить пароль из хэша, требуется вычисление хэшей по всем возможным паролям и сравнение их с уже имеющимся.
Существуют несколько способов для получения хэшей паролей: из файла SAM или его резервной копии, непосредственно из реестра операционной системы локального или удаленного компьютера. Файл SAM хранится в директории windows\system32\config и в реестре по пути HKEY_LOCAL_MACHINE\SAM. Резервная копия SAM, созданная при инсталляции операционной системы, находится в windows\repair. Чтобы утащить SAM с локальной машины, потребуется либо кратковременный доступ с правами администратора, либо загрузка со сменного носителя.
Затрагивая тему взлома SAM, нельзя не упомянуть об утилите Syskey, которая автоматически запускается при работе в Windows XP/2000 и дополнительно шифрует хэши паролей. Использование Syskey делает подбор паролей практически бесполезным, единственная возможность добиться успеха в этом деле - сделать дамп базы SAM, зайдя в систему с правами администратора.
Файл SAM, который находится в каталоге windows\system32\config, скопировать нельзя, поскольку он открыт системой и доступ к нему запрещен. А вот сделать его дамп программой pwdump2 можно. Скачать бесплатную утилиту можно с сайта www.atstake.com/research/lc/download.html (в zip занимает 46 Кб). Чтобы создать дамп SAM, потребуется запустить программку и указать в качестве параметра выходной файл, в который будет записываться информация (назовем его незатейливым именем dump.txt). Далее нам потребуется программа, которая способна подбирать пароли на основе дампа базы SAM. Для этих целей выберем русскоязычную бесплатную утилиту с характерным хакерским названием LC+4 - скачать можно отсюда: lcp.da.ru (в rar занимает 2,2 Мб). Выполнив импорт файла dump.txt, в этой программе можно будет осуществлять взлом, используя: гибридную атаку, атаку по словарю, атаку последовательным перебором. За описанием особенностей каждой из атак обращайтесь в справку LC+4, она тоже на русском.
Мы же остановимся на следующем: в базе SAM используются NT-хэш и LM-хэш. Последний нужен для поддержания совместимости (при работе в Сети) с престарелыми операционными системами типа Windows 9x/3.11 и является более уязвимым, чем NT-хэш. Причина в том, что при генерировании LM-хэша все буквы переводятся в верхний регистр и шифруются блоками по семь символов. Таким образом, первое - при подборе пароля регистр не имеет значения, а это существенно облегчает задачу; второе - подбор пароля из 14 символов фактически сводится к подбору двух 7-символьных паролей, что тоже является слабостью. Поскольку существует такая ситуация, то специализированные программы всегда предпочитают расправляться с более слабым LM-хэшем, оставляя NT-хэш нетронутым.
Указав необходимые настройки в LC+4 и выбрав (создав собственный) словарь, можно приступать к взлому или, как вежливо назвал это создатель программы, аудиту.
Если же с правами администратора совсем туго, и получить их даже на короткое время не представляется возможным, придется вспомнить о существовании резервной копии базы SAM в каталоге windows\repair. Как уже говорилось, она создается при установке системы, а поскольку при установке требуется ввести пароль администратора, то есть вероятность, что резервная копия SAM содержит интересующие нас сведения. Правда, администратор мог поменять пароль с тех пор или закрыть доступ к этой папке - это значит, что либо ему везет, либо он на самом деле толковый специалист. Но мы, как и все начинающие взломщики, будем уповать на тупость админа. В программе LC+4 есть возможность импорта файла SAM, после чего можно осуществлять подбор. К сожалению, этот метод хорош для операционных систем без включенной функции Syskey (Windows NT4 SP2 и ниже), в случае XP/2000 данный способ неэффективен.
Но не отчаивайтесь. Есть программа SAMInside, официальным сайтом которой является www.insidepro.com, где бесплатно можно скачать только demo-версию программы (подбирает пароли, набранные латиницей в верхнем регистре). Однако из достоверных источников известно, что в интернете доступна для скачивания и полная версия SAMInside, нужно только поискать. Заинтригованный читатель наверняка задастся вопросом - чем же замечательна эта софтина? Тем, что позволяет расшифровать SAM, даже защищенный Syskey, используя для этого файлы sam и system из папки windows\system32\config. В сумме они занимают где-то 3 Мб, так что файлы вполне можно утащить, загрузившись под другой операционной системой или с компакт-диска. Но CD должен быть не простой, а с программкой NTFSDOS, которая, как понятно из названия, позволяет из-под DOS обращаться к дискам с NTFS. Если же ваш админ совсем лопух, и на системном диске стоит FAT, то вполне достаточно DOS`а. В случае с NTFSDOS придется снова поискать в интернете бесплатный вариант, поскольку скачанная с официального сайта (www.sysinternals.com/ntw2k/ freeware/NTFSDOS.shtml) программа ограничена в возможностях работы с файлами на диске.
Если препятствовать загрузке с дискеты будет пароль в BIOS, то его можно успешно сбросить на несколько минут (время зависит от емкости конденсаторов), достав батарейку из материнской платы. Результатом станет сброс всех настроек BIOS на установленные по умолчанию. Вот, собственно, и все. Будем надеяться, знакомство даже со столь примитивными и простыми в применении методами взлома заставит компьютерщиков относиться к администрированию системы, как говорится, со всей строгостью закона.
Дмитрий БАРДИЯН,
[email protected]
Особенности работы pwdump
Метод pwdump2 использует для создания дампа паролей способ, называемый внедрением DLL. Его суть такова: один процесс (pwdump2.exe) вынуждает другой процесс (lsass.exe), используя его идентификатор процесса, загружать DLL (samdump.dll) и выполнять некоторый код из DLL в адресном пространстве другого процесса (lsass.exe). Загрузив samdump.dll в LSASS (Local Security Authority Subsystem), программа использует внутренний API Windows при обращении к хэшам паролей. Это означает, что она может получить хэши без дешифрования. Просто и со вкусом.
Метод, использующийся в программе pwdump2, был доработан для получения хэшей паролей не только с локальной, но и с удаленной машины в программе pwdump3/3e. В этом случае на удаленный компьютер копируются исполняемый файл службы и файл DLL. После копирования файлов на удаленном компьютере создается и запускается новая служба, выполняющая те же действия, что и программа pwdump2 на локальном компьютере. Для использования данного метода требуется обладать правами администратора на удаленной машине.
Чтобы не возникало проблем с именами пользователей, содержащими русские буквы, лучше использовать компоненты к pwdump2/3/3е, поставляемые вместе с LC+4 (каталог data в директории программы).
Комментарии
Приведенная информацию я бы сказал не до конца полная. Для сведения - в сентябре 2003 года появилась RainbowCrack - утилита для быстрого взлома Windows паролей. Выпущена утилита, которая взламывает 10 буквенный пароль в среднем за 74 секунды на Celeron 666MHz CPU с 256MB RAM.
А про защиту будет в следующем номере.
Первым делом надо заготовить 7 чистых дискет, желательно новых. На одной из них мы скопируем специальный драйвер сброса пароля, а шесть остальных будут загрузочными.
Чтобы скопировать драйвер сброса пароля на дискету, необходимо найти в сети программу Passware Kit 6.1 и пароль к ней. Инсталлируйте эту программу, затем кликните на пункт Passware в START-Program (ПУСК-Программы). Раскроется меню с набором программ, к которым ищут пароль. Нам нужен пункт Windows XP/2000/NT Key. Клик на этот пункт, возникнет окно с информацией, где нам предлагают вставить дискету для копирования на нее драйвера. Вставляем дискету, клик на клавишу Enter, по требованию программы вводим придуманный пароль, скажем “Vasya” (запоминаем его, так как он впоследствии понадобиться) и программа скопирует на дискету нужный драйвер. Затем приступаем к инсталляции загрузочных дискет. На сайте Microsoft есть дистрибутивы для создания загрузочных дискет всех видов Windows XP: с SP1, с SP2, без SP, с любым интерфейсом. У меня дистрибутив с SP1 и русским интерфейсом. Так лучше следить за сообщениями по мере загрузки, для тех, кто не очень дружит с английским. Порядок дальнейшей работы на других загрузочных дискетах, возможно, отличается от описанного мной, не проверял, не знаю.
Пронумеровываем шесть загрузочных дискет, вставляем №1 и перезагружаем компьютер.
Начнется копирование файлов системы, внизу в полосе информации появиться сообщение, что если имеется особый драйвер, нажать F6. Тут же нажимаем F6. На обращение нажать F2 не реагируем. По требованию системы, последовательно вставляем дискеты №2 и №3. Здесь ничего не надо делать. A вот при вводе дискеты №4 будьте внимательны. Копируются драйвера и появиться сообщение, что если необходимо ввести особый драйвер, нажать клавишу S. Нажимаем S и по требованию системы, вставляем дискету с драйвером сброса пароля. Нажимаем Enter, и на экране появиться рамочка с названием драйвера “Windows XP/2000/NT Key”. Нажимаем на Enter, подтверждая, что это именно то, что нам надо. Драйвер скопируется, и экран вернется в состояние ожидания нажатия еще раз на S или на OK (продолжение работы). Жмем OK и по требованию программы повторно вставляем дискету №4. Скопируются оставшиеся драйвера и, по требованию программы, вставляем дискету №5. Здесь ничего не делаем, а вот при установке дискеты №6 начинается самое интересное. Интерфейс будет на английском языке, поэтому будьте внимательны и не спешите.
Появится строка “Please enter XP/2000/NT Key access password……….
Please Enter when done”
Вам надо ввести пароль к дискете с драйвером, т.е. в нашем случае “Vasya”
Появиться строка “Please enter your selection 1….1.or 0 to quit
Нажимаем на клавишу 1
Появиться строка “Would you like to undo win………..key changes (y/n)
Жмем клавишу Y
Появиться строка “Set Local Administrator password to ‘12345’? (y/n)
Жмем клавишу Y
Система требует удалить дискету и перезагрузиться. Так и делаем.
Через некоторое время появится в центре небольшое окно Logon Failed
и для ввода нового пароля надо нажать OK или Reset
Нажимаем OK, и возникнет окно ввода пароля Администратора.
В верхней строчке введите первоначальный пароль, т.е. 12345
Ниже новый пароль (сами придумайте и больше не забывайте), еще ниже подтвердите новый пароль и жмите Enter.
Поздравляю! Вы, наконец, восстановили свои права на управление системой.