Kali linux взлом пароля windows

Как УЗНАТЬ пароль Windows?

The Codeby — одна из сильнейших Red Team в RU сегменте. Команда профессионалов, специализирующаяся на аудите информационных систем и тестировании на проникновение.

Мы предлагаем: Аудит веб-сайта компании, Аудит внешнего периметра, Аудит веб-приложения, Аудит внутренней корпоративной сети, Проверка ИБ-грамотности сотрудников, Анализ кода ПО, Аудит Wi-Fi и СКУД, Выявление уязвимостей ПО серверов и рабочих станций, Пентест инфраструктуры методом черного ящика. Подробнее .

В этой статье будет описано как узнать пароль от Windows (любых версий), НЕ сбросить, НЕ изменить, а именно УЗНАТЬ.

Сначала отступление

Сбросить пароль или изменить его в системе Windows легко — школьники уже наснимали свои стопятьсот видео как это сделать.

Продвинутые школьники используют ПРО версию программы ElcomSoft System Recovery, которая «за пол минуты взламывает пароль» (на самом деле, ищет по словарю наиболее популярные пароли, сравнивает их с ранее рассчитанными хэшами и, если школьник задал пароль что-нибудь вроде «1», «1111», «123», «admin» , «password», то программа его отображает).

Продвинутые пользователи снимают видео как сбросить пароль с помощью Kali Linux. Причём, Kali Linux используется для 1) монтирования диска с ОС Windows, 2) переименование одного файла для запуска командной строки… Я думаю, в свободное время эти люди колют орехи айфонами.

На самом деле, я шучу. В 99.99% случаев именно это и нужно — сбросить пароль школьника или бухгалтера, которые зачем-то его поставили и благополучно забыли.

Если вам именно это и нужно, то загрузитесь с любого Live-диска (это может быть и Linux – что угодно). В каталоге C:WindowsSystem32 переименуйте файл cmd.exe в sethc.exe или в osk.exe. Понятно, что нужно сделать бэкап файла sethc.exe (или osk.exe), а файл cmd.exe копировать с присвоением нового имени.

Если вы переименовали файл в sethc.exe, то при следующей загрузке Windows, когда у вас спросят пароль, нажмите пять раз кнопку SHIFT, а если в osk.exe, то вызовите экранную клавиатуру. И в том и в другом случае у вас откроется командная строка (cmd.exe) в которой нужно набрать:

Т.е. если имя пользователя admin, то нужно набрать:

А теперь я буду снимать своё видео.

Узнаём пароль Windows с помощью Kali Linux

Теория: где Windows хранит свои пароли?

Windows размещает пароли в файле реестра SAM (System Account Management) (система управления аккаунтами). За исключением тех случаев, когда используется Active Directoryis. Active Directoryis — это отдельная система аутентификации, которая размещает пароли в базе данных LDAP. Файл SAM лежит в C: System32config ( C: sys32config ).

Файл SAM хранит пароли в виде хэшей, используя хэши LM и NTLM, чтобы добавить безопасности защищаемому файлу.

Отсюда важное замечание: получение пароля носит вероятностный характре. Если удасться расшифровать хэш — то пароль наш, а если нет — то нет…

Файл SAM не может быть перемещён или скопирован когда Windows запущена. Файл SAM может быть сдамплен (получен дамп), полученные из него хэши паролей могут быть подвержены брут-форсингу для взлома оффлайн. Хакер также может получить файл SAM загрузившись с другой ОС и смонтировав C: . Загрузиться можно с дистрибутива Linux, например Kali, или загрузиться с Live-диска.

Читайте также:  Aquarius ns725 драйвера windows

Одно общее место для поиска файла SAM это C: repair . По умолчанию создаётся бэкап файла SAM и обычно он не удаляется системным администратором. Бэкап этого файла не защищён, но сжат, это означает, что вам нужно его разархивировать, чтобы получить файл с хэшами. Для этого можно использовать утилиту expand. Команда имеет вид Expand [FILE] [DESTINATION] . Здесь пример раскрытия файла SAM в файл с именем uncompressedSAM.

Чтобы улучшить защиту от оффлайн хакинга, Microsoft Windows 2000 и более поздние версии включают утилиту SYSKEY. Утилита SYSKEY зашифровывает хэшированные пароли в файле SAM используя 128-битный ключ шифрования, который разный для каждой установленной Windows.

Атакующий с физическим доступом к системе Windows может получить SYSKEY (также называймый загрузочный ключ) используя следующие шаги:

  1. Загрузиться с другой ОС (например, с Kali).
  2. Украсть SAM и хайвы SYSTEM ( C: System32config ( C: sys32config )).
  3. Восстановить загрузочный ключ из хайвов SYSTEM используя bkreg или bkhive.
  4. Сделать дамп хэшей паролей.
  5. Взломать их оффлан используя инструмент, например такой как John the Ripper.

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

Монтирование Windows

Есть доступные инструменты для захвата Windows-файлов SAM и файла ключей SYSKEY. Один из методов захвата этих файлов — это монтирование целевой Windows системы так, чтобы другие инструменты имели доступ к этим файлам в то время, пока Microsoft Windows не запущена.

Первый шаг — это использование команды fdisk -l для идентификации ваших разделов. Вы должны идентифицировать Windows и тип раздела. Вывод fdisk показывает NTFS раздел, например так:

Device Boot Start End Blocks Id System

/dev/hdb1* 1 2432 19535008+ 86 NTFS

/dev/hdb2 2433 2554 979965 82 Linux swap/Solaris

/dev/hdb3 2555 6202 29302560 83 Linux

Создаёте точку монтирования используя следующую команду mkdir /mnt/windows .

Монтируете системный раздел Windows используя команду как показано в следующем примере:

Теперь, когда целевая система Windows смонтирована, вы можете скопировать файлы SAM и SYSTEM в вашу директорию для атаки следующей командой:

cp SAM SYSTEM /pentest/passwords/AttackDirectory

Доступны инструменты для дампа файла SAM. PwDumpand Cain, Abel и samdump — это только немногие примеры.

Обратите внимание, вам нужно восстановить оба файла — загрузочного ключа и SAM. Файл загрузочного ключа используется для доступа к файлу SAM. Инструменты, используемые для доступа к файлу SAM будут требовать файл загрузочного ключа.

bkreg и bkhiveare — популярные инструменты, которые помогут получить файл загрузчика ключа, как показано на следующем скриншоте:

HackWare.ru

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

Как взломать пароль Windows

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

Не каждый пользователь использует пароль на Windows — особенно редко пользователи устанавливают пароль на домашнем компьютере, за которым работает один человек. Но в условиях корпоративной сети или при использовании Windows в качестве сервера, пароль является обязательным. Ещё одно интересное свойство пароля пользователя Windows: если пользователь завёл онлайн учётную запись Microsoft, то хеш пароля всё равно хранится на локальном компьютере, но расшифрованный пароль подойдёт и для локального компьютера, и для онлайн сервисов Microsoft.

Где Windows хранит пароль входа пользователя?

Пароли пользователей Windows хранятся в кустах (hives) реестра Windows под названием SYSTEM и SAM в файлах:

  • C:/Windows/System32/config/SAM
  • C:/Windows/System32/config/SYSTEM
Читайте также:  Что такое vds windows server

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

Как получить хеши паролей Windows

Дамп хешей паролей Windows на работающем компьютере

На запущенной системе проблематично получить доступ к файлам C:/Windows/System32/config/SAM и C:/Windows/System32/config/SYSTEM, хотя это и возможно. Для сохранения копий этих файлов можно использовать утилиту reg, а именно следующие команды:

В некоторых инструкциях вместо SYSTEM сохраняют куст SECURITY — это ошибка, с кустами SECURITY и SAM восстановить хеш не удасться, нужны именно SYSTEM и SAM!

Хеш пароля также содержится в оперативной памяти, а именно в процессе Local Security Authority Process (lsass.exe). Этот процесс всегда запущен в работающей Windows и можно сделать его дамп (копию процесса в оперативной памяти сохранить на диск в виде файла). Для создания дампа можно использовать различные утилиты, в том числе две официальные:

Диспетчер задач уже имеется в каждой Windows, чтобы его открыть нажмите Win+r и наберите taskmgr, затем нажмите ENTER. Либо правой кнопкой мыши нажмите на панель задач (то есть на нижнюю полоску, где находятся часы, кнопка пуск и т. д.) и в контекстном меню выберите «Диспетчер задач».

В Диспетчере задач нажмите «Подробнее» и во вкладке «Процессы», в разделе «Процессы Windows» найдите Local Security Authority Process, нажмите на него правой кнопкой мыши и выберите в контекстном меню пункт «Создать файл дампа»:

Файл будет сохранён по пути C:\Users\ПОЛЬЗОВАТЕЛЬ\AppData\Local\Temp\lsass.DMP. У меня имя пользователя MiAl и путь до файла C:\Users\MiAl\AppData\Local\Temp\lsass.DMP.

Дамп хешей паролей Windows на выключенном компьютере

На выключенном компьютере для последующего извлечения пароля пользователя достаточно скопировать файлы:

  • C:/Windows/System32/config/SAM
  • C:/Windows/System32/config/SYSTEM

Эти же файлы можно найти в резервной копии Windows или в Shadow копии диска, либо скопировать загрузившись с Live системы.

Чем различаются хеши NTLM и NTLMv1/v2 и Net-NTLMv1/v2

Сейчас мы будем охотиться за хешем NTLM. В статье «Взлом сетевой аутентификации Windows» мы уже охотились за хешами NTLMv1 и NTLMv2, название которых довольно похоже.

На самом деле, NTLM и NTLMv1/v2 это довольно разные вещи. Хеш NTLM хранится и используется локально, а хеши NTLMv1/NTLMv2 используются для сетевой аутентификации и являются производными хеша NTLM. Используя любой из этих хешей можно расшифровать пароль пользователя Windows, но это разные алгоритмы шифрования/взлома.

Для атаки Pass-the-hash (мы рассмотрим её в этой статье) применим только хеш NTLM, а хеши NTLMv1/NTLMv2 не подходят.

Остался ещё один вопрос, что такое хеши Net-NTLMv1/v2. Хеши Net-NTLMv1/v2 это сокращённое название для хешей NTLMv1/v2, то есть NTLMv1/v2 и Net-NTLMv1/v2 это одно и то же. А NTLM это другое.

В этой статье мы будем извлекать, взламывать и эксплуатировать без взлома хеш NTLM.

Что такое mimikatz

Программа mimikatz хорошо известна за возможность извлекать пароли в виде простого текста, хеши, ПИН коды и тикеты kerberos из памяти. mimikatz также может выполнять атаки pass-the-hash, pass-the-ticket или строить Golden тикеты.

В этой инструкции мы рассмотрим только способность mimikatz извлекать хеши NTLM. Помните, у mimikatz есть и другие очень интересные функции — посмотрите, какая у неё обширная справка: https://kali.tools/?p=5342

Имеются реализации mimikatz в Meterpreter & Metasploit, DLL reflection в PowerShell и других продуктах. В принципе, mimikatz можно запускать в Wine на Linux, но не будут работать функции, связанные с извлечением данных непосредственно из Windows; функции извлечения хешей из дампов или расшифровки из файлов реестра должны работать в Linux.

Читайте также:  Дистрибутив для mac os это

Как установить mimikatz в Windows

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

1. Перейдите на страницу https://github.com/gentilkiwi/mimikatz/releases, скачайте файл mimikatz_trunk.7z или mimikatz_trunk.zip. Распакуйте скаченный архив.

2. Откройте PowerShell (Win+xWindows PowerShell (администратор)) или командную строку (Win+rcmd).

3. В командной строке с помощью команды cd перейдите в папку с исполнимым файлом mimikatz.exe. К примеру, архив распакован в папку C:\Users\MiAl\Downloads, тогда исполнимый файл будет в папке C:\Users\MiAl\Downloads\mimikatz_trunk\x64\:

4. Запустите исполнимый файл.

Как извлечь хеш пароля пользователя NTLM из файлов реестра

Следующие команды нужно выполнять в консоли mimikatz.

Команда log включает запись всего вывода в ФАЙЛ:

К примеру, для запуска всего вывода в файл hash.txt:

Я скопировал с выключенного компьютера файлы SYSTEM и SAM, теперь для извлечения хеша мне нужно запустить команду вида:

Пример моей команды:

Вывод довольно обширный и много не до конца понятных данных. Интерес представляют последовательно идущие строки вида:

В моём примере интересные строки:

Также есть строки с именами пользователей:

Но после них нет строк с хешем NTLM, поскольку у этих пользователей не установлен пароль в системе.

Если вы хотите извлечь данные из файлов реестра текущей операционной системы, то выходим из mimikatz, для этого нажмите Ctrl+c.

Теперь сделаем дамп кустов реестра SYSTEM и SAM текущей системы:

Вновь запускаем mimikatz:

Включаем ведение журнала:

И выполняем команду с указанием файлов, в которые сохранены дампы кустов реестра, то есть SystemBkup.hiv и SamBkup.hiv:

Здесь найден только один пользователь с хешем:

На самом деле, для извлечения хешей NTLM из локальной системы необязательно было делать дамп кустов реестра. Другой вариант — повысить привилегии самой программы mimikatz и извлечь хеши непосредственно из системы. Для этого выполните команды:

Извлечение хеша NTLM из дампа lsass.DMP

По логике (и на практике) в дампе процесса Local Security Authority Process должен быть хеш только пользователя, выполнившего вход с паролем.

Вначале укажите путь до файла дампа командой вида:

Затем выполните команду:

Брут-форс хеша NTLM

Для взлома я возьму следующий хеш:

Загляним в справку Hashcat, чтобы узнать номер режима хеша NTLM:

То есть номер хеша NTLM равен 1000.

Чтобы запустить атаку по маске для взлома NTLM в Hashcat нужно выполнить команду вида:

Пример моей реальной команды:

  • hashcat — имя исполнимого файла. В Windows это может быть hashcat64.exe.
  • —force — игнорировать предупреждения
  • —hwmon-temp-abort=100 — установка максимальной температуры, после которой будет прерван перебор, на 100 градусов Цельсия
  • -m 1000 — тип хеша NTLM
  • -D 1,2 — означает использовать для взлома и центральный процессор, и видеокарту
  • -a 3 — означает атаку по маске
  • -i — означает постепенно увеличивать количество символов в генерируемых паролях
  • —increment-min 1 — означает начать с длины маски равной единице
  • —increment-max 10 — означает закончить перебор при длине маске равный десяти
  • -1 ?l?d — пользовательский набор символов номер 1, в него включены маленькие латинские буквы (?l) и цифры (?d)
  • ca76a176340f0291e1cc8ea7277fc571 — хеш для взлома
  • ?1?1?1?1?1?1?1?1?1 — маска из пользовательского набора символов

Взломаем ещё один хеш:

Команда (другой хеш и другой набор пользовательских символов):

Итак, в этой статье мы научились извлекать хеш NTLM и взламывать пароль Windows. А что делать, если не удалось взломать NTLM? Ответ на этот вопрос смотрите во второй части, которая называется «Использование NTLM без взлома пароля: атака Pass-the-hash».

Оцените статью