- Пароль домена не работает
- Получить пароль администратора домена
- Извлекаем пароли пользователей из lsass.exe через rdp или интеративную сессию
- Получение пароля пользователя из дампа памяти Windows
- Получение паролей из файлов виртуальных машины и файлов гибернации
- Как защититься от получения пароля через mimikatz?
- Пароль домена не работает
Пароль домена не работает
Всем привет ранее я рассказывал как можно взломать контроллер домена и произвести сброс пароля администратора домена, но там нужно иметь физический доступ серверу либо к хосту виртуализации, да и все это будет сразу обнаружено, так как придется контроллер домена выключать. Все можно сделать гораздо более изящнее и без шумно. В результате того метода, что я вам расскажу вы сможете узнать пароль пользователя, а в идеале и системного администратора, главное правильно это организовать. Вся информация предоставляется исключительно в ознакомительных целях, чтобы администраторы безопасности имели представление, как защититься от такой проблемы.
Получить пароль администратора домена
Большинство системных администраторов пребывают в уверенности, что Windows не хранит пароли пользователей в открытом виде, а только в виде его хэша. И хотя на сегодня существует большое количество утилит, способных извлечь хэши пользовательских паролей из системы, можно с определенной уверенностью сказать, что при использовании достаточно сложного пароля не «из словаря», у злоумышленника практически нет шансов подобрать его прямым брутфорсом или по базе уже рассчитанных хэшей.
В принципе, это так, но есть различные нюансы, касающиеся пользователей, залогиненых в системе. Дело в том, что некоторые системные процессы в своих служебных целях все-таки используют пароли пользователей в открытом (или зашифрованном) виде, а не их хэши.
Так, например, механизм дайджест-аутентификации (HTTP Digest Authentication), используемый для поддержки SSO (Single Sign On), для своей работы требует знания вводимого пароля пользователя, а не только его хеша (о том, почему разработчиками это было сделано именно так, можно только догадываться). Пароли (именно пароли, а не их хэши) пользователей в зашифрованной форме хранятся в памяти ОС, а если быть более точным в процессе LSASS.EXE. Проблема в том, что шифрование паролей реализовано с помощью стандартных функций Win32 LsaProtectMemory и LsaUnprotectMemory, которые предназначены для шифрования/расшифровки некоторого участка памяти. Утилита французских разработчиков mimikatz позволяет получать зашифрованные данные из памяти и расшифровывать их с помощью функции LsaUnprotectMemory, позволяя вывести на консоль все учетные записи пользователей, авторизованных в системе, и их пароли (в открытом, уже расшифрованном виде!). Для эксплуатации уязвимости атакующий должен иметь возможность присоединить специальную библиотеку к процессу lsass.exe.
И так все это вода сверху. смысл всего этого сводится к тому, допустим есть терминальный сервер где программисты выполняют какие то вещи, и когда человек залогинен и имеет активную сессию то с помощью утилиты mimikatz можно вытащить его пароль. В идеале вы можете например попросить системного администратора что нибудь на сервере посмотреть, чаще всего они используют учетную запись администратора домена Active Directory, вот тут вы его и подловите.
Скачать утилиту mimikatz можно тут: http://blog.gentilkiwi.com/mimikatz либо по прямой ссылке с яндекс диска пароль на архив pyatilistnik.org
Извлекаем пароли пользователей из lsass.exe через rdp или интеративную сессию
Запускаем утилиту на сервере. У вас будет два варианта один для x86 другой для x64.
Как узнать пароль администратора домена-01
Если получили ошибку ERROR kuhl_m_privilege_simple ; RtlAdjustPrivilege (20) c0000061, то нужно запустить от имени администратора. Если все ок то у вас появится консольное окно с утилитой.
Как узнать пароль администратора домена-02
Получить привилегии отладки. на что мы должны получить ответ, о том, что успешно включен режим отладки:Privilege ’20’ OK делается командой
Как узнать пароль администратора домена-03
Вывод команды с именами и паролями пользователей может оказаться более длинным чем вмещает консоль, поэтому лучше включить логирование в файл командой:
Как узнать пароль администратора домена-04
и далее команда для получения паролей
Там где null это значит что его просто нет.
Как узнать пароль администратора домена-05
Можно все экспортировать в файл с помощью команды
Как узнать пароль администратора домена-06
В итоге рядом с утилитой вы получите файл с паролями пользователей
Как узнать пароль администратора домена-07
Данная методика не сработает при наличии на системе современного антивируса, блокирующего инъекцию. В этом случае придется сначала создать дамп памяти машины и уже на другой машине «вытянуть» из него пароли для сессий всех пользователей и сможете узнать администратора.
Получение пароля пользователя из дампа памяти Windows
Более без шумный вариант, вас не определит антивирусник и не привлечет внимание. Вам нужно создать windows minidump. Сделать minidump можно с помощью powershell, подгрузив модуль Out-Minidump.ps1.
Если у вас ругнется на то что не может запустить не подписанный скрипт, то как разрешить не подписанные скрипты я описывал тут
Далее вводим команду для монтирования minidump dmp
Видим создался файл lsass_628.dmp это и есть наш minidump.
Как узнать пароль администратора домена-08
Как узнать пароль администратора домена-09
по умолчанию он сохраняется в каталоге %windir\system32%. Копируем его в папку с утилитой и выполняем следующие команды
И следующей командой получим список пользователей, работающих в системе и их пароли:
Как узнать пароль администратора домена-10
Все в итоге вы смогли узнать пароль администратора домена
Получение паролей из файлов виртуальных машины и файлов гибернации
Идем дальше. С помощью простых манипуляций злоумышленник может запросто извлечь пароли пользователей из файлов дампов памяти, файла гибернации системы и .vmem файлов виртуальных машин (файлы подкачки виртуальных машин и их снапшоты).
Для этого понадобится пакет Debugging Tool for Windows (WinDbg), сам mimikatz и утилита преобразования .vmem в файл дампа памяти (для Hyper-V это может быть vm2dmp.exe или MoonSols Windows Memory toolkit для vmem файлов VMWare).
Например, в случае необходимости преобразовать файл подкачки vmem виртуальной машины VMWare в дамп, выполним команду:
Полученный дамп загружаем в WinDbg (File -> Open Crash Dump), загружаем библиотеку mimikatz с именем mimilib.dll (версию выбрать в зависимости от разрядности системы):
Ищем в дампе процесс lsass.exe:
Как узнать пароль администратора домена-11
И наконец, набираем
и получаем список пользователей Windows и их пароли в открытом виде:
Как узнать пароль администратора домена-12
Получение паролей пользователей Windows в открытом виде с помощью утилиты Mimikatz работает на следующих системах, в том числе запущенных на гипервизорах Hyper-V 2008/2012 и VMWare различных версий:
- Windows Server 2008 / 2008 R2
- Windows Server 2012/ R2
- Windows 7
- Windows 8
Как защититься от получения пароля через mimikatz?
В качестве временного решения можно предложить отключить поставщика безопасности wdigest через реестр. Для этого в ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa найдите ключ Security Packages и удалить из списка пакетов строку wdigest.
Как узнать пароль администратора домена-13
Однако нужно понимать, что атакующему, при наличии соответствующих прав на реестр, не составит труда поменять вернуть настройки обратно.
Выводы. Еще раз напоминаем прописные истины:
- Не стоит использовать одинаковые пароли для разных сервисов (особенно терминальных, находящихся во владении третьих лиц).
- Задумайтесь о безопасности ваших паролей и данных, находящихся на виртуальных машинах в столь рекламируемых сейчас облаках, ведь вы не можете быть уверенными в том, у кого еще имеется доступ к гипервизорам и хранилищу, на котором расположены виртуальные машины.
- Минимизируйте в своих системах количество учетных записей, обладающих правами локального администратора
- Никогда не заходите с учетной записью администратора домена на сервера и компьютеры, доступные другим пользователям
Источник
Пароль домена не работает
Как и учетные записи пользователей, учетные записи компьютеров в домене имеют свой пароль. Пароль этот нужен для установления так называемых «доверительных отношений» между рабочей станцией и доменом. Пароли для компьютеров генерируются автоматически и также автоматически каждые 30 дней изменяются.
Домен хранит текущий пароль компьютера, а также предыдущий, на всякий случай . Если пароль изменится дважды, то компьютер, использующий старый пароль, не сможет пройти проверку подлинности в домене и установить безопасное соединение. Рассинхронизация паролей может произойти по разным причинам, например компьютер был восстановлен из резервной копии, на нем была произведена переустановка ОС или он просто был долгое время выключен. В результате при попытке входа в домен нам будет выдано сообщение о том, что не удается установить доверительные отношения с доменом.
Как сбросить пароль учетной записи компьютера и восстановить доверие в Active directory-01
Для восстановления доверительных отношений существует несколько способов. Рассмотрим их все по порядку.
Открываем оснастку «Active Directory Users and Computers» и находим в ней нужный компьютер. Кликаем на нем правой клавишей мыши и в контекстном меню выбираем пункт «Reset Account». Затем заходим на компьютер под локальной учетной записью и заново вводим его в домен.
Как сбросить пароль учетной записи компьютера и восстановить доверие в Active directory-02
Примечание. Кое где встречаются рекомендации удалить компьютер из домена и заново завести. Это тоже работает, однако при этом компьютер получает новый SID и теряет членство в группах, что может привести к непредсказуемым последствиям.
Способ этот довольно громоздкий и небыстрый, т.к. требует перезагрузки, однако работает в 100% случаев.
- Способ второй
Заходим на компьютер, которому требуется сбросить пароль, открываем командную консоль обязательно от имени администратора и вводим команду:
Netdom Resetpwd /Server:SRV1 /UserD:Administrator /PasswordD:*
где SRV1 — контролер домена, Administrator — административная учетная запись в домене. Дополнительно можно указать параметр /SecurePasswordPrompt, который указывает выводить запрос пароля в специальной форме.
В открывшемся окне вводим учетные данные пользователя и жмем OK. Пароль сброшен и теперь можно зайти на компьютер под доменной учетной записью. Перезагрузка при этом не требуется.
Как сбросить пароль учетной записи компьютера и восстановить доверие в Active directory-03
Что интересно, в рекомендациях по использованию и в справке написано, что команду Netdom Resetpwdможно использовать только для сброса пароля на контролере домена, другие варианты использования не поддерживаются. Однако это не так, и команда также успешно сбрасывает пароль на рядовых серверах и рабочих станциях.
Еще с помощью Netdom можно проверить наличие безопасного соединения с доменом:
Netdom Verify WKS1 /Domain:Contoso.com /UserO:Administrator /PasswordO:*
Или сбросить учетную запись компьютера:
Netdom Reset WKS1 /Domain:Contoso.com /UserO:Administrator /PasswordO:*
где WKS1 — рабочая станция, которой сбрасываем учетку.
еще пример для доменной учетки отличную названию Администратор.
C:\>netdom resetpwd /server:DC1 /userd:contoso\administrator
/passwordd:P@ssw0rd
Выходим из сессии локального администратора (logoff); Вуаля! Логинимся доменной учетной записью без всяких перезагрузок! Внимание! Ключ PasswordD пишется с ДВУМЯ буковками «D» на конце (что явно подчеркивает, что в команде имя пользователя и пароль указываются именно для ДОМЕННОГО администратора).
Как сбросить пароль учетной записи компьютера и восстановить доверие в Active directory-04
Способ достаточно быстрый и действенный, однако есть одно но: по умолчанию утилита Netdom есть только на серверах с установленной ролью Active Directory Domain Services (AD DS). На клиентских машинах она доступна как часть пакета удаленного администрирования Remote Server Administration Tools (RSAT).
- Способ третий
Еще одна утилита командной строки — Nltest. На компьютере, который потерял доверие, выполняем следующие команды:
Nltest /query — проверить безопасное соединение с доменом;
Nltest /sc_reset:Contoso.com — сбросить учетную запись компьютера в домене;
Nltest /sc_change_pwd:Contoso.com — изменить пароль компьютера.
Как сбросить пароль учетной записи компьютера и восстановить доверие в Active directory-05
Самый быстрый и доступный способ, ведь утилита Nltest по умолчанию есть на любой рабочей станции или сервере. Однако, в отличие от Netdom, в которой предусмотрен ввод учетных данных, Nltest работает в контексте запустившего ее пользователя. Соответственно, зайдя на компьютер под локальной учетной записью и попытавшись выполнить команду можем получить ошибку доступа.
- Способ четвертый
PowerShell тоже умеет сбрасывать пароль компьютера и восстанавливать безопасное соединение с доменом. Для этого существует командлет Test-ComputerSecureChannel . Запущенный без параметров он выдаст состояние защищенного канала — True или False.
Для сброса учетной записи компьютера и защищенного канала можно использовать такую команду:
где SRV1 — контролер домена (указывать не обязательно).
Как сбросить пароль учетной записи компьютера и восстановить доверие в Active directory-06
Для сброса пароля также можно также воспользоваться такой командой:
Как сбросить пароль учетной записи компьютера и восстановить доверие в Active directory-07
Способ быстрый и удобный, не требующий перезагрузки. Но и здесь есть свои особенности. Ключ -Credential впервые появился в PowerShell 3.0. Без этого параметра командлет, запущенный из под локального пользователя, выдает ошибку доступа.
Источник