08.03.2021 | 6 способов выгрузки учетных записей из кэша домена |
Автор: Raj Chandel В этой статье будет рассмотрена атака с целью получения учетных записей из кэша домена и различные техники для извлечения хэшей паролей через эксплуатацию пользователя домена. Domain Cache credential (DCC2)Microsoft Windows хранит информацию о предыдущей авторизации пользователей локально. Соответственно, эти сведения используются в случае, если сервер авторизации (logon server) окажется недоступным. Эта технология носит название Domain Cache credential (или по другому MSCACHE или MSCASH хэш), которая сортирует хэши паролей пользователей, чтобы вы не смогли выполнить атаки навроде pass-the-hash. Для генерации хэшей используется алгоритм MSCACHE, хранящихся локально в реестре операционной системы Windows (по умолчанию, последние 10 хэшей). Существует две версии MSCASH/MSCACHE (или DCC):
Переходим к рассмотрению техник для извлечения хэшей. MetasploitMetasploit – первый инструмент в нашем списке, помогающий пентестеру извлекать MSCACHE хэши, хранимые в реестре. Соответствующий модуль извлекает хэши домена, которые были закэшированы в результате настройки групповой политики (GPO). По умолчанию Windows хранит информацию о 10 последних успешных авторизаций: use post/windows/gather/cachedump set session 2 exploit По результатам отработки модуля выгружаются хэши паролей из DCC2/MSCACHE, как показано на рисунке ниже:
Рисунок 1: Извлечение хэшей при помощи модуля в Metasploit ImpacketЭтот тип хэшей также можно извлечь при помощи Python и библиотек impacket. Перед использованием данной техники следует сохранить ветви реестра system и security на локальной машине при помощи следующих команд: reg save hklmsystem c:system reg save hklmsecurity c:secuirty
Рисунок 2: Сохранение ветвей реестра на локальную машину Далее скопируйте полученные файлы туда, где установлен impacket. В нашем случае копирование происходит в систему с Kali Linux. Затем для извлечения DCC2/MSCACHE хэшей используем следующую команду: python secretsdump.py -security -system system LOCAL Результат отработки скрипта показан на рисунке ниже:
Рисунок 3: Выгрузка хэшей при помощи скрипта secretsdump.py MimikatzНи для кого не секрет, что mimikatz – одна из наилучших утилит в арсенале пентестера для извлечения учетных записей в ОС Windows. С целью извлечения DCC2 / MSCACHEv2 хэшей необходимо установить mimikatz на скомпрометированной машине и выполнить следующую команду: privilege::debug token::elevate lsadump::cache Результат выполнения вышеуказанных команд показан на рисунке ниже:
Рисунок 4: Выгрузка хэшей при помощи mimikatz PowerShell EmpireПереходим к следующей технике. В PowerShell Empire есть модуль для извлечения MSCACHEV2 хэшей из реестра скомпрометированной машины. Загрузите и запустите Empire в вашей локальной системе, скомпрометируйте целевой хост с целью использования пост-модуля, а затем введите следующую команду: usemodule credentails/mimikatz/cache set agent <agent_id> execute Результаты работы модуля по выгрузке MSCACHEv2 хэшей показаны на рисунке ниже:
Рисунок 5: Результат выгрузки хэшей при помощи модуля в PowerShell Empire KoadicКак и в случае с Powershell Empire, вы можете использовать утилиту Koadic для извлечения DCC2 хэшей при помощи следующего модуля: use mimikatz_dotnet2js set MIMICMD lsadump::cache Результаты работы этого модуля показаны на рисунке ниже:
Рисунок 6: Извлечение хэшей при помощи Koadic Python скриптКак и в примере с impacket вы можете воспользоваться скриптом mscache.py для извлечения MSCACHEV2 хэшей. Загрузите скрипт с github , и во время запуска в качестве параметров укажите пути к выгруженным файлам (как рассматривалось в разделе с impacket): python mscache.py --security /root/Desktop/security –system /root/Desktop/system Результаты работы скрипта показаны на рисунке ниже:
Рисунок 7: Выгрузка хэшей при помощи скрипта mscache.py Расшифровка полученных хэшейКак мы уже знаем, эти хэши не используются во время атак pass the hash, и нам нужна утилита john the ripper для расшифровки: john --format=mscasch2 --wordlist=/usr/share/wordlists/rockyou.txt mhash В результате получаем пароль в открытом виде для указанного хэша. Старайтесь не путаться между понятиями DCC2 и MSCACHEV2/MSCASH. Эти хэши идентичные и могут извлекаться при помощи вышеуказанных техник.
Рисунок 8: Расшифровка извлеченного хэша при помощи утилиты john the ripper |
Проверить безопасность сайта