Метод расчета 'mechListMIC' для состояния SPNEGO GSS-API(NTLMSSP_AUTH) accept-completed(0)

Я пытаюсь изучить и внедрить SMB2 Server. Мне очень интересно изучить GSS-API (NTLMSSP, NTLMSSP_AUTH) внутри. Итак, я экспериментирую со своим собственным компонентом GSS-API. Я прочитал описание mechListMIC в RFC4178 и RFC2478. Но я не мог понять, как вычислить mechListMIC для ответа "SessionSetup Response, Unknown message type".

На самом деле, я могу сгенерировать mechListMIC для фазы negTokenInit 'NegotiateProtocol Response'. Но проблема в том, что когда клиент отправляет запрос 'SessionSetup Request, NTLMSSP_AUTH, User: Domain\Administrator, Unknown message type', я не могу понять, как он генерирует 'mechListMIC: 01 00 00 00 78 1E E9 4A DB 99 7F E9 00 00 00 00' и как мне отправить ответ обратно в 'SessionSetup Response, Unknown message type' с соответствующим mechListMIC strong> на основе предыдущего запроса SessionSetup.

Я попытался использовать следующую информацию: SMB2.CSessionSetup.securityBlob.GSSAPI.InitialContextToken.InnerContextToken.SpnegoToken.NegTokenInit.MechTypes, шестнадцатеричные данные = 30 0C 06 0A 2B 06 01 04 01 82 37 02 02 0A

И SMB2.CSessionSetup.securityBlob.GSSAPI.NegotiationToken.NegTokenResp.MechListMic, шестнадцатеричные данные = 01 00 00 00 78 1E E9 4A DB 99 7F E9 00 00 00 00

SecBuffer SignBuffers[2];

SignBufferDesc.ulVersion = SECBUFFER_VERSION; // SECBUFFER_VERSION = 0

SignBufferDesc.cBuffers = 2;

SignBufferDesc.pBuffers = SignBuffers;

SignBuffers[0] = 30 0C 06 0A 2B 06 01 04 01 82 37 02 02 0A;

SignBuffers[1] = 01 00 00 00 78 1E E9 4A DB 99 7F E9 00 00 00 00;

SignBuffers[0].BufferType = SECBUFFER_DATA; // SECBUFFER_DATA = 1

SignBuffers[1].BufferType = SECBUFFER_TOKEN; // SECBUFFER_TOKEN = 2



Может ли кто-нибудь сказать мне, какую информацию мне нужно использовать в алгоритме HMAC-MD5 (ключ, данные) для создания mechListMIC для ответа SessionSetup и как ?

Если можно создать пошаговый пример, используя мой тестовый пример, для вычисления mechListMIC для ответа 'SessionSetup Response, Unknown message type', это было бы очень полезно. для меня. Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.


Спасибо,
Шишир


person Shishir    schedule 15.11.2012    source источник


Ответы (1)


Пожалуйста, найдите ответ на сайте MSDN http://social.msdn.microsoft.com/Forums/gu-IN/os_fileservices/thread/d00b4e1a-077b-4620-99c7-da7bf86d5212

person Shishir    schedule 29.01.2013