翻译:sinensis
稿费:170RMB(不服你也来投稿啊!)
投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿
上几周我对来电显示伪造做了一下调查,它的特点是可以对线上的服务产生影响。几个月之前,我偶然度读到一篇来自澳大利亚的安全研究员Shubham Shah的文章,你可以在这里找到它。
他在2年半前做了一项很棒的调查,他分析了来电显示投毒对两步验证的影响,包括了现在非常流行的服务,比如:Google,Facebook等。来电显示就是当接到电话的时候显示在屏幕上的手机号。他成功有效地绕过了两步验证。为了绕过两步验证,他利用了电子语音邮箱一直存在的认证问题。稍后我会讲述其中的细节。
来电显示投毒
现在,让我们从故事的开头讲起:
首先我们知道:手机网络的安全性其实非常差的!
不过大多数人所不知道的是,伪造来电显示非常容易。一般来说,攻击者首先要对手机网络有一定的权限,鉴于现在VOIP的普及程度,这是非常容易的。VOIP可以允许攻击者设置任何他想要的来电显示或者自己设置用户交换机,就像Asterisk那样。
举例来说,这篇文章讲述了如何一步步设置你自己的Asterisk服务器,然后伪造任何想要的来电显示。VOIP服务商,比如voip.ms允许用户设置打出去电话的来电显示,这个操作在Web端即可完成,甚至不需要一个真正的手机。softphone(模拟手机的软件)也可以这样(还有比如x-lite)。
一个古老而严重的问题–黑掉电子语音邮箱
现在我们知道,只要有了一部电脑和信用卡,任何人都可以对来电显示投毒。那么一个攻击者在基于这种情况下,利用社会工程学和恶作剧电话会达到怎样的效果呢?
电子语音邮箱,如果电子通讯企业存在漏洞,就可以利用它获取用户的电子语音邮箱。现在世界上仍然有很多手电子通讯公司利用来电显示对用户进行认证,不需要其他必须的信息。
我对澳大利亚的电子通信公司做了一个调查,并有了惊人的发现。首先来看下澳大利亚电子通信公司的的“三巨头”:
A1
DREI(Hutchison)
T-Mobile
下面的图展示了澳大利亚2015年第四季度通信公司的市场占比:
2015年第四季度澳大利亚电子通信市场占比
上面的数据引用自https://www.rtr.at/de/inf/KBericht2015/K-Bericht_2015.pdf 。
我对三大公司进行了检测,包括使用了同一网络的其他公司,得到如下结果:
A1-电子语音邮箱没有漏洞
BOb
Yess
DREI(Hutchison)–电子语音邮箱没有漏洞
T-Mobile–电子语音邮箱存在漏洞
Telering
Hot
S-Budget
从上图中可以看出来,T-Mobile在澳大利亚的市场占比是28%。大概有4百万用户(来自T-Mobile)。另外,我还没有测试三大巨头使用同一网络的子公司,这意味着受影响用户的远远不止如此。实际情况意味着,由于T-Mobile默认配置的电子语音邮箱没有密码。澳大利亚T-Mobile用户的电子邮箱都存在这个漏洞。
如何利用它成为一名攻击者?
现在,我们知道攻击者在特定情况下可以获取用户的电子语音邮箱,那么如何利用这个漏洞去黑掉线上服务呢?Shubham Shah在2年半前利用它绕过两步验证,当时的两步验证会自动打电话到用户的手机,告诉用户两步验证的认证代码。所以当用户想要获取代码的时候,用户必须接到自动电话的语音信息。由于电子语音有限的漏洞,可以按照下面的步骤来绕过。
攻击步骤
1. 输入受害者的手机号
2. 要求使用语音验证–同时给受害者打电话,使得语音信息自动保存到用户的电子语音邮箱
3. 一段时间之后,伪造来电显示获取受害者的语音邮箱
4. 读取安全代码,应该存在语音邮箱里
5. 收工
那么关于Netflix情况如何?
文章的开头,我已经告诉你Netflix有点问题。
正如上面讲的,Netflix存在相同的漏洞,但是受影响的不是两步验证,而是找回密码功能。
Netflix的语音电话找回密码
这意味着,如果受害者添加了电话号码到他的Netflix账户,来提高账户的安全性,实际上安全性未升反降。如果攻击者获知受害者的手机号(受害者的电子通信公司存在电子语音邮箱漏洞),攻击者就可以重置受害者的密码。完全不需要受害者的交互,Netflix的语音验证码就可以保存到电子语音邮箱。另外一个场景就是,受害者没有接到电话,Netflix的语音验证码保存到电子语音邮箱。
我通过Responsible Disclosure向Netflix报告了这个问题。我发现他们有一个相应速度超快的安全小组。由于Netflix使用第三方服务自动发送语音电话,所以修复这个问题稍微花费了点时间。如下你可以看到详细报告的时间线。
时间线
2016/09/26 – 报告问题
2016/09/26 – 收到回复(未修复)
2016/09/28 – 由于问题危害较高,第三方服务商增加了额外的防护
2016/10/04 – 收到回复,正在升级修复
2016/11/04 – 已修复
问题总结
虽然Shubham Shah已经对这种漏洞做过总结,但是:
用户应该设置一个电子语音邮箱密码(如果运营商提供了这个功能)
提供安全验证的自动语音电话服务商,应该确保安全代码不会自动保存到电子语音邮箱。
可以添加用户互动功能,再发送语音安全代码到用户的手机。比如用户需要按某个键才可以收到语音手机,Netflix就是这么修复的。
最终感想
我对T-Mobile至今存在漏洞感到惊讶,这已经是很老的问题了,安全领域的人应该对此表示警惕。我认为,很多人并不知道来电显示可以被伪造,另外包括短信或者邮箱。并且每个人都可以很容易做到。
如果你知道某个电子通信服务商存在电子语音邮箱漏洞可以联系我,联系方式在这里。如果你想讨论这个问题或者其他相关的,请联系我。
文章原文链接:https://www.anquanke.com/post/id/84880