2011年4月21日星期四

Skype登录证书被劫持(二)

昨天有网友在我以前的一篇叫“Skype登录证书被劫持”的文章后留言,说他发现了一样的问题:
1. 上Skype.com正常(国际站,美国IP),没有被引导到Tom Skype。
2. 点击“Login”后,自动转至https,提示证书属于www.bb-in.com;
3. 用这个证书的登录页面IP为:114.255.209.142
我怀疑是钓鱼。
TA提到的这个IP让我产生了兴趣,因为以前没有注意过IP。我whois 114.255.209.142得到如下结果:

这个注册人提供的地址是“qianmendongdajie9hao”,用Google搜索了下“前门东大街9号”,这是北京市公安局的地址。再看开头的netname“BJSGAJWLAQBWC-GOV”,应该是“北京市公安局网络安全保卫处”的意思,确实有这么个部门。

 为啥Skype登录页面https://login.skype.com的IP是上面这个部门的呢?应当不是Skype配合当局在服务器上做的定向,而正是上面网友所说的钓鱼。

我现在不翻墙,通过默认的DNS服务器来看login.skype.com的记录:
$ dig login.skype.com

; <<>> DiG 9.7.1-P2 <<>> login.skype.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23362
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;login.skype.com.        IN    A

;; ANSWER SECTION:
login.skype.com.    213    IN    A    114.255.209.142

;; Query time: 4 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Thu Apr 21 14:53:46 2011
;; MSG SIZE  rcvd: 49
得到的正是北京市公安局的那个地址。而我登录到VPS上,再做同样的操作:
$ dig login.skype.com

; <<>> DiG 9.7.0-P2-RedHat-9.7.0-5.P2.6.amzn1 <<>> login.skype.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12968
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;login.skype.com.        IN    A

;; ANSWER SECTION:
login.skype.com.    300    IN    CNAME    login.skype-apps.akadns.net.
login.skype-apps.akadns.net. 300 IN    A    193.95.154.30

;; Query time: 45 msec
;; SERVER: 172.16.0.23#53(172.16.0.23)
;; WHEN: Thu Apr 21 14:56:12 2011
;; MSG SIZE  rcvd: 90
这样是没有被篡改的结果。login.skype.com是CNAME到login.skype-apps.akadns.net的一个别名,这个意思是说login.skype.com的正宗名(Canonical NAME)是login.skype-apps.akadns.net,而这个域名实际指向193.95.154.30这个IP地址。这样是很常见的做法,让CNAME所在主机提供一个类似CDN(Content Delivery Network)的服务,根据用户的IP地址提供不同的服务器IP地址。我在VPN连接下,login.skype.com就分别出现过爱尔兰、卢森堡和爱沙尼亚的IP地址(根据Firefox的Flagfox插件的显示)。

上面作DNS查询我没有在自己电脑上用8.8.8.8查询,这样查询的结果也已经被污染了:
$ dig @8.8.8.8 login.skype.com

; <<>> DiG 9.7.1-P2 <<>> @8.8.8.8 login.skype.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45598
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: Messages has 1 extra bytes at end

;; QUESTION SECTION:
;login.skype.com.        IN    A

;; ANSWER SECTION:
login.skype.com.    213    IN    A    114.255.209.142

;; Query time: 10 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Thu Apr 21 15:10:21 2011
;; MSG SIZE  rcvd: 50
上面的DNS查询,有时候也会得到正确的结果,但具体规律难以得知。

114.255.209.142这个IP我也遇到了:

特殊的IP地址

我这里如果不用SSH Tunnel或者VPN的话,skype.com还是被定向到skype.tom.com。劫持后的证书我在“加入Skype”页面再次发现了,截图如下:
Firefox的安全警告
来路不明的证书
感谢这个网友提供了这枚特殊的IP地址,让我发现了新问题。建议在网页登录过Skype的,通过安全的连接修改一下密码,也希望大家以后在用Skype的时候,提高警惕,Skype的问题比Twitter,Facebook被封的还要严重。

7 条评论:

匿名 说...

你这个还算明显的知道是个假冒的。
http://j.mp/eIZNIv

匿名 说...

文章中重要的因素没有写清楚:你用哪个DNS服务器时得到被劫持的结果?


C:\>nslookup login.skype.com
DNS request timed out.
timeout was 2 seconds.
*** Can't find server name for address 8.8.8.8: Timed out
Server: google-public-dns-b.google.com
Address: 8.8.4.4

Non-authoritative answer:
Name: login.skype-apps.akadns.net
Address: 193.95.154.30
Aliases: login.skype.com
IP显示是爱尔兰 193.95.154.30

我测试过两个湖南的DNS,得出来的都是没有被劫持的,一个是比利时 212.8.166.28 卢森堡 78.141.177.141
C:\>nslookup login.skype.com 222.246.129.81
*** Can't find server name for address 222.246.129.81: Non-existent domain
Server: UnKnown
Address: 222.246.129.81

Non-authoritative answer:
Name: login.skype-apps.akadns.net
Address: 193.95.154.30
Aliases: login.skype.com


C:\>nslookup login.skype.com 61.234.254.5
Server: dns1.hncrc.net.254.234.61.in-addr.arpa
Address: 61.234.254.5

DNS request timed out.
timeout was 2 seconds.
Non-authoritative answer:
Name: login.skype-apps.akadns.net
Address: 78.141.177.141
Aliases: login.skype.com

Peter Pan 说...

是用北京联通的DNS测试的。

匿名 说...

希望胖鸭子把博文写得更通俗些,特别是让我这样不是专业,但又很想了解网络情况的人。比如在什么平台之上,用什么软件测试。

Peter Pan 说...

以后会注意这个。你用Firefox浏览器安装个Flagfox的插件,就可以显示服务器所在国家的国旗和IP了。Whois命令你在http://whois.net查询就可以了。DNS查询在Windows下用nslookup命令即可。

Unknown 说...

意思是说如果用浏览器浏览,能发现证书无法验证。但是skype客户端是不检查证书的吗?

Peter Pan 说...

正常的SSL客户端都应该检查证书的。但是国内的Skype没有研究过,可以用Wireshark抓包看看。