披露针对安卓手机的高级SMS网络钓鱼攻击,可被远程安装恶意设置项

640?wx_fmt=png

本文会过多涉及OMACP,有的小伙伴可能会感到陌生,实际上其就是手机里的OMACP应用,英文为 OMA(Open Mobile Alliance) Client Provisioning 协议实例,或者叫做开放移动联盟客户端配置。

640?wx_fmt=png

此外,还涉及几个概念

OMA :Open Mobile Alliance

CP : Client Provisioning

OTA:Over the Air ,空中下载技术,是通过移动通信的空中接口实现对移动终端设备及SIM卡数据进行远程管理的技术。可实现SIM卡远程管理,新业务下载功能等,一般的下载方式分为下面几种。

而OMACP起源于三星,后来发展成一个独立的系统通用接口模块,主要给运营商提供通过短信,OTA等形式发送涉及到更新APN,SPN等手机网络相关的配置修改请求,从而达到一种热修复更新的效果。

简单普及完毕,黑鸟对此领域研究不深,如有错误见谅,下面进入正题

近日,国外网络安全厂商CheckPoint 发现三星,华为,LG,索尼和其他基于Android系统的手机存在安全问题,导致用户容易受到高级网络钓鱼攻击。

而主要受影响的Android手机是由于其使用无线(OTA)配置,允许移动网络运营商将网络特定设置部署到加入其网络的新手机。

但是,研究人员发现,OTA配置的行业标准OMACP,因为其采用了弱认证配置消息,即收件人无法验证“建议的设置”是来自他的网络运营商还是来自冒名顶替者。因此可以使攻击者扮演网络运营商的角色,并向用户发送欺骗性的OMA CP消息。

该消息诱使用户接受恶意设置,例如,通过攻击者拥有的代理服务器传输其互联网流量。

简单来说,就是将你的手机作为攻击流量跳板,从而达到躲避追踪的效果。

而关键在于,只要搞懂协议,任何人都可以发送OTA配置消息。

而由于某些三星手机没有对 OMA CP 消息发件人进行真实性检查,因此最容易受到这种形式的网络钓鱼攻击。只需用户接受 CP消息,即可安装/更改恶意设置项,无需发件人证明其身份。

根据2018年的市场份额数据,研究人员发现由三星,华为,LG和索尼制造的手机(所有Android手机的50%以上的手机)允许用户通过这种经过弱验证的配置消息,从而接收恶意设置,而部分三星手机更容易被攻击。

攻击流程

要发送OMA CP消息,攻击者需要GSM调制解调器(10美元USB加密狗或以调制解调器模式运行的手机),用于发送二进制编写的SMS消息。然后通过简单的脚本或现成的软件编写OMA CP。

网络钓鱼CP消息可以是针对性目标,例如定制用于欺骗特定接收者的自定义文本消息,也可以批量发送。

OMA CP允许通过OTA更改以下设置:

  • MMS消息服务器

  • 代理地址

  • 浏览器主页和书签

  • 邮件服务器

  • 用于同步联系人和日历的目录服务器

and more more。

因此确实通过修改邮件列表还有浏览器等设置去做更多的事情。

以下方案假设攻击者试图诱骗受害者,通过攻击者控制的代理路由所有流量。

未经身份认证的攻击(三星)

为了使用三星手机定位受害者,攻击者可以向他们发送未经身份验证的OMA CP消息,指定他控制的代理。

而且,攻击者无需进行身份校验,仅需用户允许CP消息接收。

对于APN设置,配置包括一个可选字段,用于配置可以通过它路由Web流量的HTTP代理,但许多运营商使用甚至不需要设置此字段的透明代理。

640?wx_fmt=png

三星用户看到的未经身份验证的CP消息

使用IMSI进行身份验证

华为、LG 和索尼手机确实设有一种身份验证方式,但攻击者只需收件人的国际移动用户识别码   ( IMSI )   便可 " 确认 " 其身份。

攻击者能够通过各种方式获取受害者的 IMSI,包括创建一个恶意 Android 应用投放到受害者,以在其安装后读取手机 IMSI

此外,攻击者还可以伪装成网络运营商向用户发送短信,并要求他们接受 PIN 保护的 OMA CP 消息,从而绕过对 IMSI 的需求。

如果用户随后输入提供的 PIN 码并接受 OMA CP 消息,则无需 IMSI 即可安装 CP。

如果攻击者能够使用华为,LG或索尼手机获得潜在受害者的国际移动用户身份(IMSI)数量,他可以发起与三星手机用户一样有效的网络钓鱼攻击。

IMSI是移动网络上每个设备的64位标识符,自GSM和3G以来一直在使用。此号码用于路由,大致相当于计算机网络中的IP地址。一个人的IMSI是伪机密的,但是:

640?wx_fmt=png

OMA CP消息具有可选的安全标头,可以验证CP的真实性。

当CP使用收件人的IMSI号码进行身份验证时,华为,LG和索尼手机会允许安装恶意设置。

请注意,这些手机在建议用户安装时不会显示有关CP的任何详细信息,特别是CP的发送者没有以任何方式被识别。

640?wx_fmt=png

Sony用户看到的NETWPIN认证的CP消息

使用PIN验证

对于无法获得IMSI的潜在受害者,攻击者可以向每个受害者发送两条消息。

第一个是文本消息,声称来自受害者的网络运营商,要求他接受受PIN保护的OMA CP,并将PIN指定为任意四位数字。

接下来,攻击者向他发送使用相同PIN验证的OMA CP消息。

只要受害者接受CP并输入正确的PIN,就可以安装此类CP,而不用输入IMSI。

640?wx_fmt=png

华为用户看到的经过USERPIN认证的CP消息

技术背景

OTA配置的主要原始用例是部署特定于运营商的设置,例如运营商的MMS服务中心的地址。企业也使用此工具将电子邮件服务器地址等设置部署到员工的设备。

OMA CP是OMA为空中配置设置而维护的两个标准之一,可追溯到2001年,具有2009年的最新规范。

而Android的基本版本不能处理OMA CP消息,但许多供应商实现都是如此,因为OMA CP是OTA配置的行业标准。其规范允许(但不要求!)CP消息使用USERPIN,NETWPIN或其他使用较少的方法进行身份验证。

任何SMS,无论是文本消息,MMS,语音邮件通知还是其他任何SMS,都作为由短消息传输协议(SM-TP)即GSM 03.40指定的协议数据单元(PDU)发送。包含OMA CP有效载荷的GSM PDU包括:

640?wx_fmt=png

作为演示,我们对Samsung手机的初始(未经身份验证的)概念验证包含以下XML文档作为有效负载,其中字符串指定了突出显示的代理地址和端口号:

640?wx_fmt=png

OMA CP的XML Payload

携带此Payload的完整OMA CP分为两条物理SMS消息,如下图所示,为两个八位字节串:

640?wx_fmt=png

OMA CP消息的物理表示

在WBXML字符串中,代理地址和端口号(使用与XML源中相同的颜色突出显示)包含为以null结尾的ASCII字符串,而在XML模式中定义的字符串,如元素名称和类型的值和名称属性,在WBXML中表示为固定的单字节值。

WBXML Payload遵循WSP标头,其包括使用接收方的IMSI计算的消息认证代码,作为ASCII十六进制字符串。

因此,奥秘就在于构造,原理摆在这了,剩下的就是找写OMACP的发送脚本了。

结论

Checkpoint描述了针对现代Android手机的高级网络钓鱼攻击流程。这种攻击流程使任何拥有廉价USB调制解调器的人都可以诱骗用户在手机上安装恶意设置

为了攻击一些易受攻击的手机,攻击者需要知道受害者的IMSI号码,这些号码可以通过具有READ_PHONE_STATE权限的Android应用程序获得。

安全研究员在华为P10,LG G6,索尼Xperia XZ Premium和一系列三星Galaxy手机(包括S9)上验证了POC。

鉴于 Android 设备日益普及,这是一个必须解决的严重漏洞问题。如果没有更强大的身份验证方式,恶意代理将很容易通过无线配置发起网络钓鱼攻击。当收到 OMA CP 消息时,用户无法分辨其是否来自可信来源。在点击‘接受’,或者输入PIN或IMSI号码后,他们的手机将很可能遭到攻击者的入侵。

夸张来说:只需一条短信可以让远程攻击者访问你的所有电子邮件

2019年3月,研究人员向受影响的厂商披露了研究结果。

三星在其 5 月安全维护版本   ( SVE-2019-14073 )   中提供了针对此网络钓鱼攻击的修复程序,LG于7月发布了他们的修复程序   ( LVE-SMP-190006 ) ,华为计划将针对 OMA CP 的 UI 修复程序纳入新一代 Mate 系列或 P 系列智能手机中。

OMA正在将此问题作为OPEN-7587进行跟踪。

然而,索尼拒绝承认该漏洞的存在,称其设备遵循 OMA CP 规范。

业界“清流”,研究研究该技术,索尼将会是攻击突破口。

原文链接:

https://research.checkpoint.com/advanced-sms-phishing-attacks-against-modern-android-based-smartphones/

近期必读

从奥运五环那幅图,我就知道某司的风范了,话说此前还有一次题目的Copy,再收集收集就可以写一篇了。

更多情报,扫码下面

640?wx_fmt=png

不是不报,时候未到
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值