원래 와이어샤크를 이용하여 SSL Traffic을 Decrypt하는 방법에 대하여 공부하려고 했으나

Private Key가 필요한데 그를 확보하는 방법을 알아내지 못했다.


우선 패킷 속에서 인증서를 추출하기 위해 SSL 트래픽을 잡도록 하겠다.


우선 패킷 캡쳐를 위해 와이어샤크를 켠다.

www.wireshark.org 에서 다운받을 수 있다.


그리고 Edit -> Preference -> Protocols -> TCP 탭에서 'Allow subdissector to ressemble TCP streams'에 체크해 준다.

OK 버튼을 눌러 저장한 후, 패킷 캡쳐를 시작하고 SSL이 잡힐 만한 사이트를 돌아다닌다.

대충 다 잡았다 싶으면 중지하고, SSL로 필터링해 Info에 Certificate라고 적힌 패킷을 선택한다.


Packet Details에서 위 이미지와 같은 방식으로 인증서를 찾자.

몇 개정도의 인증서가 나올 것인데, 가장 위가 서버 측 인증서이며 나머지 두 개는 CA와 root CA 것이라고 한다.


이를 우클릭하여 'Export Selected Packet Byrtes...' 를 선택하자.

이를 저장하면 된다.



이런 식으로 인증서가 정상적으로 덤프된 것을 확인할 수 있다.


이를 암호화에 사용하는 PEM 형식으로 바꾸기 위해서는 openssl이 필요한데,

http://zero-gravity.tistory.com/239

이는 위를 참조하여 설치하면 된다.


cmd에서 디렉토리에 구애받지 않고 어디서든 사용하기 위해서는 PATH 환경변수에 openssl.exe 파일의 경로를 지정해 주는 것이 좋다.

openssl x509 -inform der -in [파일명] -out [파일명]

이라는 명령과 옵션을 이용해 der파일을 PEM파일로 변환할 수 있고, 이렇게 변환된 PEM파일은 


이런식으로 저장되어있다.



'Knowledge' 카테고리의 다른 글

libcapstone-dev 설치 방법  (0) 2016.03.12
PE 파일과 Memory-Mapped File  (0) 2015.12.24
Wireshark로 인증서 추출하기  (0) 2015.11.02
제한적 ASLR 해제 방법  (0) 2015.10.22
RTL Chaining의 원리  (0) 2015.10.18
레지스터 (Register)  (0) 2015.10.12
블로그 이미지

__미니__

E-mail : skyclad0x7b7@gmail.com 나와 계약해서 슈퍼 하-카가 되어 주지 않을래?

댓글을 달아 주세요