亚马逊Alexa被爆多个漏洞

 

Checkpoint研究人员分析发现部分Amazon/Alexa 子域名存在CORS(跨域资源共享)误配置和跨站脚本漏洞。攻击者利用XSS可以获取CSRF token,并以受害者名义执行动作。

攻击者利用这些漏洞可以:

· 在用户的Alexa 账号中安装app;

· 获取用户Alexa账号中安装的app列表;

· 移除已安装的app;

· 获取受害者在Alexa中的声音历史数据;

· 获取受害者的个人信息。

从实际效果来看,攻击者利用这些漏洞利用可以在目标受害者Alexa 账号上安装和移除应用、访问声音历史记录、通过应用交互来获取个人信息(用户调用安装的应用时与引用的交互)。

成功的漏洞利用只需要点击攻击者伪造的Amazon 奇热链接就可以。

PoC参见https://www.youtube.com/embed/xfqGYic4hj8

研究人员在2020年6月将漏洞报告给了亚马逊,随后亚马逊修复了相关漏洞。

技术细节

研究人员首先测试了Alexa 手机应用发现了预防流量拦截的SLL pinning机制。研究人员使用Frida SSL工具(https://codeshare.frida.re/@pcipolloni/universal-android-ssl-pinning-bypass-with-frida/)绕过SSL pinning并分析流量,可以明文查看。

研究人员分析应用流量发现了app的多个请求都错误配置了CORS策略,允许从任意的Amazon 子域名发送Ajax 请求。这样能够在Amazon 子域名进行代码注入的攻击者就可以在其他Amazon 子域名上执行跨域攻击。

请求:

亚马逊Alexa被爆多个漏洞

响应:

亚马逊Alexa被爆多个漏洞

其中返回Alexa 上安装的应用列表的请求还会在响应中发送CSRF token,如下所示:

亚马逊Alexa被爆多个漏洞

研究人员用CSRF token来以受害者名义执行操作,比如远程安装和启用新的功能(应用)。

为成功发现攻击,还需要利用Amazon 子域名上的XSS 漏洞来使用受害者的id cookie。因此,研究人员可以利用CSRF攻击和CORS 错误配置来以受害者名义执行操作。通过XSS漏洞,奇热攻击者可以获取CSRF token并以受害者名义执行动作。

在下面的到track.amazon.com的请求中,有2个参数:paginationToken 和pageSize。

亚马逊Alexa被爆多个漏洞

将pageSize 修改为非数字的字符会引发服务器端的错误,这将会反射到客户端。研究人员获得了状态码500 和JSON 作为响应。响应中的content-type 是text/html 而不是application/json,因此可以操作参数来实现代码执行:

亚马逊Alexa被爆多个漏洞

然后就可以用代码注入来触发到skillsstore.amazon.com 的Ajax请求并包含受害者的凭证。

亚马逊Alexa被爆多个漏洞

上面的请求会发送所有的cookie到skills-store.amazon.com,并从响应中窃取csrfToken。然后研究人员使用csrfToken来执行CSRF攻击,并悄悄地在受害者的Alexa 账号上安装应用。

安装id为B07KKJYFS9的应用的PoC代码如下

亚马逊Alexa被爆多个漏洞

Id可以从Alexa Skill Store(应用商店)获取:

亚马逊Alexa被爆多个漏洞

受害者点击恶意链接后,skill(应用)就会添加到Alexa账号中

亚马逊Alexa被爆多个漏洞

在PoC中,Amazon Prime Insider就加入到了受害者的Alexa账号中。

攻击流

攻击的执行有许多不同的方式。下面介绍一种攻击者在用户的Alexa 上执行动作的例子。

· 用户点击将将用户导向攻击者注入了恶意代码的amazon.com 子域名后。

· 攻击者会发送一个含有用户cookie的新的Ajax请求到amazon.com/app/secure/your-skills-page,并获取Alexa账户上安装的应用列表,以及响应中的CSRF token。

· 攻击者可以用CSRF token来移除安装应用列表中的应用。

· 攻击者还可以安装应用。

· 一旦用户尝试调用安装的应用,就会触发攻击者的能力。

攻击者能力

获取应用安装列表

攻击者利用下面的请求可以查看受害者账户中的完整应用列表。这些信息可以用于之后替换受害者的应用。

亚马逊Alexa被爆多个漏洞

移除安装的应用

攻击者利用下面的请求可以从受害者账户中移除受害者账户中的应用。删除的应用是之前API请求中接收到的应用列表的一部分。

亚马逊Alexa被爆多个漏洞

获取受害者声音历史数据

攻击者利用下面的请求可以获取受害者声音历史数据。攻击者可以查看声音命令历史和Alexa对这些命令的响应。这会导致个人信息的暴露,比如银行历史数据。

亚马逊Alexa被爆多个漏洞

Amazon并不会记录银行登陆凭证,但是交互的过程会被记录下来,因为可以访问聊天历史,因此可以访问受害者与银行应用的交互,并获取其数据历史。研究人员发现根据用户Alexa账户上安装的应用可以获取用户名和手机号。

受害者个人信息

下面的请求可以用来获取用户的个人信息,比如家庭地址和其他简介中的个人信息。

亚马逊Alexa被爆多个漏洞

结论

像Alexa这样的智能语音助手在我们生活中使用的越来越普遍。随着相关技术的不断发展,这一趋势会不断增强。因此,语音助手也会成为攻击者的新目标,语音助手安全和隐私保护将是未来的一大趋势。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值