FreeBufIoT设备入口:亚马逊Alexa漏洞分析


Amazon Alexa , 通常称为“ Alexa” , 是由Amazon开发的AI虚拟助手 , 能够进行语音交互 , 音乐播放 , 设置警报和其他任务 , 可作为家庭自动化系统智能控制设备 。 预计到2020年底会售出超过2亿个支持Alexa的设备 。
综述如今 , 虚拟助手已成为家用电器和设备控制器的桥梁入口 , 确保它的安全至关变得重要 , 保护用户隐私更是重中之重 。 研究发现 , 某些Amazon / Alexa子域易受跨域资源共享(CORS)配置错误和跨站点脚本攻击 。
这些漏洞使攻击者能够:
1、在用户的Alexa帐户上静默安装应用skill
2、在用户的Alexa帐户中获取所有已安装skill列表
3、静默删除skill
4、获取受害者的语音记录
5、获取受害者的个人信息
受害目标只需单击一下攻击者特制的Amazon链接就会中招 。
技术细节使用Alexa移动应用skill进行测试 , 发现其通过SSL进行通信 , 通过使用Frida SSL绕过SSL Pinning分析流量 , 以明文形式查看流量 。
查看流量时发现skill配置了错误的CORS策略 , 允许从任何其他Amazon子域发送Ajax请求 , 这可能允许攻击者在一个Amazon子域上代码注入 , 从而对另一个Amazon子域进行跨域攻击 。
Request:
FreeBufIoT设备入口:亚马逊Alexa漏洞分析
本文插图
Response:
FreeBufIoT设备入口:亚马逊Alexa漏洞分析
本文插图
这些请求将返回Alexa上所有已安装的skill列表 , 并且还会在响应中发回CSRF令牌 , 如下所示:
FreeBufIoT设备入口:亚马逊Alexa漏洞分析
本文插图
可以使用此CSRF令牌在目标上执行操作 , 例如远程安装和启用新skill 。
为使攻击成功 , 需要利用Amazon子域中的XSS漏洞 , 可以利用CSRF攻击和CORS错误配置 , 假冒受害者使用其Alexa帐户执行操作 。
在以下对track.amazon.com的请求中 , 有两个参数:paginationToken和pageSize 。
FreeBufIoT设备入口:亚马逊Alexa漏洞分析
本文插图
将pageSize更改为非数字字符 , 可在服务器端造成错误 , 并反馈到客户端 , 收到状态码500和一个JSON响应 。 响应的内容类型是text/html , 从而能够操纵参数来实现代码执行 , 如下所示:
FreeBufIoT设备入口:亚马逊Alexa漏洞分析
本文插图
现在可以使用此代码注入以受害人的凭据触发对Ajax的请求 , 发送至skillstore.amazon.com 。
FreeBufIoT设备入口:亚马逊Alexa漏洞分析
本文插图
上面的请求将所有cookie发送到skill-store.amazon.com , 从响应中窃取了csrfToken , 使用此csrfToken进行CSRF攻击 , 并在受害者的Alexa帐户静默安装 。
以下是用于安装ID为B07KKJYFS9的skill的完整POC代码:
FreeBufIoT设备入口:亚马逊Alexa漏洞分析
本文插图
该skil可从Alexa Skill商店获得:
FreeBufIoT设备入口:亚马逊Alexa漏洞分析
本文插图
受害者点击恶意链接 , 该skill即会添加到其Alexa帐户中:
FreeBufIoT设备入口:亚马逊Alexa漏洞分析
本文插图
攻击流程攻击可以通过几种不同的方式进行:
1、用户点击恶意链接 , 将其定向到攻击者具有代码注入的amazon.com 。 2、攻击者将带有用户Cookie的新Ajax请求发送到amazon.com/app/secure/your-skills-page , 并在响应中获取Alexa帐户上所有已安装skill列表以及CSRF令牌 。 3、攻击者使用CSRF令牌从上一步中收到的列表中删除一项常用skill 。 4、攻击者安装与删除skill具有相同调用短语的skill 。 5、用户尝试使用调用短语 , 触发攻击者skill 。


推荐阅读