Назад | Перейти на главную страницу

Как декодировать трафик как протокол NTLM в Wireshark?

Я пытаюсь отладить NTLM проблема аутентификации. Одна из моих идей заключалась в том, чтобы захватить сетевой трафик и посмотреть на него. В моем случае NTLM аутентификация проходит через нестандартный порт (6901). Конечно, Wireshark не может его обнаружить. Но есть нет NTLM (NTLMSSP) протокол в списке в Decode as меню. Я не могу любить Вот.
Есть ли способ попросить Wireshark декодировать трафик как NTLM?
Или мне нужно изменить захваченный трафик, например изменение TCP порт или как-то другой?

Сценарий LUA Александра Янссена не работает, потому что он получает протокол по номеру порта (445 - SMB / CIFS), но его можно изменить, чтобы зарегистрировать диссектор NTLMSSP по имени следующим образом:

local tcp_port_table = DissectorTable.get("tcp.port")
local tcp_ntlmssp_dis = Dissector.get("ntlmssp")
tcp_port_table:add(6901, tcp_ntlmssp_dis)

6901 - это порт, на котором работает служба NTLMSSP. Для протоколов, отличных от NTLMSSP, любое значение из списка на https://www.wireshark.org/docs/dfref/ должен работать вместо "ntlmssp".

Я успешно протестировал это на прошлой неделе при анализе трафика к другой настраиваемой службе NTLMSSP.

Я не совсем уверен, какие порты NTLMSSP использует на самом деле, но вы можете попробовать этот Lua-скрипт для регистрации NTLMSSP-диссекторов на свой собственный порт.

local tcp_port_table = DissectorTable.get("tcp.port")
local tcp_ntlmssp_dis = tcp_port_table:get_dissector(445)
tcp_port_table:add(6901, tcp_ntlmssp_dis)

Сохраните это в файл - например, ntlmssp.lua - и скажите Wireshark загрузить его, например

$ wireshark -X lua_script:ntlmssp.lua -r trace.pcap

Возможно, вам придется изменить порт 445 на действительно необходимый или зарегистрировать дополнительные порты, добавив дополнительные строки, например tcp_port_table:get_dissector(4711). Если вам также нужен UDP, сделайте то же самое для UDP.