Как узнать хэш пароля
Метод шифрования и взлом пароля пользователя Windows
Когда я снова изучил Hastcat, он включал в себя взлом хеша Windows. Я чувствую, что здесь все еще есть некоторые моменты и детали. Я пишу статью, чтобы записать это.
Хеш обычно переводится как «хеш», но может быть напрямую транслитерирован как «хеш». Эта функция шифрования выполняет операцию функции шифрования для строки данных произвольной длины, а затем возвращает строку фиксированной длины. Хеш в основном используется для алгоритмов шифрования в области информационной безопасности.Получение открытого текста или хэша целевой системы во время тестирования на проникновение часто является важной частью всего процесса тестирования на проникновение. В системе Windows хэш пароля локального пользователя хранится в локальном файле SAM, а хэш пароля пользователя в домене хранится в файле NTDS.DIT элемента управления доменом.
Введение в LM Hash
Хэш LAN Manager (LM) - это первый алгоритм хеширования паролей, используемый в системах Windows. Это более старый хэш. Он используется в протоколе LAN Manager и очень легко получить учетные данные в виде открытого текста с помощью взлома грубой силы. Он имеет только одну версию и всегда использует хеширование NT LAN Manager (NTLM). В системах Windows Vista / Windows 7 / Windows Server 2008 и более поздних версий алгоритм хеширования LM отключен по умолчанию, а алгоритм LM находится в DES. реализован на основе, и не различает прописные и строчные буквы.
Принцип генерации LM Hash
Недостатки LM Hash
- Максимальная длина пароля может составлять всего 14 символов.
- Пароль не чувствителен к регистру
- Если надежность пароля меньше 7 бит, то результат шифрования второго блока должен быть aad3b435b51404ee.
- Пароль Des не надежный
Введение в NTLM Hash
Хэш NT LAN Manager (NTLM) - это еще один алгоритм, распознаваемый системой Windows. Он используется для замены старого LM-Hash. Обычно он относится к хэшу пароля пользователя, хранящемуся в диспетчере учетных записей безопасности (SAM) в системе Windows. Windows Vista / Windows В системах 7 / Windows Server 2008 и более поздних версий алгоритм хеширования NTLM включен по умолчанию.
Принцип генерации NTLM Hash
- Сначала преобразуйте пароль пользователя в шестнадцатеричный формат.
- Закодируйте пароль в шестнадцатеричном формате в Unicode.
- Используйте алгоритм дайджеста MD4 для вычисления хэша данных в кодировке Unicode
mimikatz
Mimikatz - это проект с открытым исходным кодом для чтения хеш-паролей и паролей в открытом виде для пользователей, вошедших в систему под Windows. Для беспрепятственного чтения паролей у вас должны быть разрешения администратора или системы, поэтому он также является одним из артефактов проникновения в интрасеть.
Локальное интерактивное сканирование
пробег mimikatz.exe , Откройте окно mimikatz, введите следующую команду:
Покажите, есть ли у вас соответствующие разрешения, чтобы продолжить:
Запустить функцию регистрации:
Выведите все пароли в открытом виде, хранящиеся на этом компьютере:
В это время он будет сгенерирован в каталоге, в котором запущена текущая оболочка. mimikatz.log , Которая записывает некоторые детали перехвата паролей.
Локальное неинтерактивное сканирование
Запускайте непосредственно из командной строки CMD с высокими привилегиями:
В это время он будет сгенерирован в каталоге, в котором запущена текущая оболочка. mimikatz.txt , Которая записывает некоторые детали перехвата паролей.
Удаленное неинтерактивное сканирование
лабораторная среда
Детали устройства | айпи адрес | Взять на себя роль |
---|---|---|
macOS | 10.211.55.2 | злоумышленник |
Windows 7 SP 1 | 10.211.55.12 | Атаковали |
macOS
Заранее встроенные мониторы macOS:
Guoguang Лично я предпочитаю больше команд ncat, в зависимости от личных предпочтений.
Windows
Здесь для удобства положил nc.exe Загружено на mimikatz.exe В том же каталоге:
DNS fwd/rev mismatch: GG != GG.lan
GG [ 10.211.55.2 ] 2333 ( ? ) open
эффект
После завершения этой операции, не оставляя никаких файлов в целевой системе, напрямую отправьте захваченные результаты на указанный удаленный компьютер с помощью nc. В это время сторона macOS получила возвращенную информацию о пароле:
Powershell load mimikatz grab
Когда целевая машина может подключиться к внешней сети:
В случае интрасети вы можете загрузить сценарий, создать локальный веб-сервер самостоятельно и получить к нему доступ через IP-адрес интрасети:
Взять образцы каждой версии системы
Windows Server 2003 R2
Ключевая информация такова:
Windows Server 2008 R2
Конфигурация Windows Server 2008 R2 по умолчанию все еще может считывать хэш типа LM, что не соответствует теории в Интернете, что указывает на то, что WIndows Server 2008 R2 и Windows 7 еще не полностью отключили хеш типа LM.
Windows 7 SP1
Ключевая информация такова:
Windows 10 1903
Ключевая информация такова:
Виды | ценить |
---|---|
имя пользователя | sqlsec |
Простой текст | Пусто здесь не читается |
NTLM | f00a25418f128daaef2bc89ed94416bd |
Windows 10 не может использовать mimikatz для чтения пароля в виде обычного текста, только зашифрованный можно прочитать напрямую NTLM ценить.
ProcDump + mimikatz
Официальный адрес сайта:ProcDump v9.0
ProcDump - это программа командной строки, которая может легко перенести запущенный процесс системы в файл дампа, и, поскольку он создается самой Microsoft, он может убить большое количество программного обеспечения.
дамп процесса lsass.exe
x86 x64, соответственно, выполнить соответствующие исполняемые файлы.Так как на этот раз тестовая система 64-разрядная, выполните procdump64.exe
В это время он будет сгенерирован в каталоге, в котором запущена текущая оболочка. lsass.dmp , Это файл, хранящийся в процессе lsass.exe, который записывает хеш-информацию.
Для систем NT6 и выше вы также можете использовать встроенные функции Windows для дампа:
Диспетчер задач Нажмите на Показать все процессы пользователей А затем найти lsass.exe Процесс, Щелкните правой кнопкой мыши ,Выбрать Создать файл передачи
Прочитать информацию о файле dmp
Перенести созданный выше lsass.dmp Файл в mimikatz.exe В том же каталоге выполните следующую неинтерактивную команду, чтобы прочитать пароль напрямую:
mimikatz.exe “sekurlsa::minidump lsass.dmp” “sekurlsa::logonPasswords” exit
QuarksPwDump
QuarksPwDump - это инструмент для экспорта информации об авторизации системы в среде Win32. Он поддерживает многие версии ОС Windows: XP / 2003 / Vista / 7/2008/8 (тест Windows10 Guoguang не прошел и хэш не был успешно прочитан)
имя файла | ссылка для скачивания |
---|---|
QuarksPwDump.exe | Ссылка для скачивания OneDriver |
Если вы хотите добавить антивирусную функцию самостоятельно, вы можете скомпилировать ее самостоятельно. Здесь Guoguang использует VS Studio 2010 для ее компиляции. Кстати, адрес загрузки прилагается:
имя файла | ссылка для скачивания |
---|---|
Учебная версия VC ++ 2010 и постоянный регистрационный code.zip | Ссылка для скачивания OneDriver |
Кроме того, у Githun есть другие обновленные версии, которые скомпилировал Даниэль, и мы также можем загрузить их напрямую:
Эта новая версия QuarksPwDumpv_0.3a добавила -sf параметр
QuarksPwDump записывает команду пароля следующим образом:
Возьмите Hash и сгенерируйте его в том же каталоге hash.txt Конкретный хеш файла выглядит следующим образом:
Взлом Hashcat
Когда вы получаете зашифрованный текст LM или NTLM, при отсутствии открытого текста, самый прямой метод - это, конечно, его расшифровать напрямую. Здесь для расшифровки пароля используется Hashcat. Студенты, которые не знают Hashcat, могут обратиться к этой статье :Запись обучения Hashcat
Предположим, мы читаем хэш следующим образом:
- LM : 921988ba001dc8e14a3b108f3fa6cb6d
- NTLM : e19ccf75ee54e06b06a5907af13cef42
Фактически, это открытый текст: P @ ssw0rd
Давайте использовать Hashcat, чтобы вкратце продемонстрировать взлом, здесь я использовал его для взлома -a 0 Взлом словаря, hashcat -help может увидеть, что соответствующие хеш-номера LM и NTLM соответственно 3000 с 1000
Ничего особенного, давайте пройдемся по процессу и раскроем его:
Hashcat взламывает LM Hash
Поскольку длина LM Hash составляет не более 14 символов, пароль делится на 2 символа длиной 7 для хранения, поэтому, когда Hashcat взламывается здесь, он также разделяется на две части для взлома отдельно:
Hashcat взламывает NTLM Hash
Взлом прошел успешно и были получены следующие результаты:
Взлом хеша в Интернете
Для старого иностранного веб-сайта взлома хэша просто введите значение NTLM Hash:
Есть много других веб-сайтов, которые не рекомендуются, вот только два наиболее используемых веб-сайта.
Доставка хэша
Вступление
PASS THE Hash также называется атакой передачи хэша, или сокращенно PTH. Имитация входа пользователя в систему не требует пароля пользователя в виде открытого текста, и только полученный хэш может использоваться для входа в целевую систему.
Предпосылками для успешного использования являются:
Включите службу SMB на порту 445
Открыть общий доступ администратора $
Здесь хэш пользователя-администратора, захваченный mimikatz для целевой Windows Server 2008 R2 (10.211.55.4):
Хэш пользователя-администратора, захваченный QuarksDump:
После теста Guoguang, когда следующий хэш пройден, если следующий NTLM-хеш верен, вы можете успешно войти в систему с тем, что вы вводите спереди. После тестирования следующий хеш может быть успешным:
Другими словами :E19CCF75EE54E06B06A5907AF13CEF42 Эта деталь играет ключевую роль в аутентификации. Пока номер на лицевой стороне правильный, нет проблем с заполнением чего-либо. Ниже приводится конкретная демонстрация.
Metasploit
В Metasploit есть три модуля psexec, которые можно использовать для передачи хэша. Это:
auxiliary/admin/smb/psexec_command
[ + ] 10.211.55.14:445 - Service start timed out, OK if running a command or non-service executable … .
[ ] 10.211.55.14:445 - checking if the file is unlocked
[ ] 10.211.55.14:445 - Getting the command output … .
[ ] 10.211.55.14:445 - Executing cleanup … .
[ + ] 10.211.55.14:445 - Cleanup was successful
[ + ] 10.211.55.14:445 - Command completed successfully !
[ ] 10.211.55.14:445 - Output for “whoami” :
[ ] 10.211.55.14:445 - Scanned 1 of 1 hosts ( 100% complete )
[ ] Auxiliary module execution completed
Более безвкусно то, что этот модуль не поддерживает пакетную проверку формата сетевого сегмента, поэтому следующие два модуля можно рассматривать в реальных боевых условиях.
exploit/windows/smb/psexec
Поддерживает IP в формате сегмента сети для облегчения пакетной проверки PTH. Ниже приводится единый процесс проверки:
[ ] Started reverse TCP handler on 10.211.55.4:4444
[ ] 10.211.55.14:445 - Connecting to the server … .
[ ] 10.211.55.14:445 - Authenticating to 10.211.55.14:445 as user ‘administrator’ … .
[ ] 10.211.55.14:445 - Selecting PowerShell target
[ ] 10.211.55.14:445 - Executing the payload … .
[ + ] 10.211.55.14:445 - Service start timed out, OK if running a command or non-service executable … .
[ ] Sending stage ( 179779 bytes ) to 10.211.55.14
[ * ] Meterpreter session 2 opened ( 10.211.55.4:4444 - > 10.211.55.14:49168 ) at 2019-11-24 23:42:38 +0800
Следующий эффект пакетной проверки сетевого сегмента более практичен и эффективен в качестве такой проверки в интрасети:
По поводу вопроса о том, что предыдущий 32-битный хеш не работает, я зашел на форум T00ls, чтобы задать вопрос. Вот ответы мастеров:
iceword: Предыдущий - lm hash, lm hash устарел и не используется для проверки, поэтому вы можете добавить что угодно
Hello_C: NTLM Hash = LM Hash + NT Hash, если LM Hash имеет значение aad3b435b51404eeaad3b435b51404ee, пароль может быть пустым или хеш lm не сохраняется. В 2008 году хеш lm не сохраняется по умолчанию. Pth использует хэш nt. Для некоторых инструментов может потребоваться формат хеша lm hash: nt. Без хеша lm для заполнения можно использовать любые 32 символа.
Гость безопасности: Если пароль пуст или LM-хэш не сохранен, мы поймали LM-хэш AAD3B435B51404EEAAD3B435B51404EE. Итак, в win7 мы видим, что все пойманные LM-хэши - это AAD3B435B51404EEAAD3B435B51404EE, а LM-хеш здесь не имеет значения.
exploit/windows/smb/psexec_psh
[ ] Started reverse TCP handler on 10.211.55.4:4444
[ ] 10.211.55.14:445 - Executing the payload … .
[ + ] 10.211.55.14:445 - Service start timed out, OK if running a command or non-service executable … .
[ ] Sending stage ( 179779 bytes ) to 10.211.55.14
[ ] Meterpreter session 3 opened ( 10.211.55.4:4444 - > 10.211.55.14:49169 ) at 2019-11-24 23:44:12 +0800
Этот модуль также поддерживает пакетную проверку сегментов сети, поэтому я не буду здесь вдаваться в подробности.
В мире существует несколько зеттабайт цифровых данных, но далеко не вся эта информация уникальна: повторы разбросаны по миллиардам носителей и серверов. Независимо от типа данных, для работы с ними требуется решать одни и те же принципиальные задачи. Это снижение избыточности за счет частичного устранения повторов (дедупликация), проверка целостности, инкрементное создание резервных копий и авторизация пользователей. Конечно, последний аспект интересует нас больше всего, однако все эти технические приемы базируются на общих методах обработки данных с использованием хеширования. Существуют облачные сервисы, которые позволяют использовать эту процедуру быстрее — с хорошо известными целями.
На первый взгляд кажется странным, что в разных задачах применяется общая процедура вычисления и сравнения контрольных сумм или хешей — битовых последовательностей фиксированной длины. Однако этот метод действительно универсален. Контрольные суммы служат своеобразными цифровыми отпечатками файлов, ключей, паролей и других данных, называемых в криптографии messages — сообщения. Хеши (или дайджесты, от англ. digest) позволяют сравнивать их между собой, быстро обнаруживать любые изменения и обезопасить проверку доступа. Например, с помощью хешей можно проверять соответствие введенных паролей, не передавая их в открытом виде.
Математически этот процесс выполняется одним из алгоритмов хеширования — итерационного преобразования блоков данных, на которое разбивается исходное сообщение. На входе может быть что угодно — от короткого пароля до огромной базы данных. Все блоки циклично дописываются нулями или урезаются до заданной длины до тех пор, пока не будет получен дайджест фиксированного размера.
Предельный объем исходных данных, который может обработать хеш‑функция, определяется формой их представления в алгоритме. Обычно они записываются как целое 64-битное число, поэтому типичный лимит составляет 2 64 бит минус единица, или два эксабайта. Такое ограничение пока не имеет практической значимости даже для очень крупных дата‑центров.
Обычно хеши записываются в шестнадцатеричном виде. Так их гораздо удобнее сравнивать на вид, а запись получается в четыре раза короче двоичной. Самые короткие хеши получаются при использовании Adler-32, CRC32 и других алгоритмов с длиной дайджеста 32 бита. Самые длинные — у SHA-512. Кроме них, существует с десяток других популярных хеш‑функций, и большинство из них способно рассчитывать дайджесты промежуточной длины: 160, 224, 256 и 384 бит. Попытки создать функцию с увеличенной длиной хеша продолжаются, поскольку чем длиннее дайджест, тем больше разных вариантов может сгенерировать хеш‑функция.
Неповторимость — залог надежности
Уникальность хеша — одно из его ключевых свойств, определяющее криптостойкость системы шифрования. Дело в том, что число вариантов возможных паролей теоретически бесконечно, а вот число хешей всегда конечное, хоть и очень большое. Дайджесты любой хеш‑функции будут уникальны лишь до определенной степени. Степени двойки, если быть точным. К примеру, алгоритм CRC32 дает множество всего из 2 32 вариантов, и в нем трудно избежать повторений. Большинство других функций использует дайджесты длиной 128 или 160 бит, что резко увеличивает число уникальных хешей — до 2 128 и 2 160 соответственно.
Строго говоря, к хеш‑функциям в криптографии предъявляются более высокие требования, чем к контрольным суммам на основе циклического кода. Однако эти понятия на практике часто используют как синонимы.
Совпадение хешей от разных исходных данных (в том числе паролей) называют коллизией. Она может быть случайной (встречается на больших объемах данных) или псевдослучайной — используемой в целях атаки. На эффекте коллизии основан взлом разных криптографических систем — в частности, протоколов авторизации. Все они сначала считают хеш от введенного пароля или ключа, а затем передают этот дайджест для сравнения, часто примешивая к нему на каком‑то этапе порцию псевдослучайных данных, или используют дополнительные алгоритмы шифрования для усиления защиты. Сами пароли нигде не сохраняются: передаются и сравниваются только их дайджесты. Здесь важно то, что после хеширования абсолютно любых паролей одной и той же функцией на выходе всегда получится дайджест одинакового и заранее известного размера.
Псевдореверс
Провести обратное преобразование и получить пароль непосредственно из хеша невозможно в принципе, даже если очистить его от соли, поскольку хеширование — это однонаправленная функция. Глядя на полученный дайджест, нельзя понять ни объем исходных данных, ни их тип. Однако можно решить сходную задачу: сгенерировать пароль с таким же хешем. Из‑за эффекта коллизии задача упрощается: возможно, ты никогда не узнаешь настоящий пароль, но найдешь совершенно другой, дающий после хеширования по этому же алгоритму требуемый дайджест.
Для этого надо сделать всего ничего — рассчитать 2 128 пар вида пароль — хеш или на порядок‑другой больше — в зависимости от длины дайджеста выбранной функции. Однако все эти двойки в чертовски большой степени отпугивают, только если думать о скромных возможностях собственной машины. Хорошо, что скорость нахождения пароля по его хешу сегодня необязательно зависит от вычислительной мощности компьютера самого атакующего, поскольку во многих случаях для этого уже не требуется выполнять долгий перебор. Многое уже сделано до нас.
Методы оптимизации расчетов появляются буквально каждый год. Ими занимаются команды HashClash, Distributed Rainbow Table Generator и других международных проектов криптографических вычислений. В результате на каждое короткое сочетание печатных символов или вариант из списка типичных паролей хеши уже вычислены. Их можно быстро сравнить с перехваченным, пока не найдется полное совпадение.
Раньше на это требовались недели или месяцы процессорного времени, которые в последние годы удалось сократить до нескольких часов благодаря многоядерным процессорам и перебору в программах с поддержкой CUDA и OpenCL. Админы нагружают расчетами таблиц серверы во время простоя, а кто‑то арендует виртуальный кластер в Amazon EC2.
Искать XOR вычислять
Популярные алгоритмы хеширования работают настолько быстро, что к настоящему моменту удалось составить пары «хеш — пароль» почти для всех возможных вариантов функций с коротким дайджестом. Параллельно у функций с длиной хеша от 128 бит находят недостатки в самом алгоритме или его конкретных реализациях, что сильно упрощает взлом.
В девяностых годах крайне популярным стал алгоритм MD5, написанный Рональдом Ривестом. Он стал широко применяться при авторизации пользователей на сайтах и при подключении к серверам клиентских приложений. Однако его дальнейшее изучение показало, что алгоритм недостаточно надежен. В частности, он уязвим к атакам по типу псевдослучайной коллизии. Иными словами, возможно преднамеренное создание другой последовательности данных, хеш которой будет в точности соответствовать известному.
Поскольку дайджесты сообщений широко применяются в криптографии, на практике использование алгоритма MD5 сегодня приводит к серьезным проблемам. Например, с помощью такой атаки можно подделать цифровой сертификат x.509. В том числе возможна подделка сертификата SSL, позволяющая злоумышленнику выдавать свой фейк за доверенный корневой сертификат (CA). Более того, в большинстве наборов доверенных сертификатов легко найти те, которые по‑прежнему используют алгоритм MD5 для подписи. Поэтому существует уязвимость всей инфраструктуры открытых ключей (PKI) для таких атак.
Изнурительную атаку перебором устраивать придется только в случае действительно сложных паролей (состоящих из большого набора случайных символов) и для хеш‑функций с дайджестами большой длины (от 160 бит), у которых пока не нашли серьезных недостатков. Огромная масса коротких и словарных паролей сегодня вскрывается за пару секунд с помощью онлайновых сервисов.
Бойцы облачного фронта
1. Проект «Убийца хешей» существует уже почти восемь лет. Он помогает вскрыть дайджесты MD5, SHA-160 и NTLM. Текущее количество известных пар составляет 43,7 миллиона. На сайт можно загружать сразу несколько хешей для параллельного анализа. Пароли, содержащие кириллицу и символы других алфавитов, кроме английского, иногда находятся, но отображаются в неверной кодировке. Еще здесь проводится постоянный конкурс взлома паролей по их хешам и доступны утилиты для облегчения этой задачи — например, программы для объединения списков паролей, их переформатирования и устранения повторов.
HashKiller не дружит с кириллицей, но знает кириллические пароли «Убийца хешей» нашел три пароля из пяти за полсекунды
2. «Крэк‑станция» поддерживает работу с хешами практически всех реально используемых типов. LM, NTLM, MySQL 4.1+, MD2/4/5 + MD5-half, SHA-160/224/256/384/512, ripeMD160 и Whirlpool. За один раз можно загрузить для анализа до десяти хешей. Поиск проводится по индексированной базе. Для MD5 ее объем составляет 15 миллионов пар (около 190 Гб) и еще примерно по 1,5 миллиона для каждой другой хеш‑функции.
«Крэк‑станция» находит многие словарные пароли даже по хешам NTLM
По уверениям создателей, в базу включены все слова из англоязычной версии Википедии и большинство популярных паролей, собранных из общедоступных списков. Среди них есть и хитрые варианты со сменой регистра, литспиком, повтором символов, зеркалированием и прочими ухищрениями. Однако случайные пароли даже из пяти символов становятся проблемой — в моем тесте половина из них не была найдена даже по LM-хешам.
«Крэк‑станция» с трудом вскрывает случайные пароли длиной от пяти символов даже по LM-хешам
«Облачный крэкер» мгновенно находит словарные пароли по их хешам
Собственного поиска на сайте пока нет, но пароль или его хеш можно написать прямо в адресной строке браузера, добавив его после адреса сайта и префикса /encrypt/.
Сервис MD5Decode знает все типы хешей от словарных паролей
MD5Decrypt находит составные словарные пароли, но хеши на анализ принимает только по одному
Ищем хеши Гуглом
Далеко не все сервисы готовы предоставить услугу поиска паролей по хешам бесплатно. Где‑то требуется регистрация и крутится тонна рекламы, а на многих сайтах можно встретить и объявления об услуге платного взлома. Часть из них действительно использует мощные кластеры и загружает их, ставя присланные хеши в очередь заданий, но есть и обычные пройдохи. Они выполняют бесплатный поиск за деньги, пользуясь неосведомленностью потенциальных клиентов.
Вместо того чтобы рекламировать здесь честные сервисы, я предложу использовать другой подход —находить пары хеш — пароль в популярных поисковых системах. Их роботы‑пауки ежедневно прочесывают веб и собирают новые данные, среди которых есть и свежие записи из радужных таблиц.
Поэтому для начала просто напиши хеш в поисковой строке Google. Если ему соответствует какой‑то словарный пароль, то он (как правило) отобразится среди результатов поисковой выдачи уже на первой странице. Единичные хеши можно погуглить вручную, а большие списки будет удобнее обработать с помощью скрипта BozoCrack.
Универсальный подход
Среди десятка хеш‑функций наиболее популярны MD5 и SHA-1, но точно такой же подход применим и к другим алгоритмам. К примеру, файл реестра SAM в ОС семейства Windows по умолчанию хранит два дайджеста каждого пароля: LM-хеш (устаревший тип на основе алгоритма DES) и NT-хеш (создается путем преобразования юникодной записи пароля по алгоритму MD4). Длина обоих хешей одинакова (128 бит), но стойкость LM значительно ниже из‑за множества упрощений алгоритма.
Постепенно оба типа хешей вытесняются более надежными вариантами авторизации, но многие эту старую схему используют в исходном виде до сих пор. Скопировав файл SAM и расшифровав его системным ключом из файла SYSTEM, атакующий получает список локальных учетных записей и сохраненных для них контрольных значений — хешей.
Далее взломщик может найти последовательность символов, которая соответствует хешу администратора. Так он получит полный доступ к ОС и оставит в ней меньше следов, чем при грубом взломе с помощью банального сброса пароля. Напоминаю, что из‑за эффекта коллизии подходящий пароль не обязательно будет таким же, как у реального владельца компьютера, но для Windows разницы между ними не будет вовсе. Как пела группа Bad Religion, «Cause to you I’m just a number and a clever screen name».
Аналогичная проблема существует и в других системах авторизации. Например, в протоколах WPA/WPA2, широко используемых при создании защищенного подключения по Wi-Fi. При соединении между беспроводным устройством и точкой доступа происходит стандартный обмен начальными данными, включающими в себя handshake. Во время «рукопожатия» пароль в открытом виде не передается, но в эфир отправляется ключ, основанный на хеш‑функции. Нужные пакеты можно перехватить, переключив с помощью модифицированного драйвера приемник адаптера Wi-Fi в режим мониторинга. Более того, в ряде случаев можно не ждать момента следующего подключения, а инициализировать эту процедуру принудительно, отправив широковещательный запрос deauth всем подключенным клиентам. Уже в следующую секунду они попытаются восстановить связь и начнут серию «рукопожатий».
Сохранив файл или файлы с хендшейком, можно выделить из них хеш пароля и либо узнать сам пароль, либо найти какой‑то другой, который точка доступа примет точно так же. Многие онлайновые сервисы предлагают провести анализ не только чистого хеша, но и файла с записанным хендшейком. Обычно требуется указать файл pcap и SSID выбранной точки доступа, так как ее идентификатор используется при формировании ключа PSK.
Пока с помощью онлайновых сервисов и радужных таблиц находятся далеко не все пары хеш — пароль. Однако функции с коротким дайджестом уже побеждены, а короткие и словарные пароли легко обнаружить даже по хешам SHA-160. Особенно впечатляет мгновенный поиск паролей по их дайджестам с помощью Гугла. Это самый простой, быстрый и совершенно бесплатный вариант.
Этичный хакинг и тестирование на проникновение, информационная безопасность
В этой статье мы узнаем, где в Windows хранится пароль пользователя, как извлечь данные для взлома пароля Windows, как раскрыть пароль пользователя и как их использовать даже без брут-форса.
Не каждый пользователь использует пароль на Windows — особенно редко пользователи устанавливают пароль на домашнем компьютере, за которым работает один человек. Но в условиях корпоративной сети или при использовании Windows в качестве сервера, пароль является обязательным. Ещё одно интересное свойство пароля пользователя Windows: если пользователь завёл онлайн учётную запись Microsoft, то хеш пароля всё равно хранится на локальном компьютере, но расшифрованный пароль подойдёт и для локального компьютера, и для онлайн сервисов Microsoft.
Где Windows хранит пароль входа пользователя?
Пароли пользователей Windows хранятся в кустах (hives) реестра Windows под названием SYSTEM и SAM в файлах:
- C:/Windows/System32/config/SAM
- C:/Windows/System32/config/SYSTEM
Вместо пароля в виде простого текста, 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 в Meterpreter & Metasploit, DLL reflection в PowerShell и других продуктах. В принципе, mimikatz можно запускать в Wine на Linux, но не будут работать функции, связанные с извлечением данных непосредственно из Windows; функции извлечения хешей из дампов или расшифровки из файлов реестра должны работать в Linux.
Как установить mimikatz в Windows
mimikatz — это портативная утилита командной строки. То есть установка не требуется, но нужно уметь запустить, если вы не очень знакомы с командной строкой.
2. Откройте PowerShell (Win+x → Windows PowerShell (администратор)) или командную строку (Win+r → cmd).
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».
Enter your hashes here and we will attempt to decrypt them for free online.
What is this tool
Hashes.com is a hash lookup service. This allows you to input an MD5, SHA-1, Vbulletin, Invision Power Board, MyBB, Bcrypt, Wordpress, SHA-256, SHA-512, MYSQL5 etc hash and search for its corresponding plaintext ("found") in our database of already-cracked hashes.
It's like having your own massive hash-cracking cluster - but with immediate results!
We have been building our hash database since August 2007.
We are not cracking your hash in realtime - we're just caching the hard work of many cracking enthusiasts over the years.
In cryptography, SHA-1 (Secure Hash Algorithm 1) is a cryptographic hash function which takes an input and produces a 160-bit (20-byte) hash value known as a message digest – typically rendered as a hexadecimal number, 40 digits long. It was designed by the United States National Security Agency, and is a U.S. Federal Information Processing Standard. Since 2005 SHA-1 has not been considered secure against well-funded opponents, and since 2010 many organizations have recommended its replacement by SHA-2 or SHA-3. Microsoft, Google, Apple and Mozilla have all announced that their respective browsers will stop accepting SHA-1 SSL certificates by 2017. SHA1 Decrypt.
The MySQL5 hashing algorithm implements a double binary SHA-1 hashing algorithm on a users password. MySQL Decrypt.
NT (New Technology) LAN Manager (NTLM) is a suite of Microsoft security protocols that provides authentication, integrity, and confidentiality to users. NTLM is the successor to the authentication protocol in Microsoft LAN Manager (LANMAN), an older Microsoft product. The NTLM protocol suite is implemented in a Security Support Provider, which combines the LAN Manager authentication protocol, NTLMv1, NTLMv2 and NTLM2 Session protocols in a single package. Whether these protocols are used or can be used on a system is governed by Group Policy settings, for which different versions of Windows have different default settings. NTLM passwords are considered weak because they can be brute-forced very easily with modern hardware. NTLM Decrypt.
SHA-2 (Secure Hash Algorithm 2) is a set of cryptographic hash functions designed by the United States National Security Agency (NSA). They are built using the Merkle–Damgård structure, from a one-way compression function itself built using the Davies–Meyer structure from a (classified) specialized block cipher. SHA-2 includes significant changes from its predecessor, SHA-1. The SHA-2 family consists of six hash functions with digests (hash values) that are 224, 256, 384 or 512 bits: SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, SHA-512/256. SHA256 Decrypt.
Читайте также: