Как можно осуществить перехват TCP?

Я разрабатываю с приложением ASP.NET, которое использует проверку подлинности Windows. Я настроил web.config файл, чтобы запретить всех неаутентифицированных пользователей, и разрешить только пользователям с определенной ролью.

Используя Fiddler, я могу распознать свой идентификатор сеанса, воспроизвести запрос и все еще получить 200 OK ответ... по-видимому, без каких-либо переговоров.

У меня сложилось впечатление, что учетные данные для проверки подлинности на основе NTLM связаны с базовым TCP-соединением. Во-первых, это правда? Это реальная угроза безопасности? Если да, то какие шаги должен предпринять человек, чтобы взломать такое соединение, чтобы получить личность другого пользователя?

2 ответа

Решение

Internet Explorer может выполнять прозрачную проверку подлинности NTLM. Я не использовал Fiddler значительно, и я не знаю, показывает ли это вам эту часть разговора или нет. Я предполагаю, что ваш браузер прозрачно аутентифицирует вас, но я не могу сказать точно.

Вы можете попытаться прослушать трафик браузера / сервера с помощью Wireshark или чего-то подобного, чтобы увидеть, происходит ли это. NTLM-аутентификация между клиентом и IIS выполняется внутри соединения TCP, а не как часть какого-то внешнего процесса, связанного с запуском соединения TCP. Если он там, вы увидите это.

Вы не видите угона TCP. Вы либо видите результат прозрачной аутентификации, либо ваше приложение фактически не требует аутентификации.

Чтобы напрямую общаться с перехватом TCP (секвенирование TCP и т. Д.): Чтобы перехватить TCP-соединение, злоумышленник должен предсказать последовательность и номера подтверждения и подделать трафик в качестве клиента. Как правило, это заканчивается слепой атакой, потому что ответы с серверного компьютера возвращаются к реальному клиенту. (Если вы комбинируете последовательность TCP с отравлением кэша ARP, вы можете добиться двустороннего перехвата, но это обычно ограничивает атаку на злоумышленника на компьютере в той же подсети, что и клиент или сервер.) Последовательность TCP для активных соединений между клиентами и серверы через Интернет затруднены, если злоумышленник не скомпрометировал точку сужения между клиентом и сервером.

Атаки слепого секвенирования TCP, порождающие соединение для использования доверия к протоколу (атака Кевина Митника на рабочую станцию ​​Shimomura с целью сброса файла.rhosts) стала возможной благодаря предположительным начальным порядковым номерам, и это немного другое животное, чем прямой захват.

SSL, IPSEC или другие зашифрованные протоколы туннелирования - ваши друзья для предотвращения перехвата TCP. В целом, даже если вы выполняете аутентификацию с помощью системы запроса / ответа не открытым текстом (например, NTLM, NTLMv2 и т. Д.), TCP-соединение по-прежнему уязвимо для перехвата.

Чтобы ответить на ваш последний вопрос, отравление арпом Каином является относительно простым и тривиальным делом. Тем не менее, для этого требуется одна из двух вещей: физический доступ к вашей сети или беспроводной доступ к вашей сети.

После отравления арпом и сбора Каином достаточного количества данных хэши NTLM могут быть взломаны прямо внутри Каина. Конечно, чем сильнее пароль, тем дольше он займет.

Другие вопросы по тегам