Очень часто встречаю, что люди путают разные типы хэшей и думают, что NTLM и NTLMv1/v2 это одно и тоже, а NTLMv1/v2 и Net-NTLMv1/v2 разные типы. Данная статья заметка предназначена для того, что бы разобраться со всем этим.
Если хочешь побыстрее и кратко, то читай тут
Пример: JohnDoe:503:aad3c435b514a4eeaad3b935b51304fe:c46b9e588fa0d112de6f59fd6d58eae3:::
Алгоритм работы:
хакера пентестера, ведь с этим хэшом можно провести атаку Pass-The-Hash.
Обычно люди называют его NTLM хэшем, что вводит в заблуждение, потому что в одном месте его называют NT, а в другом NTLM хэш. Оба варианта используются в учебных материалах и, обычно, подразумевается одно и тоже, НО правильнее NT.
Алгоритм: Пароль пользователя -> UTF16-LE (LE - Little Endian) -> MD4.
Но если нам удается перехватить их, допустим, через атаку LLMNR Poisoning, мы не можем провести атаку Pass-The-Hash (логично, не правда ли?). Мы можем попытаться его сбрутить и попробовать получить пароль в плейн тексте или релеить.
Структура: <username>::<hostname>:<response>:<response>:<challenge>
Пример:
admin::N46iSNekpT:08ca45b7d7ea58ee:88dcbe4446168966a153a0064958dac6:5c7830315c7830310000000000000b45c67103d07d7b95acd12ffa11230e0000000052920b85f78d013c31cdb3b92f5d765c783030
lsadump::lsa /inject /user:Administrator
Подробнее
Дамп в mimikatz
Как я уже упомянал, мы можем произвести атаку Pass-The-Hash.
Pass-The-Has
sudo responder -I eth0 -v
Responder output
NTLMv1/v2 - это протоколы, используемые для сетевой аутентификации в средах Windows. Они используют NT-хэш в алгоритме, что означает, что его можно использовать для восстановления пароля с помощью атак методом перебора. Получить их можно, допустим, проведя атаку LLMNR Poisoning, то есть проведя атаку, где потребуется взаимодействие по сети. Стоить уточнить, что их можно релеить, что добавляет нам еще 1 вектор атаки.
Если хочешь побыстрее и кратко, то читай тут
NTLMv1/v2 и Net-NTLMv1/v2 одно и то же?
Тут не будет списка различий между Net-NTLMv1/v2 и NTLMv1/v2, ведь это одно и то же! Да, NTLMv1/v2 это всего лишь сокращение для Net-NTLMv1/v2.Смотрим подробнее
LM хэши, как и NT хэши пользователей хранятся в SAM или в NTDS.dit на контроллере доменов.Если вы сдампите хэши, вы увидите примерно такую картину -<username>:<rid> <LM>:<NT>:::.Файл ntds. dit представляет собой базу данных, в которой хранится информация Active Directory, такая как сведения о пользователях, группах и членстве в группах. База также включает хеши паролей для всех пользователей в домене. Source
Пример: JohnDoe:503:aad3c435b514a4eeaad3b935b51304fe:c46b9e588fa0d112de6f59fd6d58eae3:::
LM
LM - старый алгоритм, который не используется, начиная с Windows Vista/Server 2008. Из за особенностей алгоритма, он не является криптостойким, именно поэтому появился NT.Алгоритм работы:
- Приводим пароль к верхнему регистру
- Если пароль длинее 14 байтов, то он обрезается до 14 байтов. Если короче, то дополняется нулями.
- Получившийся пароль делим на 2 части по 7 байтов.
- После каждый 7 битов вставляется ноль и получаем 2 8-байтовых строки
- Эти 2 8-байтовых строки далее используются для шифрования строки KGS!+#$% при помощи алгоритма DES
- Конкатенируем полученные значения и получаем LM хэшик
NTLM (NT)
NT - немного сложнее и он используется в современных Windows системах. Этот хэш наиболее интересен дляОбычно люди называют его NTLM хэшем, что вводит в заблуждение, потому что в одном месте его называют NT, а в другом NTLM хэш. Оба варианта используются в учебных материалах и, обычно, подразумевается одно и тоже, НО правильнее NT.
Алгоритм: Пароль пользователя -> UTF16-LE (LE - Little Endian) -> MD4.
(Net-)NTLMv1/v2
Это протоколы! Они не используется для хранения паролей, это протоколы, используемый для аутентификации клиента/сервера, чтобы избежать отправки хэша пользователя по сети.Но если нам удается перехватить их, допустим, через атаку LLMNR Poisoning, мы не можем провести атаку Pass-The-Hash (логично, не правда ли?). Мы можем попытаться его сбрутить и попробовать получить пароль в плейн тексте или релеить.
Структура: <username>::<hostname>:<response>:<response>:<challenge>
Пример:
admin::N46iSNekpT:08ca45b7d7ea58ee:88dcbe4446168966a153a0064958dac6:5c7830315c7830310000000000000b45c67103d07d7b95acd12ffa11230e0000000052920b85f78d013c31cdb3b92f5d765c783030
Дампим NTLM хэши
Есть много способов, как получить ntlm хэши пользователей, один из способов нижеlsadump::lsa /inject /user:Administrator
Подробнее
Как я уже упомянал, мы можем произвести атаку Pass-The-Hash.
Ловим Net-NTLMv2
Все что нам нужно - запустить Responder или Inveigh и ловить отстуки с хэшамиsudo responder -I eth0 -v
Краткий вывод
LM-хэши и NT-хэши - это хэши паролей для хранения их в Windows. Храняться в SAM или NTDS.dit. Могут быть крякнуты для получения пароля в открытом виде, а NT хэш еще и использован для атаки Pass-The-Hash.NTLMv1/v2 - это протоколы, используемые для сетевой аутентификации в средах Windows. Они используют NT-хэш в алгоритме, что означает, что его можно использовать для восстановления пароля с помощью атак методом перебора. Получить их можно, допустим, проведя атаку LLMNR Poisoning, то есть проведя атаку, где потребуется взаимодействие по сети. Стоить уточнить, что их можно релеить, что добавляет нам еще 1 вектор атаки.
(Net)-NT(LM)v[12]
Очень часто встречаю, что люди путают разные типы хэшей и думают, что NTLM и NTLMv1/v2 это одно и тоже, а NTLMv1/v2 и Net-NTLMv1/v2 разные типы. Данная статья заметка предназначена для того, что бы...
habr.com