Как узнать пароль администратора домена
Всем привет ранее я рассказывал как можно взломать контроллер домена и произвести сброс пароля администратора домена, но там нужно иметь физический доступ серверу либо к хосту виртуализации, да и все это будет сразу обнаружено, так как придется контроллер домена выключать. Все можно сделать гораздо более изящнее и без шумно. В результате того метода, что я вам расскажу вы сможете узнать пароль пользователя, а в идеале и системного администратора, главное правильно это организовать. Вся информация предоставляется исключительно в ознакомительных целях, чтобы администраторы безопасности имели представление, как защититься от такой проблемы.
Получить пароль администратора домена
Большинство системных администраторов пребывают в уверенности, что 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.
Если получили ошибку ERROR kuhl_m_privilege_simple ; RtlAdjustPrivilege (20) c0000061, то нужно запустить от имени администратора. Если все ок то у вас появится консольное окно с утилитой.
Получить привилегии отладки. на что мы должны получить ответ, о том, что успешно включен режим отладки:Privilege ’20’ OK делается командой
Вывод команды с именами и паролями пользователей может оказаться более длинным чем вмещает консоль, поэтому лучше включить логирование в файл командой:
и далее команда для получения паролей
Там где null это значит что его просто нет.
Можно все экспортировать в файл с помощью команды
В итоге рядом с утилитой вы получите файл с паролями пользователей
Данная методика не сработает при наличии на системе современного антивируса, блокирующего инъекцию. В этом случае придется сначала создать дамп памяти машины и уже на другой машине «вытянуть» из него пароли для сессий всех пользователей и сможете узнать администратора.
Получение пароля пользователя из дампа памяти Windows
Более без шумный вариант, вас не определит антивирусник и не привлечет внимание. Вам нужно создать windows minidump. Сделать minidump можно с помощью powershell, подгрузив модуль Out-Minidump.ps1.
Если у вас ругнется на то что не может запустить не подписанный скрипт, то как разрешить не подписанные скрипты я описывал тут
Далее вводим команду для монтирования minidump dmp
Видим создался файл lsass_628.dmp это и есть наш minidump.
по умолчанию он сохраняется в каталоге %windir\system32%. Копируем его в папку с утилитой и выполняем следующие команды
И следующей командой получим список пользователей, работающих в системе и их пароли:
Все в итоге вы смогли узнать пароль администратора домена
Получение паролей из файлов виртуальных машины и файлов гибернации
Идем дальше. С помощью простых манипуляций злоумышленник может запросто извлечь пароли пользователей из файлов дампов памяти, файла гибернации системы и .vmem файлов виртуальных машин (файлы подкачки виртуальных машин и их снапшоты).
Для этого понадобится пакет Debugging Tool for Windows (WinDbg), сам mimikatz и утилита преобразования .vmem в файл дампа памяти (для Hyper-V это может быть vm2dmp.exe или MoonSols Windows Memory toolkit для vmem файлов VMWare).
Например, в случае необходимости преобразовать файл подкачки vmem виртуальной машины VMWare в дамп, выполним команду:
bin2dmp.exe "winsrv2008r2.vmem" vmware.dmp
Полученный дамп загружаем в WinDbg (File -> Open Crash Dump), загружаем библиотеку mimikatz с именем mimilib.dll (версию выбрать в зависимости от разрядности системы):
.load mimilib.dll
Ищем в дампе процесс lsass.exe:
!process 0 0 lsass.exe
И наконец, набираем
.process /r /p fffffa800e0b3b30
!mimikatz
и получаем список пользователей Windows и их пароли в открытом виде:
Получение паролей пользователей 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.
Однако нужно понимать, что атакующему, при наличии соответствующих прав на реестр, не составит труда поменять вернуть настройки обратно.
Выводы. Еще раз напоминаем прописные истины:
- Не стоит использовать одинаковые пароли для разных сервисов (особенно терминальных, находящихся во владении третьих лиц).
- Задумайтесь о безопасности ваших паролей и данных, находящихся на виртуальных машинах в столь рекламируемых сейчас облаках, ведь вы не можете быть уверенными в том, у кого еще имеется доступ к гипервизорам и хранилищу, на котором расположены виртуальные машины.
- Минимизируйте в своих системах количество учетных записей, обладающих правами локального администратора
- Никогда не заходите с учетной записью администратора домена на сервера и компьютеры, доступные другим пользователям
Вот так вот просто узнать пароль администратора домена. Материал сайта pyatilistnik.org
Иван, при попытке скачать Out-Minidump.ps1 антивирусы mcafee и windows defender блокируют download. Мне было бы очень интересно узнать пароль, если прочтете комментарий и сможете ответить, жду.
Михаил.
Пароль pyatilistnik.org, могу попробовать залить его на mail
Дык, как же я запущу от имени администратора, если именно этот пароль сам хочу получить этой утилитой?))
Имеется ввиду режим