Вытащить сохраненные пароли windows

Содержание
  1. HackWare.ru
  2. Этичный хакинг и тестирование на проникновение, информационная безопасность
  3. Извлечение всех паролей (веб-браузеры, почтовые программы и пр.) в Windows и Linux
  4. Программы для восстановления паролей
  5. Инструкция по использованию LaZagne в Windows
  6. Заключение
  7. Связанные статьи:
  8. Рекомендуется Вам:
  9. 19 комментариев to Извлечение всех паролей (веб-браузеры, почтовые программы и пр.) в Windows и Linux
  10. Cохраненные пароли windows 8, 10 Архивация\Удаление\Перенос
  11. Mimikatz: Извлекаем пароли пользователей Windows из памяти в открытом виде
  12. Хранение паролей и хэшей в памяти Windows
  13. Используем Mimikatz для извлечения паролей пользователей из lsass.exe онлайн
  14. Получение пароля пользователя из дампа памяти Windows
  15. Получение паролей пользователей из файлов виртуальных машины и файлов гибернации
  16. Использование Mimikatz в pass-the-hash атаках
  17. Как защитить Windows от извлечения паролей из памяти через mimikatz?

HackWare.ru

Этичный хакинг и тестирование на проникновение, информационная безопасность

Извлечение всех паролей (веб-браузеры, почтовые программы и пр.) в Windows и Linux

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

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

А если вы собираетесь взламывать чужие пароли, то обращу внимание, что LaZagne – это утилита командной строки, и можно придумать разные интересные варианты её скрытого использования на удалённых для вас машинах для извлечения паролей цели…

Программы для восстановления паролей

Думаю, вы уже поняли, что я буду говорить о LaZagne.

В качестве хороших альтернатив, можно вспомнить программы от NirSoft: WebBrowserPassView, Mail PassView, MessenPass и другие. У программ вполне говорящие названия (первая извлекает пароли из веб-браузеров, вторая – из почтовых клиентов, треть – из клиентов для обмена мгновенными сообщениями).

Это абсолютно бесплатные программы, без рекламы и мусора, у многих из них есть интерфейс командной строки, они очень нетребовательны к ресурсам. Но они работают только под Windows и у них закрыт исходный код. Если у программы закрыт исходный код, то это оставляет простор для мысли: она просто извлекает пароли, или она извлекает пароли И передаёт их кому надо…

У LaZagne открытый исходный код, программа написана на Python 2, т.е. если вы знаете, как настроить среду выполнения Python и установите необходимые зависимости, то сможете запускать прямо исходные скрипты (как это делается на Linux). Для тех, кто это не умеет / не хочет разбираться, собраны исполнимые файлы, которые также содержат все необходимые зависимости.

Кстати про Linux. Версия для этой ОС отличается от версии под Windows тем, что поддерживает меньшее количество программ, для которых умеет восстанавливать пароли.

Кстати: кто знает другие подобные функциональные программы с открытым исходным кодом – пишите о них в комментариях, будет интересно их посмотреть.

Инструкция по использованию LaZagne в Windows

Программа весьма проста в использовании. Если вы хотите воспользоваться готовым исполнимым файлом, то перейдите на страницу релизов: https://github.com/AlessandroZ/LaZagne/releases и выберите последнюю версию для Windows (файл Windows.zip).

Разархивируйте скаченный файл. Откройте командную строку в Windows (Win+x) и выберите там «Командная строка» или «Командная строка (администратор)». По идее, как это описано в официальной документации, при запуске программы от администратора, она должна находить пароли для всех пользователей, плюс пароль для Wi-Fi. У меня напротив, в командной строке от имени администратора программа совсем не работает (ничего не находит). Возможно, нужно запускать другим образом, например:

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

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

Вот мой результат:

Чтобы сохранить данные в файл добавьте опцию -oN:

Файл сохраняется не относительно расположения запущенной программы, а относительно текущей рабочей директории (ту, которую видно в приглашении командной строки). Например, в моём случае это C:\Users\Alex\, значит файл с найденными паролями сохранён в C:\Users\Alex\results\

Читайте также:  Не могу обновить manjaro linux

Ещё можно использовать опцию -oJ для сохранения в формате Json или опцию -oA – для сохранения сразу в двух форматах. Кстати, у меня, в Json сохраняет нормально, а при выборе сохранения в виде обычного текста, сохраняются всего несколько паролей.

Если у вас тоже с этим проблемы, то можно воспользоваться банальным перенаправлением вывода:

Если хотите искать пароли только для браузеров:

Можно даже запустить поиск только для определённых браузеров, например, для Firefox’а:

Полный список доступных опций и поддерживаемое ПО смотрите в справке по программе.

Заключение

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

Вы можете в некоторой степени обезопасить себя от этой программы, если, например, будете использовать мастер пароль для браузеров (которые это поддерживают).

О таких программах всегда следует помнить, если пользуетесь компьютерами общего пользования (например, в Интернет-кафе) или ваш компьютер хотя бы на некоторое время выпадает из вашего владения (при сдаче в багаж, сдаче в ремонт, продаже).

При продаже не стоит надеяться на простое удаление или форматирование жёсткого диска. Криминалистические инструменты (вроде Autopsy), способны восстанавливать данные. Кстати, Autopsy в дополнение к паролям, сможет показать историю, кукиз веб-браузеров, посещённые сайты, информацию о времени пользования компьютера (формируемую по многим фактором) и ещё об очень многом.

Связанные статьи:

  • Как узнать, к каким Wi-Fi сетям подключался компьютер и пароли от этих Wi-Fi сетей (100%)
  • Утилиты NirSoft для извлечения информации из Windows (96.4%)
  • Как узнать введённые на сайты пароли (81.8%)
  • Выявление атаки человек-посередине (Man in the middle, MitM-атак) (60.7%)
  • Программы для восстановления данных (60.7%)
  • Генерация словарей по любым параметрам с pydictor (RANDOM — 14.6%)

Рекомендуется Вам:

19 комментариев to Извлечение всех паролей (веб-браузеры, почтовые программы и пр.) в Windows и Linux

Выдаёт ошибку «Traceback (most recent call last):
File «laZagne.py», line 17, in
File «C:\Users\joe\Desktop\pyinstaller-develop\PyInstaller\loader\pyimod03_imp
orters.py», line 389, in load_module
File «site-packages\psutil\__init__.py», line 124, in
File «C:\Users\joe\Desktop\pyinstaller-develop\PyInstaller\loader\pyimod03_imp
orters.py», line 389, in load_module
File «site-packages\psutil\_pswindows.py», line 15, in
File «C:\Users\joe\Desktop\pyinstaller-develop\PyInstaller\loader\pyimod03_imp
orters.py», line 546, in load_module
ImportError: DLL load failed: ═х эрщфхэр єърчрээр яЁюЎхфєЁр.
Failed to execute script laZagne»

Если я правильно понимаю, вы запускаете скрипт, а не бинарник? Скрипт написан на Python 2. Все его зависимости:

Могу ещё только добавить, что на Linux у меня скрипт заработал на Kali Linux и BlackArch.

Запускал бинарник в windows! Пришлось установить питон но эффект тот же((((

Алексей,по поводу других подобных программ: https://github.com/pourquoibenoit/WinPirate.git  — на мой взгяд интересный проект который в переспективе должен стать неким подобием rubber duck. Что касается паролей : https://github.com/putterpanda/mimikittenz.git — утилита достаточно бодро достаёт пароли,ключи шифрования и т.п из целевых процессов,а также поддерживает кастомизацию.

Кстати, идея запускать .py файл LaZagne на Windows мне нравится. Наверняка же кто-то из разбирающихся в Python прочитает. Думаю, не только от меня, будет огромная благодарность тому, кто распишет как установить зависимости и правильно запустить. Инструкция для тех, кто совсем не работал с Python на Windows. Т.е. начиная с того, что мы скачиваем Python.

Страничка проекта на гитхабе: https://github.com/AlessandroZ/LaZagne (там же перечислены зависимости).

На Kali Linux всё получилось «как 2 пальца…»:

А так в BlackArch:

На компе жертвы ещё и Питон ставить? нужен автономный экзешник!

Cохраненные пароли windows 8, 10 Архивация\Удаление\Перенос

Очень часто при обращение к какому либо ресурсу мы сохраняем учетные данные для данного ресурса.
Но возникает момент, когда данные меняются или нам необходимо переустановить ОС и не потерять сохранённые пароли.
Используя панель управления вызываем «диспетчер администрирования учетных записей».

диспетчер администрирования учетных записей

Диспетчер содержит в себе записи условно разделенные на «учетные данные для интернета» и «учетные данные windows».

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

Читайте также:  Windows server service pack download

Вторые, это данные которые хранятся в контейнере windows. Это те учетные данные, которые мы используем в проводнике, удалённом подключение и в прочих нативных приложениях.


Учетные данные можно изменить или удалить. Посмотреть учетные данные там невозможно.
Данные можно архивировать для последующего переноса на другую систему, делает это весьма просто нажимаем «Архивация учетные данных» указываем куда сохранить архив и вводим пароль. На целевой системы выполняем такую же последовательность действий только используем уже «Восстановление учетных данных»
Можно использовать более каноничный интерфейс, вызываемые такой командой:

Mimikatz: Извлекаем пароли пользователей Windows из памяти в открытом виде

В этой статье, написанной в рамках серии статьей, посвященной обеспечению безопасности Windows-систем (в последний статье мы обсуждали вопросы безопасности паролей, хранимых в GPP) , мы познакомимся с достаточно простой методикой получения в открытом виде паролей всех пользователей, работающих в Windows-системе с помощью Open Source утилиты Mimikatz.

Хранение паролей и хэшей в памяти 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 библиотеки sekurlsa .dll ), из сохраненного дампа памяти компьютера или даже из файла гибернации.

Используем Mimikatz для извлечения паролей пользователей из lsass.exe онлайн

  • Скачайте и запустите Mimikatz.exe с правами администратора (есть x86 и x64-версии утилиты для соответствующих систем)
  • В контексте утилиты выполните команды

mimikatz # privilege::debug
mimikatz # sekurlsa::logonPasswords full
(последняя команда для все активных пользователей в системе отобразит имена учетных записей и их пароли).

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

Представьте себе, что это терминальный сервер, на котором одновременно работают множество пользователей, и на котором есть в том числе сессия администратора предприятия. Т.е. при наличии прав администратора на одном единственном сервере можно даже перехватить пароль администратора домена.

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

Дамп памяти для процесса LSASS можно получить с помощью PowerShell функции Out-Minidump.ps1 . Импортируйте функцию Out-Minidump в PoSh и создайте дамп памяти процесса LSASS:

Получившийся дамп памяти, в нашем примере это lsass_592.dmp (по умолчанию он сохраняется в каталоге %windir\system32%), нужно скопировать на другой компьютер, в которой имеется утилита mimikatz и выполнить команду:

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

Как вы видите, ничего сложного.

Таким способом можно получить дамп памяти с удаленного компьютера с помощью psexec или через WinRM (при наличии прав администратора) и извлечь из него пароль пользователя.

Читайте также:  Autoruns для windows portable

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

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

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

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

Получение паролей пользователей Windows в открытом виде с помощью утилиты Mimikatz работает на следующих системах, в том числе запущенных на гипервизорах Hyper-V 2008/2012 и VMWare различных версий:

  • Windows Server 2008 / 2008 R2
  • Windows Server 2012/ R2
  • Windows 7
  • Windows 8

Использование Mimikatz в pass-the-hash атаках

В том случае, если не удается получить пароль пользователя, а только его хеш, Mimikatz можно использовать для так называемой атаки pass-the-hash (повторное использованиу хэша). В этом случае хэш может использовать для запуска процессов от имени пользователя. Например, получив NTLM хэш пользователя, следующая команда запустит командную строку от имени привилегированного аккаунта:
sekurlsa::pth /user:Administrator /domain:CORP /ntlm: /run:cmd

Как защитить 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 равным 0 (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), поэтому в качестве рекомендаций рекомендуется реализовать следующие меры:

  • Запретить хранить пароли с использование обратимого шифрования (Reversible Encryption)
  • Отключить NTLM
  • Запретить использование сохранённых паролей в Credential Manager
  • Запретить кэшировать учетные данные доменных пользователей (ключ CachedLogonsCount и политика Interactive logon: Number of previous logons to cache)
  • Если функциональный уровень домена не ниже Windows Server 2012 R2, можно добавить учетные записи администартороав в специальную группу Protected Users

При тестировании mimkatz в Windows 10 Pro x64 с настройками утилита mimkatz 2.0 смогла получить хэши пароля активного пользователя (но не пароль в открытом виде).

На более старых системах нужно в качестве временного решения нужно ограничить получение привилегии debug и отключить поставщика безопасности wdigest через реестр. Для этого в ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa найдите ключ Security Packages и удалить из списка пакетов строку wdigest. Однако нужно понимать, что атакующему, при наличии соответствующих прав на реестр, не составит труда вернуть настройки обратно.

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

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