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 не различим. Но для остальной части байтов, это выполняется.