Hekatomb — это Python-скрипт, который подключается к LDAP-директории для получения информации обо всех компьютерах и пользователях домена. После этого он скачивает все DPAPI-блобы для всех пользователей со всех компьютеров. В завершение, через RPC он извлекает приватный ключ контроллера домена и использует его для расшифровки всех учетных данных.
Расшифровка DPAPI-блобов в домене Windows
На Windows учетные данные, сохраненные в менеджере учетных данных, шифруются с использованием Microsoft Data Protection API (DPAPI) и хранятся в виде файлов «blob» в папке AppData пользователя. Вне доменной среды для шифрования этих блобов используется хеш пароля пользователя. Однако, если компьютер находится в среде Active Directory, DPAPI использует публичный ключ контроллера домена для шифрования этих данных.
С извлеченным приватным ключом контроллера домена становится возможным расшифровать все блобы и, таким образом, восстановить все секреты, записанные в менеджере учетных данных Windows на всех рабочих станциях домена.
Для просмотра ссылки Войди или Зарегистрируйся
Hekatomb автоматизирует процесс поиска этих блобов, а затем их расшифровку для получения всех секретов пользователей домена.
Установка Hekatomb
Его добавили в с последний релиз Kali Linux. Ниже инструкция по установке на другие дистрибутивы Linux.
Для систем на базе Debian, через Pypi:
Для пользователей BlackArch:
Установка из GitHub:
1
2
3
4 | git clone Для просмотра ссылки Войди или Зарегистрируйся
cd HEKATOMB
poetry install
poetry run hekatomb |
Использовнние Hekatomb
Hekatomb использует синтаксис, похожий на Impacket (см.
Для просмотра ссылки Войди или Зарегистрируйся).
Пример вызова скрипта:
1 | hekatomb [-h] [-hashes LMHASH:NTHASH] [-pvk PVK] [-dns DNS] [-dnstcp] [-port [port]] [-just-user JUST_USER] [-just-computer JUST_COMPUTER] [-md5] [-debug] [-debugmax] target |
Основные параметры запуска:
1
2
3
4
5
6
7
8
9 | -h, --help — вывод справки
-hashes LMHASH — NTLM-хеши в формате LMHASH
-pvk PVK — файл резервного ключа домена
-dns DNS — IP-адрес DNS-сервера для разрешения имен хостов
-port [port] — порт для подключения к SMB-серверу
-smb2 — принудительное использование протокола SMBv2
-just-user [USERNAME] — тест только для указанного пользователя
-just-computer [COMPUTER] — тест только для указанного компьютера
-md5 — выводить MD5-хеши вместо паролей в чистом виде |
Настройки вывода и отладки:
1
2
3 | -csv — сохранить результаты в формате CSV
-debug — включить режим отладки
-debugmax — максимальная детализация отладки |
Пример использования Hekatomb:
Если вы не укажете файл с резервными ключами домена, скрипт автоматически попытается получить их через RPC.
Hekatomb упрощает процесс сбора и расшифровки данных DPAPI, что позволяет получить доступ ко всем учетным данным пользователей домена через менеджер учетных данных Windows.