Security

N모사 카페 채팅 해킹하기

FreeChild 2010. 6. 30. 02:18

또다시 오랜만에 포스팅을 하는군요. 하하. 한동안 이것저것 하느라 바빴습니다만.. 이번에는 좀

색다른 시도를 해봤습니다. 제목에서도 알 수 있드시 바로 N모사 카페 채팅을 해킹하기입니다. 후후..

사실 해킹같은 건 별로 경험도 없을 뿐더러 그다지 관심 분야도 아니었습니다만..

최근 들어서 이쪽 분야에 관심이 가기 시작하더군요. 저의 왕성한 호기심을 충분히 그리고 촉촉히

자극하기 시작하였지요. : )

해킹 대상을 물색하던 와중에 떠오르던 것이 제가 가끔씩 애용하는 만화책 카페 채팅방이었습니다.

채팅방을 해킹한다면 왠지 제법 많은 것들을 얻을 것 같다는 생각이 뇌리에 스치더군요.

예를 들어, 카페 로그인없이 채팅 내용을 도청하고 방장 기능을 획득한다거나 아이디 도용 등의

작업들 말입니다. 그동안 나름대로 쌓아왔던 내공과 짬밥을 적절히 활용했습니다.

대략적으로 제가 어떤 작업을 해야할지 감이 오더군요.

카페 채팅 해킹의 핵심은 패킷 스니핑으로 분석하여 암호화된 패킷을 복호화하고 CONNECT와

DISCONNECT에서 발생하는 핸드쉐이킹 인증 작업을 체크하는 것입니다.


1) 접속할 때 이루어지는 핸드쉐이킹 인증 구조 분석(Wire Shark)



2) 암호화된 패킷의 분석



3) 캡쳐한 패킷 내용



Frame 309 (128 bytes on wire, 128 bytes captured)
Ethernet II, Src: AsrockIn_1d:fa:85 (00:65:00:1d:00:85), Dst: Dasan_0b:2e:94 (00:00:cb:00:2e:00)
    Destination: Dasan_0b:2e:94 (00:10:2b:0b:23:94)
    Source: AsrockIn_1d:fa:85 (00:25:00:00:fa:00)
    Type: IP (0x0800)
Internet Protocol, Src: 0.0.0.0 (0.0.0.0), Dst: 202.179.0.0 (202.179.0.0)
Transmission Control Protocol, Src Port: device2 (2030), Dst Port: 11900 (11900), Seq: 1, Ack: 1, Len: 74
    Source port: device2 (2030)
    Destination port: 11900 (11900)
    [Stream index: 21]
    Sequence number: 1    (relative sequence number)
    [Next sequence number: 75    (relative sequence number)]
    Acknowledgement number: 1    (relative ack number)
    Header length: 20 bytes
    Flags: 0x18 (PSH, ACK)
    Window size: 65535
    Checksum: 0x0e45 [validation disabled]
    [SEQ/ACK analysis]
Data (74 bytes)

0000  55 53 45 52 30 30 36 36 38 35 36 37 31 34 64 64   USER0096856714dd
0010  34 34 34 30 62 32 33 30 32 30 62 61 31 39 66 39   4440b23020ba19f9
0020  33 61 66 63 39 38 31 30 34 63 35 36 61 63 31 65   3afc98104c56ac1e
0030  34 35 37 38 33 36 38 35 63 61 36 61 31 34 63 36   45783685ca6a14c6
0040  38 31 64 31 65 38 30 38 34 31                     81d1e80841
    Data: 555345523030363638353637313464643434343062323330...
    [Length: 74]

No.     Time        Source                Destination           Protocol Info
    310 23.157561   202.179.183.0         0.0.0.0               TCP      11900 > device2 [ACK] Seq=1 Ack=75 Win=5840 Len=0

Frame 310 (60 bytes on wire, 60 bytes captured)
Ethernet II, Src: Dasan_0b:2e:94 (00:00:cb:0b:00:00), Dst: AsrockIn_1d:fa:00 (00:00:22:00:fa:00)
    Destination: AsrockIn_1d:fa:85 (00:00:00:00:00:00)
    Source: Dgan_x:21:90 (00:d0:00:0b:2e:94)
    Type: IP (0x0800)
    Trailer: AAAA16D01CE9
Internet Protocol, Src: 0.0.0.0 (0.0.0.0), Dst:
Transmission Control Protocol, Src Port: 11900 (11900), Dst Port: device2 (2030), Seq: 1, Ack: 75, Len: 0
    Source port: 11900 (11900)
    Destination port: device2 (2030)
    [Stream index: 21]
    Sequence number: 1    (relative sequence number)
    Acknowledgement number: 75    (relative ack number)
    Header length: 20 bytes
    Flags: 0x10 (ACK)
    Window size: 5840
    Checksum: 0x1ce9 [validation disabled]
    [SEQ/ACK analysis]


4) 결과

* 카페 채팅에 접속하기 위한 유령 프로그램을 작성하여 인증을 받고 접속 성공
* 암호화된 송신 패킷의 복호화 및 패킷 구조 분석 완료
* 패킷 암호화 및 복호화 루틴 작성, 테스트 성공
* 모조 패킷 전송 성공


- 접속하지 않고 채팅 내용 도청과 아이디 도용, 상태 메시지 조작 가능
  강퇴 권한을 갖는 것은 시간 문제겠지만..
  그 이상의 시도는 위험하기 때문에 보류하겠습니다. : )

  어디까지나 호기심 탐구가 목적이기 때문에 이쯤에서 마무리하겠습니다.


Written by Simhyeon, Choe