- Механизм хранения имен пользователей и паролей
- Преимущества Stored User Names and Passwords
- Принцип действия Stored User Names and Passwords
- Доступ к диалоговому окну Stored User Names and Passwords.
- HackWare.ru
- Этичный хакинг и тестирование на проникновение, информационная безопасность
- Как взломать пароль Windows
- Где Windows хранит пароль входа пользователя?
- Как получить хеши паролей Windows
- Дамп хешей паролей Windows на работающем компьютере
- Дамп хешей паролей Windows на выключенном компьютере
- Чем различаются хеши NTLM и NTLMv1/v2 и Net-NTLMv1/v2
- Что такое mimikatz
- Как установить mimikatz в Windows
- Как извлечь хеш пароля пользователя NTLM из файлов реестра
- Извлечение хеша NTLM из дампа lsass.DMP
- Брут-форс хеша NTLM
Механизм хранения имен пользователей и паролей
В Windows Vista, Windows XP, Windows Server 2008 и Windows Server 2003 существует встроенный механизм, который автоматически управляет именами пользователей и паролями, необходимыми для доступа к ресурсам, требующим учетных данных, отличных от входных учетных данных пользователей. Этот компонент называется Stored User Names and Passwords. В статье рассказывается о его принципах действия и преимуществах. Кроме того, речь пойдет о ручном управлении учетными данными.
Пользователям бывает трудно запоминать многочисленные имена и пароли для доступа к различным ресурсам. Существует немало программ независимых производителей для управления учетными данными, но в Windows Vista, Windows XP, Windows Server 2008 и Windows Server 2003 предусмотрена встроенная функция для автоматического управления именами пользователей и паролями для доступа к ресурсам, требующим учетных данных, отличных от обычных данных регистрации в Windows. Этот компонент называется Stored User Names and Passwords.
С помощью Stored User Names and Passwords можно хранить учетные данные для локальной сети и ресурсов Internet. Типы учетных данных, создаваемые, управляемые и применяемые с использованием компонента:
- имена пользователя и пароли;
- сертификаты X.509 (например, для смарт-карт);
- паспорта (например, паспорта .NET).
Пользователям Windows XP Home Edition необходимо помнить, что в этой версии XP хранятся только паспортные учетные данные и имена пользователя и пароли RAS/VPN.
Рассмотрим преимущества компонента Stored User Names and Passwords, принцип его действия и возможности ручного управления учетными данными.
Преимущества Stored User Names and Passwords
При регистрации в системе локально или при регистрации в домене пользователи должны предоставить имя и пароль. После регистрации эти учетные данные становятся контекстом безопасности по умолчанию для доступа к другим ресурсам в локальной сети, удаленной сети и/или Internet. Но иногда учетных данных бывает недостаточно для доступа ко всем необходимым пользователю ресурсам. Например, дополнительные учетные данные требуются для доступа к Web-узлам с проверкой подлинности или доменам, с которыми нет доверительных отношений. Если таких ресурсов много, пользователям нужно вводить целый ряд различных учетных данных.
Разнообразные учетные данные могут потребоваться и администраторам: например, регистрация в сети с обычными учетными данными Windows и использование административных прав для выполнения определенных задач на удаленных серверах.
Необходимость помнить многочисленные комбинации имен пользователей и паролей приводит к неправильному использованию паролей, в том числе слабым паролям, одинаковым паролям для всех ресурсов и записи паролей где бы то ни было. Таких ошибок можно избежать благодаря компоненту Stored User Names and Passwords, который позволяет безопасно хранить многие учетные данные и управлять ими. Пользователям предоставляется единая процедура регистрации, так как они регистрируются только на своих компьютерах и в своих доменах. Поскольку пользователям не приходится запоминать пароли, они, скорее всего, выберут сложные пароли, что существенно повысит общую безопасность.
Учетные данные хранятся в защищенной части профиля пользователя, где они недоступны для других пользователей. Если пользователь располагает единственным профилем в масштабах всей компании (перемещаемый профиль), сохраненные имена пользователя и пароли запоминаются всегда при его регистрации в сети. Это дополнительно расширяет функциональность компонента при сохранении приемлемого уровня безопасности.
Принцип действия Stored User Names and Passwords
При попытке обратиться к Web-узлу или сетевому ресурсу, недоступному с обычными учетными данными, пользователь получает запрос об имени и пароле. Если флажок Remember my password установлен, введенная информация запоминается в профиле пользователя. В следующий раз, когда пользователь подключается к этому ресурсу, проверка подлинности выполняется автоматически на основе сохраненных учетных данных.
Каждый раз, когда пользователь устанавливает флажок Remember my password, учетные данные сохраняются в наиболее общей форме. Например, если флажок Remember my password установлен при доступе к определенному серверу в домене company.com, учетные данные сохраняются под *.company.com. Если пользователь вновь устанавливает флажок Remember my password при обращении к другому серверу в том же домене, ранее сохраненные данные не перезаписываются, а новые учетные данные сохраняются с более конкретной информацией, например server1.company.com. В силу такого подхода нельзя сохранить более одного имени пользователя и пароля для конкретной процедуры регистрации, и это несколько ограничивает возможности компонента Stored User Names and Passwords.
Если сохранено несколько наборов учетных данных, Windows упорядочивает их от конкретных к более общим. Если пользователь пытается обратиться к ресурсу, недоступному с его текущими учетными данными, пакет проверки подлинности ищет в репозитории Stored User Names and Passwords наиболее точный набор учетных данных, подходящий для ресурса. Если он обнаружен, пакет проверки подлинности использует его, не запрашивая дополнительных данных. Если нет, пользователь получает приглашение ввести имя и пароль.
Учетные данные
В дополнение к автоматическому созданию и хранению учетных данных при установке флажка Remember my password, можно вручную создать учетные данные для конкретного ресурса. Учетные данные, подготовленные вручную, обрабатываются операционной системой так же, как созданные автоматически.
Vista, XP, Server 2008 и Windows 2003 предоставляют простой и интуитивно понятный интерфейс для создания учетных данных вручную. Можно просматривать, изменять и удалять существующие учетные данные. Кроме того, в Vista и Server 2008 предусмотрена полезная возможность архивации и восстановления наборов учетных данных. На экране 1 показан интерфейс Vista — диалоговое окно Stored User Names and Passwords. Ниже описано, как использовать диалоговое окно Stored User Names and Passwords в XP и Vista. Процессы здесь те же, что и в соответствующих серверных операционных системах.
Доступ к диалоговому окну Stored User Names and Passwords.
В XP доступ к диалоговому окну Stored User Names and Passwords слегка различается в зависимости от того, находится компьютер в рабочей группе или в домене. Если компьютер в рабочей группе, нужно открыть утилиту User Accounts панели управления, выбрать текущего зарегистрированного пользователя, а затем щелкнуть Manage my network passwords в области Related tasks. Существует возможность управлять учетными данными текущего зарегистрированного пользователя. Если компьютер в домене, откройте утилиту User Accounts панели управления, щелкните вкладку Advanced, а затем кнопку Manage Passwords.
В Windows Vista доступ к диалоговому окну выполняется одинаково, независимо от местонахождения компьютера в рабочей группе или домене. Откройте утилиту User Accounts панели управления, щелкните заголовок User Accounts, а затем Manage my network passwords в области Tasks.
В Vista и XP к утилите User Accounts можно обратиться напрямую, открыв окно Run и запустив команду
В открывшемся окне укажите вкладку Advanced, а затем нажмите кнопку Manage Passwords. Если нужно получить доступ к учетным данным текущего зарегистрированного пользователя, выполните команду
В результате напрямую открывается диалоговое окно Stored User Names and Passwords. В нем можно добавлять, изменять, удалять, архивировать и восстанавливать наборы учетных данных.
Добавление набора учетных данных. Чтобы вручную добавить набор учетных данных для ресурса, следует щелкнуть кнопку Add для вызова диалогового окна Stored User Names and Passwords, показанного на экране 2.
В поле Log on to введите имя ресурса. Можно использовать различные форматы, в том числе имена узлов (например, server1), полные доменные имена (например, server1.domainX.com) и даже подстановочные символы (например, *.domainX.com). Но помните, что, если для одного ресурса может применяться несколько наборов учетных данных, компонент Stored User Names and Passwords всегда использует наиболее специфичное имя ресурса.
В поле User name следует ввести имя пользователя в одном из следующих форматов:
- Домен\Имя пользователя (например, DomainX\User1);
- Компьютер\Имя пользователя (например, Computer1\User1);
- Имя пользователя\Компьютер (например, User1\Computer1);
- Workgroup\Username (например, Sales\User2);
- Имя пользователя\Рабочая группа (например, User2\Sales);
- Основное имя пользователя (UPN, например, User1@domainX.com).
В поле Password введите пароль. Наконец, укажите, применимы ли учетные данные для проверки подлинности при регистрации в Windows, на Web-узле или в программе.
Изменение набора учетных данных. Чтобы изменить существующий набор учетных данных, выберите ресурс из списка в диалоговом окне Stored User Names and Passwords, а затем выберите команду Edit (в Vista) или Properties (в XP). Изменять можно только имя пользователя и пароль.
Удаление набора учетных данных. Для удаления существующего набора учетных данных выберите ресурс из списка в диалоговом окне Stored User Names and Passwords и щелкните Remove.
Архивация и восстановление наборов учетных данных (только в Vista и Server 2008). Автоматическое сохранение учетных данных полезно, но их потеря может привести к неприятным последствиям. В Vista и Server 2008 можно архивировать и восстанавливать наборы учетных данных с помощью мастера архивации и восстановления. В целях безопасности процессы архивации и восстановления автоматизировать нельзя. Единственный способ архивировать и восстановить наборы учетных данных — сделать это вручную.
Для архивации в Vista нажмите кнопку Back up в диалоговом окне Stored User Names and Passwords. В диалоговом окне, показанном на экране 3, перейдите в место, где нужно сохранить архивный файл, и введите имя, которое будет ему присвоено.
Все наборы учетных данных хранятся в одном файле .crd, зашифрованном с помощью алгоритма Advanced Encryption Standard (AES). После того как будет указано место и имя файла, пользователь должен нажать клавиши Ctrl+Alt+Del, чтобы переключить Vista в безопасный режим. Затем выдается приглашение ввести новый пароль для защиты учетных данных. Пароль должен быть надежным (содержать буквы верхнего и нижнего регистров, цифры и специальные символы). После ввода и подтверждения пароля учетные данные сохраняются в указанном месте с указанным именем файла.
Если нужно восстановить ранее сохраненные учетные данные, щелкните кнопку Restore в окне Stored User Names and Passwords. Перейдите к местоположению файла .crd и введите пароль. Помните, что восстановленные наборы учетных данных из архивного файла заменяют любые существующие наборы учетных данных в компьютере.
Защита учетных данных
Хранить несколько наборов учетных данных в одном месте удобно, но опасно. Хотя учетные данные хранятся в зашифрованном формате в диспетчере учетных записей (SAM) и профиле пользователя, злоумышленники могут взломать пароли, если получат физический доступ к файлам профиля пользователя.
Для максимально надежной защиты учетных данных важно применить все меры безопасности. Перечислим некоторые из них.
- Защита пользователями компьютеров, оставленных без присмотра. Например, пользователи должны завершить сеанс или блокировать компьютеры, прежде чем покинуть их на длительное время. Для защиты компьютеров, оставленных без присмотра на короткое время, нужно установить хранители экрана с паролем.
- Защита ноутбуков с использованием BitLocker или аналогичной программы шифрования. Таким образом, данные будут защищены в случае потери или кражи компьютера.
- Использование надежного пароля для обычной процедуры регистрации в Windows и регулярная смена этого пароля. В домене лучше всего использовать групповую политику для принудительного изменения пароля.
- Для особо важных ресурсов можно отключить компонент Stored User Names and Passwords.
Удобный инструмент
Компонент Stored User Names and Passwords — удобный инструмент для пользователей, работающих со многими учетными данными для доступа к различным ресурсам сети и Internet. Он обеспечивает единую процедуру входа. Хотя хранилище учетных данных зашифровано, важно надежно защитить рабочие станции с сохраненными учетными данными.
Дамир Диздаревич — Менеджер учебного центра Logosoft в Сараево (Босния). Имеет сертификаты MCSE, MCTS, MCITP и MCT. Специализируется на безопасности Windows Server.
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, название которых довольно похоже.
На самом деле, 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+x → Windows PowerShell (администратор)) или командную строку (Win+r → cmd).
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 и извлечь хеши непосредственно из системы. Для этого выполните команды:
Извлечение хеша 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».