ЭЛДИК
- 1 year ago
- 0
- 0
|
Возможно, эта статья содержит
оригинальное исследование
.
|
|
В этой статье использованы
только первичные либо аффилированные источники
.
|
NTLMv2 (NTLM версии 2) — встроенный в операционные системы семейства Microsoft Windows протокол сетевой аутентификации . Широко применяется в различных сервисах на их базе. Изначально был предназначен для повышения безопасности аутентификации путём замены устаревших LM и NTLM v1. NTLMv2 был введён начиная с Windows NT 4.0 SP4 и используется версиями Microsoft Windows вплоть до Windows 10 включительно. С самого изобретения протоколы NTLMv1 и NTLMv2 подвергались множеству нападений и демонстрировали широкий спектр серьёзных уязвимостей.
|
Эта статья или раздел содержит незавершённый перевод с
английского языка
.
|
|
Эта статья или раздел описывает ситуацию лишь применительно к частным случаям (
Windows
).
|
В схеме аутентификации, реализованной при помощи SMB или SMB2 сообщений, вне зависимости от того, какой вид диалекта аутентификации будет использован (LM, LMv2, NTLM, NTLM2, NTLMv2), процесс аутентификации происходит следующим образом:
SecREt01
», тогда получается OEM строка:
0x5345435245543031
0x5345435245543031000000000000
0x53454352455430
и
0x31000000000000
0x52a2516b252a5161
и
0x3180010101010101
KGS!@#$%
», а также сформированные ранее два DES-ключа, вычисляются два hash-значения, каждое по 8 байт:
0xff3750bcc2b22412
и
0xc2265b23734e0dac
0xff3750bcc2b22412c2265b23734e0dac
0xff3750bcc2b22412c2265b23734e0dac0000000000
0xff3750bcc2b224
,
0x12c2265b23734e
и
0x0dac0000000000
0xfe9bd516cd15c849
,
0x136189cbb31acd9d
и
0x0dd6010101010101
0x0123456789abcdef
, тогда получаются:
0xc337cd5cbd44fc97
,
82a667af6d427c6d
и
e67c20c2d3e77c56
0xc337cd5cbd44fc9782a667af6d427c6de67c20c2d3e77c56
SecREt01
» или Unicode строка
0x53006500630052004500740030003100
после преобразования посредством алгоритма MD4 будет иметь вид:
0xcd06ca7c7e10c99b1d33b7485a2ed808
User
» и имя домена «
Domain
» дадут строку «
USERDOMAIN
» или Unicode строку
0x550053004500520044004f004d00410049004e00
. После алгоритма
HMAC
-
MD5
, где применяется
NTLM-hash
, вычисляется
NTLMv2-hash
:
0x04b8e0ba74289cc540826bab1dee63ae
.
0xffffff0011223344
0x0123456789abcdef
, тогда получаем:
0x0123456789abcdefffffff0011223344
0xd6e6152ea25d03b7c6ba6629c2d6aaf0
0xd6e6152ea25d03b7c6ba6629c2d6aaf0ffffff0011223344
SecREt01
» или Unicode строка
0x53006500630052004500740030003100
после преобразования посредством алгоритма
MD4
будет иметь вид:
0xcd06ca7c7e10c99b1d33b7485a2ed808
0xcd06ca7c7e10c99b1d33b7485a2ed8080000000000
0xcd06ca7c7e10c9
,
0x9b1d33b7485a2e
и
0xd8080000000000
0xcd83b34fc7f14392
,
0x9b8f4c767543685d
и
0xd904010101010101
0x0123456789abcdef
, тогда получается:
0x25a98c1c31e81847
,
0x466b29b2df4680f3
и
0x9958fb8c213a9cc6
0x25a98c1c31e81847466b29b2df4680f39958fb8c213a9cc6
0xffffff0011223344
0xffffff001122334400000000000000000000000000000000
0x0123456789abcdef
, тогда получается:
0x0123456789abcdefffffff0011223344
0xbeac9a1bc5a9867c15192b3105d5beb1
0xbeac9a1bc5a9867c
SecREt01
» или Unicode строка
0x53006500630052004500740030003100
после преобразования посредством алгоритма
MD4
будет иметь вид:
0xcd06ca7c7e10c99b1d33b7485a2ed808
0xcd06ca7c7e10c99b1d33b7485a2ed8080000000000
0xcd06ca7c7e10c9
,
0x9b1d33b7485a2e
и
0xd8080000000000
0xcd83b34fc7f14392
,
0x9b8f4c767543685d
и
0xd904010101010101
0x0123456789abcdef
, тогда получается:
0x10d550832d12b2cc
,
0xb79d5ad1f4eed3df
и
0x82aca4c3681dd455
0x10d550832d12b2ccb79d5ad1f4eed3df82aca4c3681dd455
|
Эта статья или раздел содержит незавершённый перевод с
английского языка
.
|
SecREt01
» или Unicode строка
0x53006500630052004500740030003100
после преобразования посредством алгоритма
MD4
будет иметь вид:
0xcd06ca7c7e10c99b1d33b7485a2ed808
User
» и имя домена «
Domain
» дадут строку «
USERDOMAIN
» или Unicode строку
0x550053004500520044004f004d00410049004e00
. После алгоритма
HMAC
-
MD5
, где применяется
NTLM-hash
, вычисляется
NTLMv2-hash
:
0x04b8e0ba74289cc540826bab1dee63ae
0xffffff0011223344
0x01010000
— the blob signature,
0x00000000
— reserved value,
0x0090d336b734c301
— timestamp,
0xffffff0011223344
— a random Client challenge,
0x00000000
— unknown,
0x02000c0044004f004d00410049004e0001000c005300450052005600450052000400140064006f006d00610069006e002e0063006f006d00030022007300650072007600650072002e0064006f006d00610069006e002e0063006f006d0000000000
— target information block,
0x00000000
— unknown
0x0123456789abcdef
, тогда получается следующая последовательность:
0x0123456789abcdef01010000000000000090d336b734c301ffffff00112233440000000002000c0044004f004d00410049004e0001000c005300450052005600450052000400140064006f006d00610069006e002e0063006f006d00030022007300650072007600650072002e0064006f006d00610069006e002e0063006f006d000000000000000000
. После использования алгоритма
HMAC
-
MD5
получается следующее hash-значение:
0xcbabbca713eb795d04c97abc01ee4983
0xcbabbca713eb795d04c97abc01ee498301010000000000000090d336b734c301ffffff00112233440000000002000c0044004f004d00410049004e0001000c005300450052005600450052000400140064006f006d00610069006e002e0063006f006d00030022007300650072007600650072002e0064006f006d00610069006e002e0063006f006d000000000000000000
|
У этого раздела надо
проверить нейтральность
.
|
Прослушивая сетевой трафик, можно перехватить SMB пакеты аутентификации, тем самым завладев последовательностью Server Challenge и ответом Response от клиента. Имея эти два параметра, несмотря на способ аутентификации (даже при NTLMv2), возможно, при помощи современного программного обеспечения (при условии не сложного пароля, допустим: «12345») в течение нескольких часов подобрать пароль клиента. Но если способом аутентификации является NTLMv2 и пароль клиента содержит прописные, заглавные, строчные буквы, цифры, а также специальные символы, то на взлом такого пароля могут уйти многие годы.
Этот способ мало чем отличается от подмены сервера. Сервер, при помощи специального программного обеспечения или изменения настроек локальной политики безопасности, выбирает наиболее незащищённый вид диалекта аутентификации.
При выборе пароля клиент должен руководствоваться следующими правилами:
|
Эта статья или раздел описывает ситуацию лишь применительно к частным случаям (
Windows
).
|
|
Стиль этого раздела
неэнциклопедичен или нарушает нормы литературного русского языка
.
|
Запустите «Панель управления» и откройте раздел «Администрирование → Локальная политика безопасности → Локальные политики → Параметры безопасности» (Administrative Tools → Local Security Policy → Local Policies → Security Options). В этом разделе найдите политику «Сетевая безопасность: уровень проверки подлинности LAN Manager». Из раскрывающегося списка необходимо выбрать параметр «Отправлять только NTLMv2-ответ. Отказывать LM и NTLM»
|
Эта статья или раздел содержит незавершённый перевод с
английского языка
.
|
|
Этот раздел представляет собой
неупорядоченный список разнообразных фактов
о предмете статьи.
|