Внимание! Данная программа может использоваться исключительно для восстановления своих собственных забытых паролей!
Программа SAMInside выполняет следующие функции:
- Получение информации о пользователях из SAM-файлов Windows NT/2000/XP/2003.
- Восстановление паролей пользователей из SAM-файлов операционной системы Windows NT.
- Восстановление паролей пользователей из SAM-файлов операционных систем Windows 2000/XP/2003, зашифрованных системным ключом Syskey!
SAMInside является первой в мире программой, которая ломает защиту ключом Syskey!
SAMInside осуществляет перебор паролей гораздо быстрее, чем аналогичные программы.
Это связано с тем, что код перебора программы полностью написан на языке
Assembler и проведена его тщательная оптимизация для современных
процессоров.
Скорость перебора паролей программы SAMInside на разных процессорах:
Процессор |
Скорость перебора по LMHash |
Скорость перебора по NTHash |
Intel Pentium-III 1000 МГц | ~3,2 миллиона паролей/cек | ~3,3 миллиона паролей/cек |
AMD AthlonXP 1700+ (1466 МГц) | ~5,7 миллиона паролей/cек | ~5,1 миллиона паролей/cек |
Intel Pentium-4 2500 МГц | ~3,7 миллиона паролей/cек | ~5,4 миллиона паролей/cек |
Причем, при переборе по NTHash, если перебирается один пользователь, скорость возрастает на
60-100% и, к примеру, на Athlon XP 1700+ составляет 10 миллионов паролей/cек.
Еще одним характерным отличием
программы от своих аналогов является то, что она
наиболее правильно и корректно извлекает имена и
пароли пользователей из SAM-файлов Windows NT/2000/XP/2003 в национальных
кодировках символов.
Программа работает под всеми
операционными системами Windows (от Windows 95 до Windows 2003) и требует для работы
любой процессор линейки x86 не ниже Intel Pentium (или AMD K6-II),
обязательно с поддержкой MMX.
Меню "File":
"Import SAM-file..." (Ctrl+O) - открыть и загрузить в программу нужный SAM-файл.
Если SAM-файл получен из системы Windows NT/2000/XP/2003 и зашифрован ключом SYSKEY (а
в системах Windows 2000/XP/2003 шифрование включено принудительно),
то программа дополнительно запросит открыть SYSTEM-файл, располагающийся в
той же директории Windows, что и SAM-файл, а именно - в каталоге %SystemRoot%\System32\Config.
Также копии этих файлов могут находиться в каталогах %SystemRoot%\Repair и %SystemRoot%\Repair\RegBack.
"Import PWDUMP-file... - открыть и загрузить в программу текстовый файл с хэшами в
формате программы PWDUMP. Общепризнанный формат хэшей в этих файлах такой:
Имя_пользователя:RID:LMHash:NTHash:Описание_учетной_записи::
например:
BillG:1010:5ECD9236D21095CE7584248B8D2C9F9E:C04EB42B9F5B114C86921C4163AEB5B1:::
Также информацию о пользователях в этом формате сохраняют и другие программы, например LC4.
"Import local machine SAM" - импорт хэшей из SAM-файла с локального
компьютера. Для выполнения операций из этого меню программу нужно запустить от имени
пользователя с правами Администратора.
"Using LSASS" - импорт локальных хэшей используя подключение к процессу LSASS.
"Using Scheduler" - импорт локальных хэшей с использованием
системной утилиты Scheduler, имеющей права пользователя SYSTEM.
"Export to PWDUMP-file..." (Ctrl+S) - экспорт полученных данных в формат программы PWDUMP (этот
формат описан выше). После этого вы можете загружать полученный файл
в любую удобную для вас программу для восстановления паролей.
Меню "Edit":
"Mark all users" (Alt+M) - отметить всех пользователей.
При этом помечаются только те пользователи, пароли к которым еще не найдены.
"Unmark all users" (Alt+U) - снять отметку со всех пользователей.
"Delete all users" (F12) - удалить всех пользователей с
хэшами, которые загружены в программу.
Меню "Tools":
"Check password" (F2) - проверить пароль на всех
пользователях, загруженных в программу.
В текстовом поле "Password:" введите нужный пароль
и выберите этот пункт меню (или нажмите F2). После этого программа проверит данный
пароль на всех пользователях, пароль к которым еще не найден. Таким
образом, для проверки пароля не нужно отмечать пользователей.
"Generate LMHash and NTHash..." (F3) - генерировать LM-хэш и NT-хэш
по известному паролю. В текстовом поле "Password:" введите нужный пароль
и выберите этот пункт меню (или нажмите F3).
После этого в диалоговом окне появятся хэши, которые соответствуют данному паролю.
"Hidden mode" (Ctrl+Alt+H) - "Скрытый режим" работы программы.
При выборе этого режима программа исчезнет с экрана и с панели задач. Для возврата
из скрытого режима нажмите эту же комбинацию клавиш.
"Language" - выбрать язык интерфейса программы. В этом меню находится
список всех Language-файлов, найденных программой в своей рабочей директории.
Меню "Search":
"Brute-force attack" - атака полным перебором.
"Start(Stop) on LM Hashes" (F5) - начать/остановить полный перебор по LM-хэшам.
Перед запуском перебора отметьте тех пользователей, к которым нужно восстановить пароли, и нажмите F5.
"Start(Stop) on NT Hashes" (F6) - начать/остановить полный перебор по NT-хэшам.
Перед запуском перебора отметьте тех пользователей, к которым нужно восстановить пароли, и нажмите F6.
"Options..." - настройки полного перебора, которые
позволяют выбрать наборы символов для перебора, а также установить минимальную и максимальную
длину восстанавливаемых паролей.
"Mask attack" - перебор по маске (пункты из
этого меню недоступны в Demo-версии программы).
"Start(Stop) on LM Hashes" (F7) - начать/остановить перебор по маске по LM-хэшам. Перед
запуском перебора отметьте тех пользователей, к которым нужно восстановить пароли, и нажмите F7.
"Start(Stop) on NT Hashes" (F8) - начать/остановить перебор по маске по NT-хэшам. Перед
запуском перебора отметьте тех пользователей, к которым нужно восстановить пароли, и нажмите F8.
"Options..." - настройки перебора по маске, которые
позволяют сформировать маску для перебираемых паролей, а также установить максимальную
длину перебираемых паролей. Установка маски заключается в следующем - если вы не знаете N-й символ пароля, то
включите N-й флажок маски и в соответствующем текстовом поле укажите маску для этого символа.
В программе используются следующие маски:
? - Любой печатаемый символ (коды символов: 32...255).
A - Любая заглавная латинская буква (A...Z).
a - Любая строчная латинская буква (a...z).
S - Любой специальный символ (!@#...).
N - Любая цифра (0...9).
X - Любой символ из пользовательского набора символов.
Если же вы заранее знаете определенный символ пароля, то впишите его в N-е текстовое поле и снимите флажок маски.
"Dictionary attack" - перебор по словарю.
"Start(Stop)" (F9) - атака по словарю. Для работы просто выберите текстовый файл словаря
и программа начнет проверять каждый пароль из словаря на всех пользователях, пароль к которым еще не найден.
Дополнительная информация:
- В нижней левой части окна программы расположено текстовое поле "Password:" для:
- установки начального пароля для перебора;
- ввода пароля для его проверки и формирования хэшей;
- отображения текущего перебираемого пароля.
- В процессе работы программа выводит скорость перебора паролей в виде:
N * X p/s, где N - количество пользователей, к которым
одновременно подбирается пароль, а X - скорость перебора для одного пользователя.
- Если при выходе из программы перебор не был остановлен, то при следующем
запуске программа автоматически продолжит нужный перебор с последнего обработанного пароля.
- Программа поддерживает сортировку по возрастанию загруженных данных, для этого кликните
левой кнопкой мыши на заголовок столбца, который нужно отсортировать.
Ограничения программы:
- Максимальная длина восстанавливаемого пароля по LMHash при атаке полным перебором и атаке по маске - 14 символов.
- Максимальная длина восстанавливаемого пароля по NTHash при атаке полным перебором и атаке по маске - 32 символа.
- Максимальная длина восстанавливаемого пароля при атаке по словарю - 128 символов.
- Максимальная длина пароля в текстовом поле "Password:" - 128 символов.
- Максимальное количество пользователей, с которыми работает программа - 8192.
- Нельзя использовать другой алфавит для перебора (цифры, национальные символы и пр.), кроме заглавных латинских букв.
- Недоступен перебор по маске.
Q1: Что такое SAM-файлы, зачем они нужны и где они расположены?
A: Так называемый SAM-файл - это файл, который прямо так и называется - sam. Это фактически ветка
реестра "HKEY_LOCAL_MACHINE\SAM" Windows NT/2000/XP/2003 в бинарном виде. SAM-файл расположен
в каталоге C:\WINNT\System32\Config\ (или в каталоге C:\WINDOWS\System32\Config\) и в нем находятся
аккаунты (т.е. логин/пароль) пользователей данного компьютера.
Q2: Я указываю программе для перебора свой SAM-файл, расположенный в каталоге C:\WINNT\System32\Config\,
а программа SAMInside не может его прочитать. Почему?
A: Дело в том, что файлы в этом каталоге (sam, system, software и другие файлы
без расширений) - это фрагменты реестра Windows и операционная система по умолчанию никому
не дает к ним доступа, даже на чтение. Получить к ним доступ можно следующими способами:
- Запустить SAMInside из-под аккаунта Администратора и произвести импорт локального SAM-файла,
используя либо программу Scheduler, либо используя подключение к LSASS.
- Из-под аккаунта Администратора запустить "Мастер архивации и восстановления" (Панель управления ->
Администрирование -> Управление компьютером) и создать диск аварийного восстановления (Repair disk). При этом
в каталоге C:\WINNT\Repair\ будет сохранены копии текущих SAM/SYSTEM-файлов, к которым есть доступ и которые можно загружать в SAMInside.
- Если ваш загрузочный диск имеет файловую систему не NTFS, то создайте загрузочную дискету из-под
ОС Windows 98, загрузитесь с нее и скопируйте нужные SAM/STYSTEM-файлы в другой каталог или на дискету. Затем
загружайтесь в свою ОС и импортируйте эти файлы в SAMInside.
- Если ваш загрузочный диск имеет файловую систему NTFS, то создайте загрузочную дискету в программе
NTFSDos Pro, загрузитесь с нее, примонтируйте нужный NTFS-раздел и скопируйте нужные SAM/SYSTEM-файлы в другой
каталог или на дискету.
- Т.к. размер SYSTEM-файла обычно составляет несколько мегабайт, то для его сжатия (если вы копируете
на дискету) используйте любой DOS-архиватор, например HA:
- Добавление SYSTEM-файла в архив: ha.exe a system.ha system
- Извлечения SYSTEM-файла из архива: ha.exe e system.ha
Q3: В чем разница между LM- и NT-паролями? Я нашел с помощью вашей программы LM-пароль "ADMIN",
а NT-пароль - "Admin". Какой из них мне использовать для входа в систему?
A: Подробно о формировании этих паролей и об отличиях между ними вы можете прочитать в
данной статье в
разделе "Хранение паролей в Windows 2000/XP". А если кратко, то для Windows LM- и NT-пароли равнозначны и в данном
случае вы войдете в систему с любым паролем - "ADMIN", "Admin", "aDmIn" или "admin", т.к. если в системе
включено формирование LM-паролей, то проверка происходит по LM-хэшу, а при его формировании любой
пароль переводится в верхний регистр и все вышеприведенные пароли будут давать одинаковый LM-хэш.
Если же формирование LM-хэша отключено, тогда для входа в систему используется регистрозависимый
NT-пароль.
Q4: У меня пароль 8(9,10...) символов, но при попытке установить начальный пароль
больше 7 символов не запускается LM-перебор, либо программа заканчивает перебирать
все 7-символьные пароли и выдает, что перебор закончен. Почему? Ведь у меня пароль длиннее?
A: Немного о формировании LMHash в Windows. Система берет пароль,
преобразует его в верхний регистр, обрезает до 14 символов,
затем делит его на 2 половинки по 7 символов и шифрует по отдельности.
Поэтому, при поиске пароля (к примеру, "123456789") программа находит
его по половинкам - сначала "89" (так как она короче), а затем - и
"1234567". Поэтому длина начального пароля и ограничена 7 символами.
Q5: У меня короткий NT-пароль (LM-пароль отсутствует), состоящий из латинских букв, но
программа его не находит, почему? (Примечание: алфавит состоит из заглавных букв).
A: Дело в том, что Windows всегда преобразует LM-пароль в верхний регистр
(т.е. при шифровании паролей "Admin", "ADMIN" и "aDmIn" на выходе будет один и тот же LMHash,
можете проверить это, используя функцию программы по генерации хэшей),
а NT-пароль является регистрозависимым и перечисленные выше пароли будут иметь разные
NTHash. Поэтому, при восстановлении NT-пароля нужно использовать разные алфавиты,
состоящие как из заглавных, так и из строчных символов нужного алфавита!
Q6: При импорте локального SAM-файла методом "Using Scheduler" программа сообщает об ошибке "Can't open
temporary file!" почему?
A: Дело в том, что этот метод получает содержимое ветки реестра HKEY_LOCAL_MACHINE\SAM\SAM,
используя системную утилиту Scheduler, по умолчанию имеющую права пользователя SYSTEM. Но на некоторых
компьютерах доступ на чтение этой ветки реестра закрыт даже пользователю SYSTEM. Это делается
либо программами-твикерами, либо "ручными" настройками реестра ОС.
Для получения локальных хэшей вы можете также использовать другой метод, который применяется в
программе - "Using LSASS", либо используйте внешнюю утилиту PWDUMP или же
программы LC4/LC+4.
Либо воспользуйтесь следующими рекомендациями:
- Запустите программу regedt32.exe.
- Откройте раздел реестра HKEY_LOCAL_MACHINE.
- Для подраздела HKEY_LOCAL_MACHINE\SAM через пункт меню "Разрешения" установите
пользователю SYSTEM и своему аккаунту Администратора следующие права:
"Полный доступ" + "Чтение" (либо эти разрешения уже должны присутствовать и быть
"затененными", т.е. недоступными для изменения).
- Для подраздела HKEY_LOCAL_MACHINE\SAM\SAM
через пункт меню "Разрешения" также установите
пользователю SYSTEM права "Полный доступ" + "Чтение", для своего же
аккаунта Администратора достаточно будет прав на "Чтение".
- Запустите в командной строке консоли:
regedit.exe /E /A samexport.txt "HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account".
- Положите программу SAMDump.exe
и полученный файл samexport.txt в один каталог.
- Запустите:
SAMDump.exe >hashes.txt
- Загрузите полученный файл с хэшами hashes.txt в SAMInside.
- Внимание: данные действия с реестром
производите ОЧЕНЬ внимательно, т.к. неверная установка прав доступа может
привести к полной неработоспособности Windows.
Q7: При загрузке SAM-файла (или SYSTEM-файла) программа сообщает, что его формат неверный или он поврежден,
несмотря на то, что я копировал его из директории C:\WINDOWS\System32\Config. Почему я не могу загрузить свой файл в программу?
A: Такая ситуация возникает, если формат загружаемого вами файла неизвестен программе SAMInside.
В первую очередь посмотрите на сигнатуру (т.е. первые 4 байта) своего файла, она должна быть такая - 'regf'.
Если это не так, то, возможно, у вас произошла одна из следующих ситуаций:
- вы скопировали файл с EFS-диска (т.е. с диска, на котором
установлена Encrypting File System, поддерживающая шифрование файлов); в этом случае
ваши файлы зашифрованы и представляют собой псевдослучайный набор байтов, которые не могут использоваться
для получения нужных веток реестра.
- ваши файлы расположены на NTFS-диске и вы использовали для их копирования
программу, которая работает с ошибками; такая ситуация
часто происходит при использовании программы NTFSDos и ряда других программ, которые некорректно работают с NTFS 5.0 и выше,
поэтому для копирования файлов используйте более новые программы, например NTFSDos Pro.
Если же у вашего файла сигнатура правильная (т.е. он действительно является файлом реестра), но программа
не может его импортировать, то пришлите свой файл в службу поддержки для его анализа.
Q8: У меня работают оба метода получения локальных хэшей - и "Using Scheduler", и "Using LSASS".
Зачем тогда в программе присутствуют два этих метода одновременно?
A: Это сделано специально для того, что если один из этих методов не сработает (например, причина,
почему может не работать метод через программу Scheduler, описан выше) или же будет работать с ошибками,
то у вас всегда будет альтернативный способ получения локальных хэшей.
То есть, если не сработает один метод, используйте другой и наоборот.
Q9: Ваша программа восстановила пароль из SAM-файла, но когда я пытаюсь войти с ним в Windows, то ОС сообщает,
что пароль неверный! В чем дело?
A: В вашем случае происходит следующее - ваш компьютер подключен к сети, где присутствует сервер домена с
включенной службой Active Directory. В этом случае учетные записи пользователей
хранятся на сервере домена, а не в SAM-файле.
SAMInside же восстанавливает пароли только локальных учетных записей и хранящиеся на локальном компьютере.
Но если пользователь уже заходил в сеть, то его учётная запись кэшируется на локальном
компьютере (по умолчанию Windows 2000/XP кэшируют 10 последних вошедших пользователей
с их паролями). Для доступа к этим данным воспользуйтесь программой lsadump2.
- Увеличение скорости атаки полным перебором и атаки по маске как по LMHash, так и по NTHash.
- Увеличение функциональности программы.