Windows узнать пароль пользователя и время последнего входа

Здарова. Вот задачка интересная прилетела, нужно информацию по паролям, пользователям собрать. Задачу решил и теперь возникло желание сохранить результаты своих трудов, на будущее.

Итак, работать будем с программой Windows Password Recovery [Yandex.Disk, пароль – адрес сайта без протокола].

Работа с SAM-файлом

SAMSecurity Account Manager. Файлы лежат в каталоге “\Windows\System32\config\” оттуда нужно скопировать файлы SAM и SYSTEM. Просто так, на живой системе их скопировать не получится, нужно воспользоваться либо загрузкой с LiveCD, либо описанным мной способом по выдёргиванию файлов из цепких лап системы.

Итак, файлы мы свиснули. Запускаем программу и в разделе “Utils” запускаем SAM Explorer.

В появившемся окне выбираем пункт “SAM database of an external PC”, что означает, что мы будем брать внешние файлы SAM и SYSTEM, а не использовать с текущей (запущенной) системы.

Соответственно, укажем расположение файлов. Достаточно указать первый – программа увидев, что в том же каталоге лежит файл с другим именем – заботливо предложит автоматически путь к нему.

Отобразится краткая информация о пользователях из файла SAM. Здесь мы можем увидеть:

  1. Имена и RID пользователей;
  2. Входят ли они так или иначе в группу Администраторов;
  3. Установлен ли пароль.

Если выбрать пользователя и нажать кнопку “Далее”, то отобразится дополнительная информация, такая как время последнего входа в систему, последнего выхода, время изменения пароля, срок действия аккаунта, последний ввод неверного пароля и много чего ещё.

К слову, даты представлены в виде 64-битной структуры FILETIME, которую ещё нужно конвертировать в “человеческий вид”. Покажу 2 способа. Либо кликаем правой кнопкой мыши на HEX-строке и выбираем “Copy Data as Hex

Затем вставляем в WinHEX, подводим курсор на первый байт последовательности и в окне интерпретатора данных смотрим тип FILETIME.

Либо там же кликаем на пункт меню “Copy Data as Date String” и в журнале работы получаем упоминание “{May 25 2020 – 21:51:44} was copied to clipboard

Внимательный читатель скажет “Па-а-аагадите-ка. Почему время разное?

Время в файлах в файловой системе NTFS едва ли не всегда пишется в формате UTC (смещение +00:00 GMT). А представляется в различных окнах уже в зависимости от выбранного часового пояса. WinHEX учитывает эту особенность и заботливо подставляет ваш системный часовой пояс (в настройках указывается) в качестве смещения. Скажем так, два человека, один в Хабаровске, один в Москве увидят различное время в WinHEX исследуя один и тот же файл. Поэтому надо такой факт учитывать и не “влететь”.

Кому интересно – могут почитать мою статью про временные метки в Windows (и вторая часть).

Как узнать какой часовой пояс был установлен в системе?

Фуф. Закрыли тему.


Работа с паролями из Active Directory

Теперь воспользуемся аналогичным инструментом для Active Directory (домен Windows).

Всё с точностью, только стянуть нужно будет файл NTDS.dit из “\Windows\NTDS\” на контроллере домена. Ну и файл SYSTEM реестра, как обычно, лежит там же, где и у рабочей станции. Файл SYSTEM вообще всегда нужен, похоже, т.к. содержит в себе ключи для расшифровки (как я понимаю).

Решил для эксперимента проверить “на себе” и нашёл забавную аномалию:

Атака на пароли средствами программы

Данная программа позволяет также запустить атаку методом перебора на учётки:

Попробуем побрутить слитый файл NTDS.dit. Укажем пути к файлам и жмём “Import”

Тут же начинается атака методом перебора по словарю с мутациями и, надо сказать, какой-то процент учёток раскололись.

Типы атак на пароли:

В программе есть богатый функционал по генерации радужных таблиц, словарей, мутаций, генератор хешей, расшифровку DPAPI (как-то мне попался в одном кейсе), LSA, кешированных учёток, хранилища Windows и т.д. Одним словом, такой “швейцарский нож” для Windows-паролей.

Интересно? Поделись с другом
Litl-Admin.ru

Comments:

Leave a Reply