- Как узнать пароль сервера на windows
- Как узнать пароль сервера на windows
- Получить пароль администратора домена
- Извлекаем пароли пользователей из lsass.exe через rdp или интеративную сессию
- Получение пароля пользователя из дампа памяти Windows
- Получение паролей из файлов виртуальных машины и файлов гибернации
- Как защититься от получения пароля через mimikatz?
- Как сбросить пароль администратора в Windows Server 2008 R2.
- Восстановление пароля в Windows 2012 R2 Печать
- Mimikatz: Извлекаем пароли пользователей Windows из памяти в открытом виде
- Хранение паролей и хэшей в памяти Windows
- Используем Mimikatz для извлечения паролей пользователей из lsass.exe онлайн
- Получение пароля пользователя из дампа памяти Windows
- Получение паролей пользователей из файлов виртуальных машины и файлов гибернации
- Использование Mimikatz в pass-the-hash атаках
- Как защитить Windows от извлечения паролей из памяти через mimikatz?
Как узнать пароль сервера на windows
Добрый день! Уважаемые читатели и гости IT блога Pyatilistnik.org. В предыдущей части мы разобрали «Как создать и добавить локального пользователя (администратора) через групповые политики в windows server 2008R2 / 2012R2», теперь давайте узнаем «Как узнать пароль локального администратора GPO (GROUPS.XML) в windows server 2008R2/2012R2». Как оказалось на практике все очень просто и даже увлекательно, когда понимаешь на сколько ты не защищен.
Для начала узнаем GUID нашей GPO это ускорит процесс, злоумышленник же потратит на это чуть дальше времени. Идем в Управление групповой политикой и выбираем ту что создает нового локального администратора. Щелкаем изменить и заходим в свойства.
Как узнать пароль локального администратора GPO (GROUPS.XML) в windows server 2008R2-2012R2-01
Видим уникальное имя.
Как узнать пароль локального администратора GPO (GROUPS.XML) в windows server 2008R2-2012R2-02
При поднятии домена создаются и расшариваются папки такие как Sysvol. Попасть в нее можно с любого компа в домене по unc пути \\ваш домен\. Дальше SYSVOL\ваш домен\Policrs\имя вашей политики
Как узнать пароль локального администратора GPO (GROUPS.XML) в windows server 2008R2-2012R2-03
Как узнать пароль локального администратора GPO (GROUPS.XML) в windows server 2008R2-2012R2-04
Сохраним его и откроем. Нас интересует строчка cpassword =тут и есть кэш данного пароля его то и будем ломать. Теоритически AES256 тажело расшифровать, но только не в нашем случае.
Для расшифровки качаем CrypTool – очень полезную утилиту для работы с хэшами.
https://www.cryptool.org/en/. Про то как установить CrypTool писал в данной статье.
Как узнать пароль локального администратора GPO (GROUPS.XML) в windows server 2008R2-2012R2-05
Запускаем его и добавляем в него наш хэш. Особенности Base64 в том, что его длина должна быть кратна 4. Поэтому считаем блоки по 4, и если в последнем блоке не хватает символов, то недостающие дописываем символами =. В моем случае это был один символ =.
Как узнать пароль локального администратора GPO (GROUPS.XML) в windows server 2008R2-2012R2-06
Теперь декодируем его из Base64.
Indiv. Procedures – Tools – Codes – Base64 Encode/Decode – Base64 Decode
Полученный код зашифрован AES256 и ситуация кажется безисходной, только вот ключ расшифровки Microsoft сама выложила в открытые источники (MSDN 2.2.1.1.4 Password Encryption).
И этот код (hex):
4e9906e8fcb66cc9faf49310620ffee8f496e806cc057990209b09a433b66c1b
Как узнать пароль локального администратора GPO (GROUPS.XML) в windows server 2008R2-2012R2-07
Как узнать пароль локального администратора GPO (GROUPS.XML) в windows server 2008R2-2012R2-08
Для этого выбираем Analysis – Symmetric Encryption (modern) – AES (CBC)…
Как узнать пароль локального администратора GPO (GROUPS.XML) в windows server 2008R2-2012R2-09
В длине ключа (Key length:) выбираем 256 bits, вводим ключ, официально полученный от Microsoft и нажимаем Start.
Через секунду получаем наш код:
Как узнать пароль локального администратора GPO (GROUPS.XML) в windows server 2008R2-2012R2-10
Итого нам остается только удалить из ключа лишние точки, которыми разделены символы, и у нас есть пароль локально администратора всех компьютеров, к которым применяется эта политика безопасности
Как узнать пароль сервера на windows
Всем привет ранее я рассказывал как можно взломать контроллер домена и произвести сброс пароля администратора домена, но там нужно иметь физический доступ серверу либо к хосту виртуализации, да и все это будет сразу обнаружено, так как придется контроллер домена выключать. Все можно сделать гораздо более изящнее и без шумно. В результате того метода, что я вам расскажу вы сможете узнать пароль пользователя, а в идеале и системного администратора, главное правильно это организовать. Вся информация предоставляется исключительно в ознакомительных целях, чтобы администраторы безопасности имели представление, как защититься от такой проблемы.
Получить пароль администратора домена
Большинство системных администраторов пребывают в уверенности, что 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 виртуальной машины VMWare в дамп, выполним команду:
Ищем в дампе процесс lsass.exe:
Как узнать пароль администратора домена-11
И наконец, набираем
и получаем список пользователей Windows и их пароли в открытом виде:
Как узнать пароль администратора домена-12
Получение паролей пользователей Windows в открытом виде с помощью утилиты Mimikatz работает на следующих системах, в том числе запущенных на гипервизорах Hyper-V 2008/2012 и VMWare различных версий:
Как защититься от получения пароля через mimikatz?
В качестве временного решения можно предложить отключить поставщика безопасности wdigest через реестр. Для этого в ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa найдите ключ Security Packages и удалить из списка пакетов строку wdigest.
Как узнать пароль администратора домена-13
Однако нужно понимать, что атакующему, при наличии соответствующих прав на реестр, не составит труда поменять вернуть настройки обратно.
Выводы. Еще раз напоминаем прописные истины:
Как сбросить пароль администратора в Windows Server 2008 R2.
Данную заметку должен иметь каждый уважающий себя системный администратор, как приходящий в организацию, где всё уже настроено, но пароли не оставлены.
Имеем систему под управлением – Windows Server 2008 R2 Standard SP1 English.
Задача: сбросить пароль на локальную учётную запись Administrator (Администратора)
Бывало, что к Вам переходила система, а доступ к ней отсутствовал. Под локальным администратором пароль не известен.
И не всеми любимый отказ зайти:
Для решения поставленной задачи проделаем ниже следующие действия.
Загружаемся с установочного диска :
(Вставить установочный диск и выставить в BIOS первым загружаться, с CD)
В окне выбора меню инсталляции и раскладки клавиатуры оставляем всё как есть, то есть English, нажимаем Next.
Теперь в левом углу выбираем пункт “ Repair your computer ”:
Далее выбираем инструмент, который будет использоваться для восстановления – это Command Prompt (Командная строка – cmd.exe):
В открывшимся окне командной строки проделываем следующие манипуляции:
X:\Sources> cd /d d:\
D:\ cd Windows
D:\Windows\ cd System32
D:\Windows\System32\ move Utilman.exe Utilman.exe.backup
D:\Windows\System32\ copy cmd.exe utilman.exe
Для справки, исполняемый файл utilman.exe – это Центр специальных возможностей.
Перезагружаем систему доходим до того момента где нужно ввести учётную записи и пароль на вход в систему, но пока этого делать не нужно. Обратим внимание на левый нижний угол:
Запуститься окно командной строки :
Теперь у нас доступ к системе с правами NT Authority \ SYSTEM :
Whoami
Теперь меняем пароль на локальную учётную запись Администратора :
Net user Administrator Aa1234567 (теперь пароль на локальную учётную запись Administrator будет указанный нами, к примеру Aa1234567):
В окне командной строке вводим:
X:\Sources> cd /d d:\Windows\System32
D:\Windows\System32\ copy utilman.exe.backup utilman.exe
Overwrite utilman.exe? (Yes/No/All) : y
Снова перезагружаем систему и заходим уже под изменённым паролем для учётной записи Администратора. Данная заметка палочка выручалочка самому себе и разъяснение другим, как решить поставленную задачу.
Восстановление пароля в Windows 2012 R2 Печать
В данной статье мы рассмотрим возможность самостоятельно сбросить пароль пользователя и администратора стандартными средствами Windows. Данный пример был основан на Windows Server 2012 Standart.
Если по каким-то причинам вы забыли или потеряли ваш пароль, то при попытки войти в систему будет отображаться ошибка «Неправильный пароль. Попробуйте ещё раз». Инструкцию по восстановлению пароля будет расписана по порядку.
Шаг 1.
Загружаемся с установочного диска Windows Server (он же является и диском восстановления). После загрузки, высветится окно с Установкой Windows и будут три окна с выбором: устанавливаемого языка, формат времени и метод ввода (раскладка клавиатуры). Выбираем язык и нажимаем «Далее».
После необходимо выбрать в левом нижним углу кнопку «Восстановление системы».
После загрузки высветится окно с выбором действий: Продолжить, Диагностика и Выключить компьютер. Нажимаем на кнопку «Диагностика», что означает восстановление компьютера и возврат в исходное состояние.
В меню дополнительных параметров нажмите на «Командная строка». Её можно применять для расширенного устранения неполадок.
Далее просто выполняем команды:
Закрываем командную строку и теперь в окне «Выбор действий» нажимаем Продолжить. Ожидаем загрузки операционной системы.
Далее закрываете командную строку и вводите указанный вами ранее новый пароль, а именно « TestPassword123 ». Для смены пароля, войдите в панель управления →Учетные записи пользователей → Учетные записи пользователей → Управление другой учетной записью → нажмите 2 раза на необходимого вам пользователя или администратора → Изменить пароль.
Mimikatz: Извлекаем пароли пользователей Windows из памяти в открытом виде
Хранение паролей и хэшей в памяти Windows
Большинство системных администраторов пребывают в уверенности, что Windows не хранит пароли пользователей в открытом виде, а только в виде его хэша. И хотя на сегодня существует большое количество утилит, способных извлечь хэши пользовательских паролей из системы, можно с определенной уверенностью сказать, что при использовании достаточно сложного пароля не «из словаря», у злоумышленника практически нет шансов подобрать его прямым брутфорсом или по базе уже рассчитанных хэшей.
В принципе, это так, но есть различные нюансы, касающиеся пользователей, залогиненых в конкретной системе Windows. Дело в том, что некоторые системные процессы в своих служебных целях все-таки используют пароли пользователей в открытом (или зашифрованном) виде, а не их хэши.
Так, например, механизм дайджест-аутентификации (HTTP Digest Authentication), используемый для поддержки SSO (Single Sign On), для своей работы требует знания вводимого пароля пользователя, а не только его хеша (о том, почему разработчиками это было реализовано именно так, можно только догадываться). Пароли (именно пароли, а не их хэши) пользователей в зашифрованном виде хранятся в памяти ОС, а если быть более точным в памяти процесса LSASS.EXE. Проблема в том, что шифрование паролей реализовано с помощью стандартных Win32 функций LsaProtectMemory и LsaUnprotectMemory, которые предназначены для шифрования/расшифровки некоторого участка памяти. Утилита французских разработчиков mimikatz позволяет получать зашифрованные данные из памяти и расшифровывать их с помощью функции LsaUnprotectMemory, позволяя вывести на консоль все учетные записи пользователей, авторизованных в системе, и их пароли (в открытом, уже расшифрованном виде!). Для эксплуатации уязвимости атакующий должен иметь возможность присоединить специальную библиотеку к процессу lsass.exe.
Скачать утилиту mimikatz можно тут: http://blog.gentilkiwi.com/mimikatz
Используем Mimikatz для извлечения паролей пользователей из lsass.exe онлайн
mimikatz # privilege::debug
mimikatz # sekurlsa::logonPasswords full
(последняя команда для все активных пользователей в системе отобразит имена учетных записей и их пароли).
Как вы видите, утилита показала нам суперсложный пароль пользователя user в открытом виде! Все это благодаря тому, что на данном компьютере разрешено использовать режим отладки, выставляя флаг SeDebugPrivilege для нужного процесса. В этом режиме программы могут получать низкоуровневый доступ к памяти процессов, запущенных от имени системы.
Представьте себе, что это терминальный сервер, на котором одновременно работают множество пользователей, и на котором есть в том числе сессия администратора предприятия. Т.е. при наличии прав администратора на одном единственном сервере можно даже перехватить пароль администратора домена.
Получение пароля пользователя из дампа памяти Windows
Получившийся дамп памяти, в нашем примере это lsass_592.dmp (по умолчанию он сохраняется в каталоге %windir\system32%), нужно скопировать на другой компьютер, в которой имеется утилита mimikatz и выполнить команду:
И следующей командой получим из сохранённого дампа памяти список пользователей, работающих в системе и их пароли:
Как вы видите, ничего сложного.
Таким способом можно получить дамп памяти с удаленного компьютера с помощью psexec или через WinRM (при наличии прав администратора) и извлечь из него пароль пользователя.
Получение паролей пользователей из файлов виртуальных машины и файлов гибернации
Идем дальше. С помощью простых манипуляций злоумышленник может легко извлечь пароли пользователей из файлов дампов памяти, файла гибернации системы (hiberfil.sys) и. vmem файлов виртуальных машин (файлы подкачки виртуальных машин и их снапшоты).
Например, в случае необходимости преобразовать файл подкачки vmem виртуальной машины VMWare в дамп, выполним команду:
Ищем в дампе процесс lsass.exe:
И наконец, набираем:
и получаем список пользователей Windows и их пароли в открытом виде.
Получение паролей пользователей Windows в открытом виде с помощью утилиты Mimikatz работает на следующих системах, в том числе запущенных на гипервизорах Hyper-V 2008/2012 и VMWare различных версий:
Использование Mimikatz в pass-the-hash атаках
В том случае, если не удается получить пароль пользователя, а только его хеш, Mimikatz можно использовать для так называемой атаки pass-the-hash (повторное использованиу хэша). В этом случае хэш может использовать для запуска процессов от имени пользователя. Например, получив NTLM хэш пользователя, следующая команда запустит командную строку от имени привилегированного аккаунта:
sekurlsa::pth /user:Administrator /domain:CORP /ntlm:
Как защитить Windows от извлечения паролей из памяти через mimikatz?
В Windows 8.1 и Server 2012 R2 (и выше) возможности по извлечению паролей через LSASS несколько ограничены. Так, по-умолчанию в этих системах в памяти не хранятся LM хэш и пароли в открытом виде. Этот же функционал бэкпортирован и на более ранние версии Windows (7/8/2008R2/2012), в которых нужно установить специальное обновление KB2871997 (обновление дает и другие возможности усилить безопасность системы) и в ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest установить параметр DWORD реестра UseLogonCredential равным (WDigest отключен).
Если после установки обновления и ключа UseLogonCredential попробовать извлечь пароли из памяти, вы увидите, что mimikats с помощью команды creds_wdigest не сможет извлечь пароли и хэши.
Однако при наличии прав администратора вы сможете легко изменить этот ключ:
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1
После этого вы опять сможете получить доступ к паролям в памяти LSA.
В инструментарии mimikatz есть и другие инструменты получения паролей и их хэшей из памяти (WDigest, LM-hash, NTLM-hash, модуль для захвата билетов Kerberos), поэтому в качестве рекомендаций рекомендуется реализовать следующие меры:
При тестировании mimkatz в Windows 10 Pro x64 с настройками утилита mimkatz 2.0 смогла получить хэши пароля активного пользователя (но не пароль в открытом виде).
На более старых системах нужно в качестве временного решения нужно ограничить получение привилегии debug и отключить поставщика безопасности wdigest через реестр. Для этого в ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa найдите ключ Security Packages и удалить из списка пакетов строку wdigest. Однако нужно понимать, что атакующему, при наличии соответствующих прав на реестр, не составит труда вернуть настройки обратно.
Выводы. Еще раз напоминаем прописные истины: