이제 연휴는 끝났다. 다시 회사일에 버닝해야 할 시간
아무튼 며칠전 JaTeOn 멤버로 들어간 후 중간중간 kfmes님과 기술적인 대화 말고는 그다지 기여한 게 없어 가볍게 파일전송이나 넣어볼까 하는 마음으로 가볍게 ethereal님을 켰다.
우웃 제길슨! 언제부터 네이트온이 이런 새로운 feature를 넣었지? -- 네이트온의 모든 대화메시지가 암호화된다. 다행히 암호화 여부를 클라이언트가 선택할 수 있다.
MSN 용어로 Switchboard 에 참여할 때 이것을 클라이언트가 다음과 같이 보낸다.
ENTR 1 rath.myid.net ......... ......... 4F1C65A70BC4003F4C7300630BB1 UTF8 C
바로 'C' 다. C를 보내지 않거나 'P'를 보내면 메시지 전문을 평소처럼 plain/text로 다 까볼 수 있다.
그런데 C를 보내면.. 네이트온 서버로부터 BASE64로 인코딩된 Public Key를 받는다. (헤더가 4글자라 추측이 쉽네 )
PBLK 0 AAAAAQAAACIACAAAZhAAAGYPAABmDgAAp...XQMcYXpcD3z2IhnL08yLC3Ecoi/q/JKD49TTw==
그러나 알려진 툴들로 이것을 분석하는데는 실패했다. 이름이 PBLK 인것 그리고 내용에 NateOn Messenger, nateonmaster@nate.com, SK Communications, Seoul, KR 등이 포함된것으로 미루어 볼 때 인증서가 맞긴 맞는데.. openssl x509로 몇가지 옵션을 넣어봤지만 모두 다 실패했다. asn1parse로도 잘 안된다.
아무튼 서버의 PBLK는 이름에서 알 수 있듯이 항상 동일하지만 Handshake를 마치기 전 클라이언트에서 응답하는 패킷인 ESSK는 항상 바뀌는 것으로 보아 random generated 인듯하다.
ESSK 2 AAAAAQAAAAYAAQAAZhATGOcCbeUB+Lzq5wOPlB.....7r25YaDncg== RAW
인증서 내용 어떻게든 까야 publicKey 뽑아낼텐데.. 그리고 ESSK의 정체는 뭘까, Extended Super SK -_-? 아무튼 ESSK 이후로는 CRPT 헤더로 모든 패킷이 encrypt 된다. 길이들이 24, 104, 56, 72 인것으로 보아 block cipher 같다.
네이트온 대단하다. 대화 세션마다 PKI handshake를 하다니.. 아무튼 내일을 위해 이만 잔다.
Comments
9 thoughts shared
rath
어랏 환경설정에서 끌 수 있었잖아 제길;;
rath
지만님 정말 오랜만이에요 ㅎㅎ 잘 지내시지요? 지눅님 통해서 가끔 소식만 듣네요..
구글톡도 Smack을 사용해서 간단한 봇을 만들어봤는데요.. 로그인부터 최종까지 모조리 TLS 기반이라 대단히 안심입니다 .
이야~ 그동안 명쾌하지 못했던 질문에 대한 답을 얻고가네요 ㅎ..
덧붙여 MSN이야 워낙 여러 Sniffing Tool이 보이는걸로 봐서 로그인 이외의 메세지 송수신 부분의 보안성은 취약하다고 보면 되는거겠죠?
그런데 구글에서 Google Talk Sniffer라고 쳤을 때 나오는 툴들은 먼가요? 이 역시 이런 툴을 쓰면 스니핑이 가능하기는 하다는 의미로 보면 될지요?
Ps. 인간 증명 프로세스가 너무 어렵삼 ㅋ
rath
궁금해서 써봤는데 (IMBoss) MSN은 잘 잡지만 Google Talk은 포트로 패킷만 잡고 내용은 하나도 분석하지 못하네요. PKI 기반이니 전 스니핑이 불가능하리라 봅니다. 혹시 예전 버전의 gtalk을 잘 잡아 처리한게 아닐까요? xmmp 기반 non-ssl 만 분석해주는 것 같네요
p.s. 가운데 글자가 어려운건가요? -o-
rath
가운데 WaveFilter 풀었어요. 생각해보니 여태까지 넘 오바했던 것 같네요 -ㄴ-
rsaenh는 OS에서 제공되는 Microsoft Enhanced Cryptographic Provider Library 네요. 로그인할 때는 MD5 Digest 밖에 사용하지 않는답니다.
이 포스트에서 다뤘던 것은 대화시에 사용하는 키를 얻고자 하는 것인데 대화채널 생성시마다 키가 변경되므로 로그인시 생성된 Token과는 관련이 없어 보입니다. ^^
Continue Reading
Discover more thoughts and insights
메일 주소 변경
rath@xrath.com 을 포함하여 Clear.Rath@xrath.com Confirm.Rath@xrath.com 등의 메일주소가 더 이상 사용되지 않습니다. 앞으로는 xrathx@gmail.com 을
아드린느를 위한 발라드
리차드클라이더만 - 아드린느를 위한 발라드 아드린느를 위한 발라드 날씨가 정말 좋네요.
Implementation Patterns 보다가
Kent Beck이 쓴 Implementation Patterns을 보다가 Cost(total) = Cost(develop) + Cost(maintain) Cost(maintain) =