Где находится sam файл windows

HackWare.ru

Этичный хакинг и тестирование на проникновение, информационная безопасность

Как взломать пароль Windows

В этой статье мы узнаем, где в Windows хранится пароль пользователя, как извлечь данные для взлома пароля Windows, как раскрыть пароль пользователя и как их использовать даже без брут-форса.

Не каждый пользователь использует пароль на Windows — особенно редко пользователи устанавливают пароль на домашнем компьютере, за которым работает один человек. Но в условиях корпоративной сети или при использовании Windows в качестве сервера, пароль является обязательным. Ещё одно интересное свойство пароля пользователя Windows: если пользователь завёл онлайн учётную запись Microsoft, то хеш пароля всё равно хранится на локальном компьютере, но расшифрованный пароль подойдёт и для локального компьютера, и для онлайн сервисов Microsoft.

Где Windows хранит пароль входа пользователя?

Пароли пользователей Windows хранятся в кустах (hives) реестра Windows под названием SYSTEM и SAM в файлах:

  • C:/Windows/System32/config/SAM
  • C:/Windows/System32/config/SYSTEM

Вместо пароля в виде простого текста, Windows хранит хеши паролей. Эти хеши легко поддаются брут-форсу, но даже без взлома хеши паролей Windows можно использовать для сбора данных и выполнения атак.

Как получить хеши паролей Windows

Дамп хешей паролей Windows на работающем компьютере

На запущенной системе проблематично получить доступ к файлам C:/Windows/System32/config/SAM и C:/Windows/System32/config/SYSTEM, хотя это и возможно. Для сохранения копий этих файлов можно использовать утилиту reg, а именно следующие команды:

В некоторых инструкциях вместо SYSTEM сохраняют куст SECURITY — это ошибка, с кустами SECURITY и SAM восстановить хеш не удасться, нужны именно SYSTEM и SAM!

Хеш пароля также содержится в оперативной памяти, а именно в процессе Local Security Authority Process (lsass.exe). Этот процесс всегда запущен в работающей Windows и можно сделать его дамп (копию процесса в оперативной памяти сохранить на диск в виде файла). Для создания дампа можно использовать различные утилиты, в том числе две официальные:

Диспетчер задач уже имеется в каждой Windows, чтобы его открыть нажмите Win+r и наберите taskmgr, затем нажмите ENTER. Либо правой кнопкой мыши нажмите на панель задач (то есть на нижнюю полоску, где находятся часы, кнопка пуск и т. д.) и в контекстном меню выберите «Диспетчер задач».

В Диспетчере задач нажмите «Подробнее» и во вкладке «Процессы», в разделе «Процессы Windows» найдите Local Security Authority Process, нажмите на него правой кнопкой мыши и выберите в контекстном меню пункт «Создать файл дампа»:

Файл будет сохранён по пути C:\Users\ПОЛЬЗОВАТЕЛЬ\AppData\Local\Temp\lsass.DMP. У меня имя пользователя MiAl и путь до файла C:\Users\MiAl\AppData\Local\Temp\lsass.DMP.

Дамп хешей паролей Windows на выключенном компьютере

На выключенном компьютере для последующего извлечения пароля пользователя достаточно скопировать файлы:

  • C:/Windows/System32/config/SAM
  • C:/Windows/System32/config/SYSTEM

Эти же файлы можно найти в резервной копии Windows или в Shadow копии диска, либо скопировать загрузившись с Live системы.

Чем различаются хеши NTLM и NTLMv1/v2 и Net-NTLMv1/v2

Сейчас мы будем охотиться за хешем NTLM. В статье «Взлом сетевой аутентификации Windows» мы уже охотились за хешами NTLMv1 и NTLMv2, название которых довольно похоже.

Читайте также:  Как отобразить формат файла windows 10

На самом деле, NTLM и NTLMv1/v2 это довольно разные вещи. Хеш NTLM хранится и используется локально, а хеши NTLMv1/NTLMv2 используются для сетевой аутентификации и являются производными хеша NTLM. Используя любой из этих хешей можно расшифровать пароль пользователя Windows, но это разные алгоритмы шифрования/взлома.

Для атаки Pass-the-hash (мы рассмотрим её в этой статье) применим только хеш NTLM, а хеши NTLMv1/NTLMv2 не подходят.

Остался ещё один вопрос, что такое хеши Net-NTLMv1/v2. Хеши Net-NTLMv1/v2 это сокращённое название для хешей NTLMv1/v2, то есть NTLMv1/v2 и Net-NTLMv1/v2 это одно и то же. А NTLM это другое.

В этой статье мы будем извлекать, взламывать и эксплуатировать без взлома хеш NTLM.

Что такое mimikatz

Программа mimikatz хорошо известна за возможность извлекать пароли в виде простого текста, хеши, ПИН коды и тикеты kerberos из памяти. mimikatz также может выполнять атаки pass-the-hash, pass-the-ticket или строить Golden тикеты.

В этой инструкции мы рассмотрим только способность mimikatz извлекать хеши NTLM. Помните, у mimikatz есть и другие очень интересные функции — посмотрите, какая у неё обширная справка: https://kali.tools/?p=5342

Имеются реализации mimikatz в Meterpreter & Metasploit, DLL reflection в PowerShell и других продуктах. В принципе, mimikatz можно запускать в Wine на Linux, но не будут работать функции, связанные с извлечением данных непосредственно из Windows; функции извлечения хешей из дампов или расшифровки из файлов реестра должны работать в Linux.

Как установить mimikatz в Windows

mimikatz — это портативная утилита командной строки. То есть установка не требуется, но нужно уметь запустить, если вы не очень знакомы с командной строкой.

1. Перейдите на страницу https://github.com/gentilkiwi/mimikatz/releases, скачайте файл mimikatz_trunk.7z или mimikatz_trunk.zip. Распакуйте скаченный архив.

2. Откройте PowerShell (Win+xWindows PowerShell (администратор)) или командную строку (Win+rcmd).

3. В командной строке с помощью команды cd перейдите в папку с исполнимым файлом mimikatz.exe. К примеру, архив распакован в папку C:\Users\MiAl\Downloads, тогда исполнимый файл будет в папке C:\Users\MiAl\Downloads\mimikatz_trunk\x64\:

4. Запустите исполнимый файл.

Как извлечь хеш пароля пользователя NTLM из файлов реестра

Следующие команды нужно выполнять в консоли mimikatz.

Команда log включает запись всего вывода в ФАЙЛ:

К примеру, для запуска всего вывода в файл hash.txt:

Я скопировал с выключенного компьютера файлы SYSTEM и SAM, теперь для извлечения хеша мне нужно запустить команду вида:

Пример моей команды:

Вывод довольно обширный и много не до конца понятных данных. Интерес представляют последовательно идущие строки вида:

В моём примере интересные строки:

Также есть строки с именами пользователей:

Но после них нет строк с хешем NTLM, поскольку у этих пользователей не установлен пароль в системе.

Если вы хотите извлечь данные из файлов реестра текущей операционной системы, то выходим из mimikatz, для этого нажмите Ctrl+c.

Теперь сделаем дамп кустов реестра SYSTEM и SAM текущей системы:

Вновь запускаем mimikatz:

Включаем ведение журнала:

И выполняем команду с указанием файлов, в которые сохранены дампы кустов реестра, то есть SystemBkup.hiv и SamBkup.hiv:

Здесь найден только один пользователь с хешем:

На самом деле, для извлечения хешей NTLM из локальной системы необязательно было делать дамп кустов реестра. Другой вариант — повысить привилегии самой программы mimikatz и извлечь хеши непосредственно из системы. Для этого выполните команды:

Читайте также:  Установка abbyy finereader linux

Извлечение хеша NTLM из дампа lsass.DMP

По логике (и на практике) в дампе процесса Local Security Authority Process должен быть хеш только пользователя, выполнившего вход с паролем.

Вначале укажите путь до файла дампа командой вида:

Затем выполните команду:

Брут-форс хеша NTLM

Для взлома я возьму следующий хеш:

Загляним в справку Hashcat, чтобы узнать номер режима хеша NTLM:

То есть номер хеша NTLM равен 1000.

Чтобы запустить атаку по маске для взлома NTLM в Hashcat нужно выполнить команду вида:

Пример моей реальной команды:

  • hashcat — имя исполнимого файла. В Windows это может быть hashcat64.exe.
  • —force — игнорировать предупреждения
  • —hwmon-temp-abort=100 — установка максимальной температуры, после которой будет прерван перебор, на 100 градусов Цельсия
  • -m 1000 — тип хеша NTLM
  • -D 1,2 — означает использовать для взлома и центральный процессор, и видеокарту
  • -a 3 — означает атаку по маске
  • -i — означает постепенно увеличивать количество символов в генерируемых паролях
  • —increment-min 1 — означает начать с длины маски равной единице
  • —increment-max 10 — означает закончить перебор при длине маске равный десяти
  • -1 ?l?d — пользовательский набор символов номер 1, в него включены маленькие латинские буквы (?l) и цифры (?d)
  • ca76a176340f0291e1cc8ea7277fc571 — хеш для взлома
  • ?1?1?1?1?1?1?1?1?1 — маска из пользовательского набора символов

Взломаем ещё один хеш:

Команда (другой хеш и другой набор пользовательских символов):

Итак, в этой статье мы научились извлекать хеш NTLM и взламывать пароль Windows. А что делать, если не удалось взломать NTLM? Ответ на этот вопрос смотрите во второй части, которая называется «Использование NTLM без взлома пароля: атака Pass-the-hash».

Утерян пароль на вход в Windows 10

Нужно проработать пошаговые действия для сброса пароля на установленную систему Windows 10 Pro amd64. Просто порой попадается, что придя на новое место работы коллектив просит сделать какую либо настройку и когда берешь ноутбук для ее выполнения сталкиваешься что никто (что очень странно) сразу же не знает пароль на вход. Я бы сказал, что это своего рода подстава. Просто он же лежит с ними в кабинете и получается без надобности и т. д.

Скачиваю образ Hiren’s.BootCD.15.2.iso на свою систему и через программу UltraISO записываю его на USB Flash носитель, затем в настройках BIOS ноутбука или стационарного ПК выставляю что первым следует загрузиться с USB, а уже потом с HDD.

Выбираю меню загрузки, как «Mini Windows XP» (Это LiveCD образ операционной системы плюс набор дополнительных программ которые нужны каждому системному администратору если он хочет быть системным администратором).

Итак система загрузилась, перехожу:

Start — Programs — и запускаю «HBCD Menu», затем щелкаю на элемент Programs и выбираю подменю «Passwords/Keys» — Windows LoginNTPWedit (Reset XP/Vista/7 User Password) следом запуститься программа, по умолчанию она выглядит так:

Здесь в этой программе следует поменять путь до файла SAM где хранятся логины и пароли установленные в системе Windows 10, а узнать какой путь правильный можно следующим образом:

Start — Run — explorer.exe — перехожу на каталог в левой части окна именуемый как «Desktop» — «My Computer» — и вижу все логические диски системы которые определил LiveCD, из списка понятно, что системный диск без загрузки с LiveCD это логический диск D: на котором и установлена операционная система:

Читайте также:  Описание новой версии windows

Зная это изменяю путь до файла SAM, получается и сразу же программа выводит весь список учетных записей присутствующих в системе:

Чтобы поменять пароль на учетную запись с логином ekzorchik нужно выделить ее и нажать на сделавшуюся активной кнопку «Unlock» → «Change password», затем указываю новый пароль к примеру:

  • New password: Aa1234567
  • Verify: Aa1234567

и нажимаю кнопку OK, затем сохраняю внесенные изменения в базу SAM нажатием на кнопку Save changes и Exit.

Закрываю все открытые окна, вынимаю USB носитель из ноутбука/компьютера и отправляю систему находящуюся сейчас в загрузке, как LiveCD в перезагрузку:

Start — Shut Down —

What do you want the computer to do? Выбираю Restart и нажимаю кнопку OK.
Когда система загрузится и остановится на этапе авторизации авторизуюсь с новыми идентификационными данными:

и я успешно авторизуюсь с новым паролем в системе. Итого все выше указанное полностью работоспособно.

Запись на USB накопитель установочный образ Windows системы, пусть это будет Windows 10 Pro x64 Rus, впрочем это не имеет какого либо значения и в момент когда компьютер/ноутбук будет грузиться с него выбрать на этапе мастера «Установка Windows»

  • Устанавливаемый язык: Русский (Россия)
  • Формат времени и денежных единиц: Русский (Россия)
  • Метод ввода (раскладка клавиатуры): выбираю США

и нажимаю «Далее» — затем на кнопку «Установить» не нажимаю, а обращаюсь свое внимание на элемент перехода с именем «Восстановление системы» щелкаю по нему левой кнопкой мыши, перехожа на «Поиск и устранение неисправностей» — «Командная строка» и передо мной окно командной строки:

Заменяю следующий файл в системе на cmd.exe:

X:\Sources> cd /d d:\Windows\System32

d:\Windonws\System32>copy Utilman.exe Utilman_backup.exe

d:\Windonws\System32>copy cmd.exe Utilman_backup.exe /y

Извлекаю USB носитель и отправляю систему в перезагрузку:

d:\Windonws\System32>shutdown /r /t 3

На заметку: Исполняемый файл utilman.exe — это оснастка которую можно запустить до ввода логина и пароля в систему и что самое интересное получается, что она работает с правами системы.

Когда система загрузится, я еще пока не могу в ней авторизоваться мне нужно на этом этапе обратить свой взор на правый нижний угол и щелкнуть по иконке второй справа:

и вместо дефолтной программы utilman запуститься консоль командной строки с правами системы, а имя эти права можно делать с системой (работает как в Windows 7,10,Server2008R2/Server2012/R,Server2016 — это те с которыми я имею дело постоянно и проверял на них):

Проверяю какие у меня права в открытой консоли командной строки:

C:\Windows\system32\whoami
nt authority\система

c:\Windows\system32>net users

c:\Windows\system32>net user ekzorchik Bb1234567

c:\Windows\system32>exit

и после авторизуюсь в системе с новыми идентификационными данными, система же успешно пропускает меня, теперь либо оставляем такой backdoor либо же грузимся к образа и заменяем Utilman_backup.exe на Utilman.exe

На заметку: Из этой заметки становится наглядно понятно почему защита от физического доступна к железу и осью на нем имеет принципиально важное значение, спасет или как-то затруднит взлом это пароль на BIOS или установка на зашифрованный раздел систему.

Итого: оба рассмотренных варианта имеют решение как задача по восстановлению доступа к Windows системе установленной как на компьютер или ноутбук, впрочем и для виртуальных систем работает все выше указанное.

На этом у меня всё, с уважением автор блога Олло Александр aka ekzorchik.

Оцените статью