MS SQL сервер имеет два средства идентификации пользователей.
Первое это Windows аутентификация, второе — 
встроенная SQL аутентификация (со встроенной учетной записью ‘sa’). Пароли, используемые для SQL Authentication, посылаются по сети
с очень слабым алгоритмом шифрования. Об этом было написано в статье Дэвида Личфилда «Threat Profiling Microsoft SQL Server». В этой статье Личфилд заявляет, что пароль зашифрован предварительным преобразованием его в UNICODE и затем выполнение простого XOR действия. Однако в описании этого метода есть несколько неточностей. Вот фактический способ шифрования пароля: 

Шаг 1: Пароль преобразовывается в UNICODE 
Шаг 2: Для каждого байта пароля: четыре Most Significant Bits
(MSB) поменяны с четырьмя Least Significant Bits (LSB) 
Шаг 3: Модифицированные данные XORed с 0xA5. В случае чередования UNICODE 0x00, обмен 4 MSB с 4 LSB не различим. Но для остальной части байтов, это выполняется.



Оставить мнение