Как узнать пароль администратора домена

Как узнать пароль администратора домена

Как узнать пароль администратора домена

Всем привет ранее я рассказывал как можно взломать контроллер домена и произвести сброс пароля администратора домена, но там нужно иметь физический доступ серверу либо к хосту виртуализации, да и все это будет сразу обнаружено, так как придется контроллер домена выключать. Все можно сделать гораздо более изящнее и без шумно. В результате того метода, что я вам расскажу вы сможете узнать пароль пользователя, а в идеале и системного администратора, главное правильно это организовать. Вся информация предоставляется исключительно в ознакомительных целях, чтобы администраторы безопасности имели представление, как защититься от такой проблемы.

Получить пароль администратора домена

Большинство системных администраторов пребывают в уверенности, что 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

Как узнать пароль администратора домена-01

Если получили ошибку ERROR kuhl_m_privilege_simple ; RtlAdjustPrivilege (20) c0000061, то нужно запустить от имени администратора. Если все ок то у вас появится консольное окно с утилитой.

Как узнать пароль администратора домена-02

Как узнать пароль администратора домена-02

Получить привилегии отладки. на что мы должны получить ответ, о том, что успешно включен режим отладки:Privilege ’20’ OK делается командой

privilege::debug

Как узнать пароль администратора домена-03

Как узнать пароль администратора домена-03

Вывод команды с именами и паролями пользователей может оказаться более длинным чем вмещает консоль, поэтому лучше включить логирование в файл командой:

log logfile.txt

Как узнать пароль администратора домена-04

Как узнать пароль администратора домена-04

и далее команда для получения паролей

sekurlsa::logonpasswords

Там где null это значит что его просто нет.

Как узнать пароль администратора домена-05

Как узнать пароль администратора домена-05

Можно все экспортировать в файл с помощью команды

sekurlsa::logonpasswords /export

Как узнать пароль администратора домена-06

Как узнать пароль администратора домена-06

В итоге рядом с утилитой вы получите файл с паролями пользователей

Как узнать пароль администратора домена-07

Как узнать пароль администратора домена-07

Данная методика не сработает при наличии на системе современного антивируса, блокирующего инъекцию. В этом случае придется сначала создать дамп памяти машины и уже на другой машине «вытянуть» из него пароли для сессий всех пользователей и сможете узнать администратора.

Получение пароля пользователя из дампа памяти Windows

Более без шумный вариант, вас не определит антивирусник и не привлечет внимание. Вам нужно создать windows minidump. Сделать minidump можно с помощью powershell, подгрузив модуль Out-Minidump.ps1.

Если у вас ругнется на то что не может запустить не подписанный скрипт, то как разрешить не подписанные скрипты я описывал тут

Далее вводим команду для монтирования minidump dmp

Get-Process lsass | Out-Minidump

Видим создался файл lsass_628.dmp это и есть наш minidump.

Как узнать пароль администратора домена-08

Как узнать пароль администратора домена-08

 

Как узнать пароль администратора домена-09

Как узнать пароль администратора домена-09

по умолчанию он сохраняется в каталоге %windir\system32%. Копируем его в папку с утилитой и выполняем следующие команды

sekurlsa::minidump lsass_628.dmp

И следующей командой получим список пользователей, работающих в системе и их пароли:

sekurlsa::logonPasswords /export

Как узнать пароль администратора домена-10

Как узнать пароль администратора домена-10

Все в итоге вы смогли узнать пароль администратора домена

Получение паролей из файлов виртуальных машины и файлов гибернации

Идем дальше. С помощью простых манипуляций злоумышленник может запросто извлечь пароли пользователей из файлов дампов памяти, файла гибернации системы и .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

Как узнать пароль администратора домена-11

Как узнать пароль администратора домена-11

И наконец, набираем

.process /r /p fffffa800e0b3b30
!mimikatz

и получаем список пользователей Windows и их пароли в открытом виде:

Как узнать пароль администратора домена-12

Как узнать пароль администратора домена-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

Как узнать пароль администратора домена-13

Однако нужно понимать, что атакующему, при наличии соответствующих прав на реестр, не составит труда поменять вернуть настройки обратно.

Выводы. Еще раз напоминаем прописные истины:

  • Не стоит использовать одинаковые пароли для разных сервисов (особенно терминальных, находящихся во владении третьих лиц).
  • Задумайтесь о безопасности ваших паролей и данных, находящихся на виртуальных машинах в столь рекламируемых сейчас облаках, ведь вы не можете быть уверенными в том, у кого еще имеется доступ к гипервизорам и хранилищу, на котором  расположены виртуальные машины.
  • Минимизируйте в своих системах количество учетных записей, обладающих правами локального администратора
  • Никогда не заходите с учетной записью администратора домена на сервера и компьютеры, доступные другим пользователям

Вот так вот просто узнать пароль администратора домена. Материал сайта pyatilistnik.org

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *