Wireshark에서 트래픽을 NTLM 프로토콜로 디코딩하는 방법은 무엇입니까?

Wireshark에서 트래픽을 NTLM 프로토콜로 디코딩하는 방법은 무엇입니까?

NTLM인증 문제를 디버깅하려고 합니다 . 내 아이디어 중 하나는 네트워크 트래픽을 캡처하여 살펴보는 것이었습니다. 내 경우에는 NTLM인증이 표준이 아닌 포트(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

Alexander Janssen의 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 서비스에 대한 트래픽을 분석할 때 이를 성공적으로 테스트했습니다.

관련 정보