Извлекаем пароли пользователей из памяти windows с помощью mimikatz

Что такое mimikatz: руководство для начинающих

How Windows stores passwords

In addition to the user password for logging into Windows (which, incidentally, may not be set), other passwords are stored in the OS:

  • Credential Manager
  • Windows Vault
  • IE browser passwords
  • Passwords for connecting to Wi-Fi networks
  • Certifications
  • VPN passwords
  • SSH keys
  • Google Chrome browser passwords
  • Google Talk, Skype, Dropbox, iCloud, Safari credentials

All these passwords are stored encrypted. To encrypt the listed passwords and credentials, DPAPI (the Data Protection Application Programming Interface) is used. For the end user, all processes of encryption and decryption of data are transparent, that is, they do not require any action on their part.

The user password is used to encrypt this data. More precisely, master keys are generated, with the help of which the data is encrypted and decrypted, and the user password is used to decrypt the master keys. One user can have many master keys. A mechanism is provided in case the user password is changed: in fact, hashes from all old passwords are stored and an attempt is made to decrypt the master key until a suitable hash is found.

This is an important consequence: in the system for the current user it is possible to decrypt, for example, passwords from the Google Chrome web browser. But if you copy the file where the passwords of this browser are stored to another computer without the necessary master key, you will not be able to decrypt these passwords.

Шифрование дисков при помощи BitLocker

Механизм шифрования содержимого жёстких дисков, дебютировавший в «Висте», также мигрировал с некоторыми улучшениями в состав корпоративной (Enterprise) и максимальной (Ultimate) редакций Windows 7. Если в предыдущей версии системы приходилось для включения функции криптографической защиты данных вручную разбивать диск на два раздела, то теперь «семёрка» автоматически резервирует место на носителе на этапе установки операционки. Помимо этого в Windows 7 появился агент восстановления данных и была реализована возможность шифрования средствами BitLocker не только системного, но и всех других разделов диска с файловой системой NTFS

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

Защитник Windows

Для защиты от шпионского программного обеспечения в состав Windows 7 включён специальный модуль, автоматически запускаемый при каждой загрузке операционной системы и выполняющий сканирование файлов как в режиме реального времени, так и по заданному пользователем расписанию. В целях регулярного обновления сигнатур вредоносных приложений защитник Windows использует центр обновления для автоматической загрузки и установки новых определений по мере их выпуска. Кроме того, защитник Windows может быть настроен на поиск обновлённых определений в Интернете перед началом проверки хранящихся на диске компьютера данных. Любопытной особенностью антишпионского модуля является умение работать в тандеме с сетевым сообществом Microsoft SpyNet, призванным научить пользователей адекватно реагировать на угрозы, исходящие от шпионских программ. Например, если защитник Windows обнаруживает подозрительное приложение или внесенное им изменение, которые ещё не получили оценки степени опасности, можно просмотреть, как другие участники сообщества отреагировали на такое же предупреждение, и принять верное решение.

Защитник Windows

Тест 1 — сложный пароль в Windows 7

Для начала я скачал Ophcrack LiveCD для Windows 7 (для XP на сайте присутствует отдельный ISO), установил пароль asreW3241

(9 символов, буквы и цифры, одна заглавная) и загрузился с образа (все действия проводились в виртуальной машине).

Главное меню Ophcrack LiveCDГлавное меню Ophcrack LiveCD

Первое, что мы видим — это главное меню Ophcrack с предложением запустить ее в двух режимах графического интерфейса или же в текстовом режиме. По какой-то причине, графический режим у меня не заработал (думаю, из-за особенностей виртуальной машины, на обычном компьютере все должно быть в порядке). А с текстовым — все в порядке и, наверное, даже удобнее.

Первая попытка узнать пароль Windows 7Первая попытка узнать пароль Windows 7

После выбора текстового режима, все что остается делать — это дождаться окончания работы Ophcrack и посмотреть, какие пароли программе удалось выявить. У меня это заняло 8 минут, могу предположить, что на обычном ПК это время сократится в 3-4 раза. Результат первого теста: пароль не определен.

Способ 2. С использованием сторонних утилит

Offline NT Password Editor

Если первый способ подразумевал использование стандартных возможностей Windows, то второй предлагает воспользоваться сторонними утилитами, позволяющими произвести сброс пароля администратора Windows 7. Одной из наиболее приемлемых является Offline NT Password Editor, которая позволяет получить полный доступ к системному разделу ОС. Можно как убрать или поменять пароль, так и активировать учётную запись администратора. В утилите не представлен графический интерфейс, но тем не менее разобраться с ней совсем не сложно. Каждый этап пронумерован и указано, что вам требуется сделать. Итак, какие шаги нужно выполнить для сброса пароля с помощью этой утилиты?

Разобраться в приложении не составит труда

Шаг 1

Первым делом нужно выбрать раздел жёсткого диска, на который установлена ОС Windows. Программа предоставляет список разделов диска с указанием их размера, на который вам и следует ориентироваться. Если помнить, что обычно система устанавливается на диск C, который меньше диска D в несколько раз, ошибиться будет довольно сложно. Введите цифры с номером раздела и нажмите кнопку Enter.

Шаг 2

Далее, нужно указать путь к файлам реестра. Программа предлагает путь по умолчанию, согласитесь с ним и нажмите Enter.

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

Шаг 3

Изменение или сброс пароля путём редактирования пользовательских данных в реестре. В утилите будет запущено chntpw Main Interactive Menu, в котором сразу же выбран пункт 1 — Edit user data and passwords. Подтвердите выбор нажатием кнопки Enter. Если же вам нужно изменить пароль, выберите 2 — Edit (set new) user password.

В открывшемся меню chntpw Edit User Info & Passwords отображаются все аккаунты компьютера, с их кодовым обозначением в шестнадцатеричной системе счисления (столбик RID). Нас интересует учётная запись администратора, чаще всего она отображается первой в списке и выбирается по умолчанию. Если имя аккаунта отображается английскими буквами, напечатайте его в поле ввода под таблицей, если же русскими, то воспользуйтесь информацией из колонки RID. Запись в поле ввода будет в формате 0xABCD, где вместо ABCD нужно поставить значение из таблицы. Выбор подтверждается кнопкой Enter.

Далее отображается User Edit Menu со списком действий, которые можно выполнять с учётной записью администратора. Выберите 1 — Clear (blank) user password и подтвердите кнопкой Enter. Программа должна сообщить об успешном сбросе пароля.

Шаг 4

Для перезагрузки введите команду reboot или нажмите на маленькую кнопку на системном блоке компьютера. Система запустит вас без запроса пароля. Установить его вы сможете самостоятельно в меню управления учётными записями.

ERD Commander

Ещё одна довольно продвинутая утилита для сброса пароля администратора Windows. Для начала потребуется на рабочем компьютере создать загрузочную флешку с утилитой. Для этого:

После загрузки появится окно выбора целевой операционной системы Windows

Теперь вам предстоит работа с загрузочной флешкой ERD Commander. Вот что нужно сделать:

Примечание! Узнать пароль таким способом у вас не получится, только удалить или установить новый!

Способ 3. Подмена системных файлов

Наверняка вы слышали о функции залипания клавиш. Достаточно 5 раз быстро нажать кнопку Shift, как выйдет окошко с запросом на активацию режима. За неё отвечает файл sethc.exe, расположенный в системном разделе Windows. Интересно, что активировать его можно даже в окне ввода пароля при запуске Windows. Но поскольку ситуация такова, что пользователь забыл его, нам нужно заменить его на файл cmd.exe, отвечающий за открытие командной строки. Как это сделать?

Используйте команду net user и перезагрузите компьютер

Примечание! Узнать пароль таким способом вы не сможете, только удалить!

Хранение паролей и хэшей в памяти 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 детектируется большинством антивирусов и браузерами, как потенциально опасное ПО (хакерская утилита).

Утилита mimikatz позволяет извлечь пароли пользователей непосредственно из памяти (путем инъекции в lsass.exe библиотеки sekurlsa.dll), из сохраненного дампа памяти компьютера или даже из файла гибернации.

Microsoft Update KB2871997

However, if you didn’t want to disable , or was too lazy to do it manually which would involve scripting or overwriting the local registry values with GPO you had to wait till May 2014 when Microsoft released KB2871997. This patch stopped the Kerberos security provider from storing passwords in memory:

Microsoft explained in a Nov 2014 post that they had deliberately left out wdigest when they stopped security service providers from storing passwords in memory to ensure backwards compatibility with use cases such as IIS servers.

This update prevents mimikatz from displaying the plaintext password by the provider. Instead you would see this (from my Win 7 SP1 7601 VM):

mimikatz # sekurlsa::logonpasswords

Authentication Id : 0 ; 145971 (00000000:00023a33)
Session           : Interactive from 1
User Name         : Ivan
Domain            : Ivan-PC
Logon Server      : IVAN-PC
Logon Time        : 3/9/2019 11:54:11 PM
SID               : S-1-5-21-4066856272-1925119313-3641309766-10
        msv :
          Primary
         * Username : Ivan
         * Domain   : Ivan-PC
         * NTLM     : 8846f7eaee8fb117ad06bdd830b7586c
         * SHA1     : e8f97fba9104d1ea5047948e6dfb67facd9f5b73
          CredentialKeys
         * NTLM     : 8846f7eaee8fb117ad06bdd830b7586c
         * SHA1     : e8f97fba9104d1ea5047948e6dfb67facd9f5b73
        tspkg :
        wdigest :
         * Username : Ivan
         * Domain   : Ivan-PC
         * Password : (null)
        kerberos :
         * Username : Ivan
         * Domain   : Ivan-PC
         * Password : (null)
        ssp :
        credman :

The setting which controls this can be checked with

reg query HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential

If the key value is 0 you are protected unless you’re running Windows Server 2003/2008, which case you’re probably better off disabling as above. The article referenced also includes a handy table

UseLogonCredential-Value.png

From the table above, you can see that Windows 7, 8, Server 2008 R2 and Server 2012  are by default unprotected and will leak plaintext wdigest passwords via mimikatz. However, if you add the DWORD registry keyword and set to 0

reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 0

C:\Mimikatz>reg query "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest"

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest
    Debuglevel    REG_DWORD    0x0
    Negotiate    REG_DWORD    0x0
    UTF8HTTP    REG_DWORD    0x1
    UTF8SASL    REG_DWORD    0x1
    DigestEncryptionAlgorithms    REG_SZ    3des,rc4
    UseLogonCredential    REG_DWORD    0x0

will display for passwords

  .#####.   mimikatz 2.2.0 (x64) #18362 Aug 14 2019 01:31:47
 .## ^ ##.  "A La Vie, A L'Amour" - (oe.eo)
 ## / \ ##  /*** Benjamin DELPY `gentilkiwi` ( benjamin@gentilkiwi.com )
 ## \ / ##       > http://blog.gentilkiwi.com/mimikatz
 '## v ##'       Vincent LE TOUX             ( vincent.letoux@gmail.com )
  '#####'        > http://pingcastle.com / http://mysmartlogon.com   ***/

mimikatz # privilege::debug
Privilege '20' OK

mimikatz # sekurlsa::logonpasswords

Authentication Id : 0 ; 146288 (00000000:00023b70)
Session           : Interactive from 1
User Name         : Ivan
Domain            : Ivan-PC
Logon Server      : IVAN-PC
Logon Time        : 7/9/2019 12:34:50 AM
SID               : S-1-5-21-4066856272-1925119313-3641309766-1001
        msv :
          Primary
         * Username : Ivan
         * Domain   : Ivan-PC
         * NTLM     : 8846f7eaee8fb117ad06bdd830b7586c
         * SHA1     : e8f97fba9104d1ea5047948e6dfb67facd9f5b73
          CredentialKeys
         * NTLM     : 8846f7eaee8fb117ad06bdd830b7586c
         * SHA1     : e8f97fba9104d1ea5047948e6dfb67facd9f5b73
        tspkg :
        wdigest :
         * Username : Ivan
         * Domain   : Ivan-PC
         * Password : (null)
        kerberos :
         * Username : Ivan
         * Domain   : Ivan-PC
         * Password : (null)
        ssp :
        credman :

However, note that as above regardless of whether the password is displayed in plaintext above by either or , the hashes are leaked via and the above hash easily translates to ‘password’ with NTLM Cracker. Not all NTLM hashes are easily cracked though.

What about the case in the first pic above where instead of a password in the wdigest credentials, you see a long hexadecimal string? Thanks to Secarma Labs, who contacted mimikatz’s author who explained that if mimikatz finds that a password has non-ASCII characters, it prints everything out in hex instead. This typically applies to passwords of service or computer accounts in Active Directory, whose passwords are never entered by humans and automatically managed by AD.

But why  does Windows store the passwords in plaintext in memory? Stackoverflow explains that

List of references

  • https://www.harmj0y.net/blog/redteaming/operational-guidance-for-offensive-user-dpapi-abuse/
  • https://ired.team/offensive-security/credential-access-and-credential-dumping/reading-dpapi-encrypted-secrets-with-mimikatz-and-c++
  • https://www.synacktiv.com/ressources/univershell_2017_dpapi.pdf
  • http://2018.offzone.moscow/getfile/?bmFtZT0xMi0wMF9XaW5kb3dzX0RQQVBJX1Nla3JldGlraS5wZGYmSUQ9NDEy
  • https://github.com/gentilkiwi/mimikatz/wiki/howto-~-credential-manager-saved-credentials
  • https://github.com/gentilkiwi/mimikatz/wiki/howto-~-decrypt-EFS-files

На какую зарплату может рассчитывать специалист по ИБ и какие в этой сфере грейды

Наша табель о рангах — не совсем как в обычном IT. В безопасность, как правило, приходят двумя путями. Путь первый — прямой, как у меня: загорелся, пошёл учиться в вуз по специальности, параллельно принимал участие в каких-то движухах, соревнованиях, где-то подрабатывал и вырос в безопасника. Но он довольно редкий. Чаще люди приходят к нам через IT, так как, условно говоря, после школы не все понимают, чем они хотят заниматься. Начинает человек в своей работе искать какой-то активности — и потихонечку смещается в сторону ИБ. Это довольно органичный путь: иногда переход из IT в ИБ происходит даже в рамках одной компании.

При этом я высчитал такую зависимость: средняя зарплата в IT примерно на 30% выше, чем в безопасности. И у нас довольно сложно определить, кто junior, кто middle, а кто senior. Особенно если человек начинал в одной специальности, потом перешёл в другую, потом в третью. Я знаю примеры, когда люди из offensive переходили в defensive, потому что им просто становилось интересно. Поначалу они теряли в скиллах, но рост в нашей сфере реактивный. Если человек захочет, подниматься можно довольно быстро.

Важный момент, особенно для начинающих: высшее образование в индустрии ИБ приветствуется, но всё ещё не является обязательным и вряд ли будет таковым. Тут как в IT: скиллы важнее дипломов. У меня есть замечательные ребята. Один окончил экономфак, стал аспирантом, писал кандидатскую. Второй отучился на бухгалтера. Через какое-то время оба ушли в IT. А потом сместились и стали успешными безопасниками. Что тот, что другой — очень известные и авторитетные люди на рынке.

Как сбросить пароль на Windows с помощью встроенных в систему средств

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

Чтобы избавиться от забытого кода, не обязательно скачивать сторонние приложения из глобальной сети, подвергая свой стационарный компьютер или ноутбук опасности. Существует и ряд других методов, основанных на использовании только стандартных приложений операционной системы. Далее речь пойдёт именно о таких способах сброса пароля.

Как посмотреть пароль на компьютере Windows 7 при помощи командной строки

«Командная строка» или «CMD» – это предустановленный на Windows 7 софт, с помощью которого можно изменять некоторые системные функции, настройки, запускать или закрывать другие программы посредством ввода специальных команд на английском языке.

Чтобы сбросить пароль рассматриваемым способом, можно воспользоваться простым алгоритмом, призывающим выполнять следующие действия:

  1. Перезагрузить компьютер из меню ввода пароля, нажав на соответствующую клавишу в правом нижнем углу экрана.
  2. В процессе запуска ПК до появления логотипа Виндовс семь находить на клавиатуре кнопку F8 и нажать на неё несколько раз для появления меню специальных возможностей.
  3. Выбрать вариант «Безопасный режим с поддержкой командной строки», переключившись на него посредством нажатия стрелок «Вверх», «Вниз» на клаве компа, а затем тапнуть по «Enter».
  4. Далее открыть меню «Пуск» и прописать в поисковой строке фразу «Командная строка».
  5. Кликнуть по найденному элементу правой клавишей компьютерного манипулятора и запустить приложение с правами админа. чтобы предоставить программ больше прав.
  6. В открывшееся окошко терминала необходимо вбить команду «net user» вручную с клавиатуры PC, после чего тапнуть по «Enter».
  7. После осуществления изложенных выше манипуляций в окне CMD должна отобразиться таблица с названиями всех учётных записей Microsoft, зарегистрированных на данном компьютере. Теперь в строку с мигающим курсором нужно будет вбить название аккаунта Майкрософт, для которого пользователь хочет сбросить пароль, через пробел после введения команды «net user».
  8. Ещё раз тапнуть по «Enter» с клавиатуры для подтверждения своего действия.

Сброс пароля на Windows 7 через командную строку

Дополнительная информация! Указанным выше методом юзер стационарного компьютера или ноутбука сможет сбросить старый пароль и поставить новый в кратчайшие сроки. Также узнавать код и удалять его возможно через системный реестр.

Как узнать пароль учетной записи Windows 7 через «Панель управления»

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

С помощью такого стандартного средства сбросить код от своей учётной записи не составит труда. Для этого потребуется сделать несколько простых действий согласно алгоритма:

  • Зайти в учётную запись администратора.
  • Открыть меню «Пуск» и в колонке параметров справа окна отыскать строчку «Панель управления», после чего нажать на неё один раз левой клавишей манипулятора.
  • Для удобства поиска в строке «Отображение» необходимо выставить значение «Мелкие значки».
  • В общем списке разделов отыскать параметр «Учётные записи пользователей» и кликнуть по нему ЛКМ.
  • Нажать по строчке «Управление другой учётной записью» той же клавишей мышки.
  • После осуществления предыдущих манипуляций на экране монитора должно отобразиться окошко со всеми учётными записями на данном компьютере. Здесь нужно выбрать аккаунт, от которого пользователь забыл пароль, кликнув по нему ЛКМ.
  • В следующем окне потребуется кликнуть по строке «Изменение пароля» один раз левой клавишей манипулятора.
  • Теперь откроется окошко, в котором пользователю останется только ввести новый ключ и подтвердить его, введя второй раз в соответствующее поле. Этот код будет использоваться в дальнейшем при входе в операционную систему, т. е. он заменит старый пароль.
  • Нажать по кнопке «Сменить пароль» и перезагрузить компьютер для окончательного применения внесённых изменений.

После перезапуска компьютера надо убедиться, что смена кода прошла успешно.

Установка пароля на Windows 7 через панель управления

Обратите внимание! Аналогичным образом можно сбрасывать пароли и для других аккаунтов Microsoft, которые присутствуют на компе пользователя. Главное, зайти в учётку администратора

Способ 1. С применением установочного диска либо образа восстановления

Для этого вам нужны будут загрузочный диск или флешка с Windows либо же предварительно созданный диск восстановления (это также может быть и флешка). Если со вторым может не задаться, так как вряд ли вы постоянно создаёте свежие диски восстановления, то установочный образ можно скачать на большом количестве сайтов.

  1. Вставьте диск либо флешку в ПК, в BIOS отметьте носитель в качестве приоритетного при загрузке. Это нужно для того, чтобы произошла загрузка с внешнего носителя, а не со встроенного жёсткого диска.
  2. Зависимо от версии Windows, нажмите Диагностика — Дополнительные параметры — Командная строка либо Восстановление системы — Далее — Командная строка.
  3. Когда командная строка откроется, добавьте regedit и кликните Enter.
  4. Кликните мышкой по разделу HKEY_LOCAL_MACHINE, чтобы выделить его, затем нажмите Файл — Загрузить куст.
  5. В открывшем окошке перейдите в C:WindowsSystem32config (если система инсталлирована в иной раздел, адрес будет несколько другим) и откройте файл System.
  6. Назовите загружаемый раздел любым именем, например, 555.
  7. В редакторе реестра отыщите в раздел HKEY_LOCAL_MACHINE555Setup, найдите там параметры CmdLine и SetupType. Кликните по каждому из них дважды и смените показатели на следующие:
  8. CmdLine — cmd.exe.
  9. SetupType — 0 поменяйте на 2.
  10. Отметьте созданный вами раздел 555, затем кликните Файл — Выгрузить куст.
  11. Достаньте флешку или диск, закройте все активные утилиты, выберите «Перезагрузка» в главном окне мастера восстановления.

Выделите раздел HKEY_LOCAL_MACHINE, как указано на риснке

После перезапуска при входе в систему будет развёрнута командная строка. С её помощью и будем выполнять дальнейшие операции.

Сброс пароля

Чтобы сбросить пароль, примените такую команду:

net user логин пароль

Эта команда актуальна, если вы точно помните написание имени пользователя. Если вы забыли, то напечатайте команду net user, после чего будут отображены все сохранённые на ПК учётные записи.

Создание нового аккаунта

Если у вас не установлено ни одного аккаунта администратора, необходимо его создать с помощью ввода нескольких команд. Для этого одну за другой введите их в командной строке:

net user логин пароль /add

net localgroup Администраторы логин /add

net localgroup Пользователи логин /delete

Первая команда сначала создаёт новую учётку, затем относит её к группе администраторов, а затем удаляет из группы пользователей. После применения всех команд закройте командную строку.

Теперь у вас есть аккаунт администратора

Понравилась статья? Поделиться с друзьями:
Быть в курсе нового
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: