Fake1sBack
New member
Я работаю над приложением С#, которое выполняет аутентификацию NTLM. Я создал серверное приложение ASP.NET Core и настроил его на использование NTLM.
Клиентское консольное приложение Код консольного приложения. Моя операционная система Windows 10.
Клиент посылает NTLM Negotiate сообщение и сервер отвечает NTLM Challenge сообщением. Проблемы начинаются на 3-тем этапе. При отправке клиентом 3 типа сообщения (NTLM Authenticate) сервер всегда отвечает 401 Unauthorized. Если заходить на сайт через браузер, то браузер успешно делает аутентификацию и на 3-тий тип сообщения сервер отвечает статусом 200.
Пробовал локальную аутентификацию с пустыми LM,NTLM,Domain Name,User Name и Host Name полями
Я пробовал библиотеки Python, такие как ntlm-auth и impacket, для аутентификации ntlm, но результат тот же.
Когда конфигурация серверного приложения была изменена для использования IIS вместо HTTPSys, система начала выполнять аутентификацию по
Что я собственно хочу, так это сделать хотя-бы успешную локальную NTLM аутентификацию и узнать что выполняется на
C#:
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseHttpSys(options =>
{
options.Authentication.Schemes = Microsoft.AspNetCore.Server.HttpSys.AuthenticationSchemes.NTLM;
options.Authentication.AllowAnonymous = false;
});
webBuilder.UseUrls("http://192.168.1.45:5000");
webBuilder.UseStartup<Startup>();
});
Клиент посылает NTLM Negotiate сообщение и сервер отвечает NTLM Challenge сообщением. Проблемы начинаются на 3-тем этапе. При отправке клиентом 3 типа сообщения (NTLM Authenticate) сервер всегда отвечает 401 Unauthorized. Если заходить на сайт через браузер, то браузер успешно делает аутентификацию и на 3-тий тип сообщения сервер отвечает статусом 200.
Пробовал локальную аутентификацию с пустыми LM,NTLM,Domain Name,User Name и Host Name полями
Ссылка скрыта от гостей
. Единственное различие между моим сообщением и тем что отправляет браузер, так это поле MIC. Подозреваю, что проблема в реализации подсчёта MIC.Я пробовал библиотеки Python, такие как ntlm-auth и impacket, для аутентификации ntlm, но результат тот же.
Когда конфигурация серверного приложения была изменена для использования IIS вместо HTTPSys, система начала выполнять аутентификацию по
Ссылка скрыта от гостей
. Не знаю, что там выполняется. В конце концов, когда система выполняет аутентификацию, это 200 OK, а когда мое приложение выполняет аутентификацию, это 401 Unauthorized.Что я собственно хочу, так это сделать хотя-бы успешную локальную NTLM аутентификацию и узнать что выполняется на
Ссылка скрыта от гостей
.