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

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

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

решение1

Я не совсем уверен, какие порты на самом деле использует 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.

решение2

Скрипт 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.

Связанный контент