극히 개인적이고 극히 대단하지 않은

Wireshark에서 암호화된 통신패킷(TLS)을 까서 보자. 본문

20년차 개발자

Wireshark에서 암호화된 통신패킷(TLS)을 까서 보자.

회색싼타 2025. 1. 15. 13:58

대부분의 SIP메세지는 TLS로 암호화되어 전달되기 때문에 wireshark로 잡아도 그 내용을 알 수가 없다. 단순히 Application Data로만 표기되기 떄문에 이미 알고있는 IP와 포트정보를 제외하면 유일한 의미있는 정보는 사이즈 밖에 없게되고 여기서 분석의 한계에 부딪히게 된다.

 

 

이 떄, 해당 장비에서 암호화와 복호화에 사용한 pem 인증서(개인키)가 있다면, 해당 패킷을 까서 볼 수가 있다. 다만 핸드쉐이크 과정의 세부적인 사항을 알 수 없는 TLSv1.3에서는 불가능하고, 그 이하 버전에만 적용이 가능하다.

 

구체적인 방법은 다음과 같다.

 

 Wireshark의 편집/설정 메뉴로 들어간다. 왼쪽 박스에서 Protocol을 선택해서 펼쳐진 항목 중 TLS를 선택한다. 

 

 

여기서 RSA keys list의 편집 버튼을 누르면 새로운 창이 출력되는데, 아래의 + 버튼을 눌러서 각 세션별로 정보를 입력한다. 

 

 

하나의 엔트리만 추가하여도 양방향 패킷이 해석이 된다. 확인버튼을 누르고 설정창에서도 다시 한번 확인을 누르자. 그러면 wireshark의 내용이 새로 로딩이 되고 다음과 같이 암호화가 풀려서 출력된다.

 

Comments