Получение хеша паролей в ОС Windows. Часть 4

Автор: Bernardo Damele A. G

Кэшированный вход в домен

ОС Windows может работать как в составе домена в роли рабочей станции или сервера, так и в автономно. Пользователь может зайти на компьютер, состоящий в домене, под доменным или локальным аккаунтом.

При входе в домен нужно знать имя пользователя, пароль и имя домена. Доменное имя, обычно, выбирается из выпадающего списка, в котором указаны имена всех доменов, в которых состоит эта компьютер.

При входе, после того как пользователь ввел всю нужную информацию, ОС хеширует пароль и сверяет по сети этот хеш с хешем, который хранится на контроллере домена в файлике ntds.dit. Так проходит аутентификация, которой управляет процесс lsass.exe.

Сначала LSASS проверяет доступность контроллера домена и если он доступен, то lsass.exe сравнивает хеши паролей и запрещает или разрешает вход в систему.

Если же все контроллеры домена недоступны, то пользователю домена не получиться войти в систему. Чтобы не было таких ситуаций, существует механизм кэшированного входа в домен.

Microsoft пишет о этом механизме следующее:

В локальный кэш записывается информация обо всех предыдущих попытках входа пользователей в ОС, что разрешает им при следующих попытках войти в ОС в случае недоступности контроллеров домена […]

Итак для наличия хеша, нужно чтоб выполнилось два уcловия:

  • удачный вход пользователя в систему ранее,
  • должна быть включена политика кэширования входа в домен.

На скриншоте можно увидеть, где настраивается политика кэширования:

3fbQaIrjo7o[1]

Запустите консоль secpol.msc: Локальные параметры безопасности: Локальные политики -> Параметры безопасности -> Интерактивный вход в систему: количество предыдущих подключений к кэшу (в случае отсутствия доступа к контроллеру домена)

Или на английском: Local Security Policy (secpol.msc): Local Policies -> Security Options -> Interactive logon: Number of previous logons to cashe (in case domain controller is unavailable)

Также можно прочесть значение этого параметра в реестре: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\CashedLogonCountПо умолчанию начиная с Windows XP в кэш записывается информация о 10 предыдущих входах. Сведения о кэшированных входах находятся в кустах реестра по адресу HKEY_LOCAL_MACHINE/Security/CACHE/NL$X, где X - это число. Доступ к кустам реестра можно получить или под пользователем Local System, или с помощью специальных программ.

Получение информации о кэшированном входе в домен

Хеши паролей предыдущих входов в ОС можно достать из файлов реестра или из памяти процесса lsass.exe.

Для получения хешей в оффлайн-режиме нужно скопировать системные файлы SECURITY и SYSTEM из реестра с помощью утилит regedit.exe, reg.exe или через службу теневого копирования (в первой статье написано как это сделать). Извлечь информацию о кэшированных входах из файлов  SECURITY и SYSTEM можно с помощью программ Cain & Abelcreddump или Windows Password Recovery.

Также существует достаточно программ, которые достанут информацию о кэшированном входе, внедрившись в процесс lsass.exe. На 32-битной архитектуре можно воспользоваться PWDumpXfgdump или cachedump. На последних версиях Windows стабильно работает cachedump. Правда, ни одна из бесплатных программ не будет работать на 64-разрядных ОС. Поэтому в таком случае, если вам удастся запустить Meterpreter, то воспользуйтесь модулем пост-эксплойта из Metasploit Framework.

Ниже результат работы cachedump: 

C:\>cachedump.exe –v
Service not found. Installing  CacheDump Service (C:\cachedump.exe -s)
CacheDump service successfully installed.
Service started.
user:2d9f0b052932ad18b87f315641921cda:lab:lab.internal
Service currently active. Stopping service...
Service successfully removed.

Чем опасно получение информации из кэшированных входов в домен

Рассмотрим такую ситуацию, которая похожа на ситуацию с получением секретов LSA: допустим, вы получили доступ к консоли с правами Local System. Информации об учетных данных пользователей домена в секретах LSA нет. Что делать дальше? Нужно проверить кэширует ли ОС информацию о входах в домен, если да - копируйте кэш.

Информацию из кэша не получится использовать для входа на других машинах, как это делается с NT- и LM-хешами паролей. Хеши паролей можно расшифровать и получить пароль, для входа на нужной машине.

Механизм кэшированного входа полезен, он облегчает работу, когда контроллер домена недоступен. Но также он  несет в себе угрозу информационной безопасности.

Описанные в этой статье программы есть в такой вот таблице.

Оригинал

Понравилось? =) Поделись с друзьями:

Обсудить