今年4月,研究员 Nick Cano 发现,除了v4.90.0.1046之前的BlueStacks版本受到DNS重新绑定漏洞的影响,该漏洞允许攻击者获得对仿真器IPC功能的访问权限。攻击者可以使用这些功能执行各种不同的攻击,从远程代码执行到信息泄露。
在BlueStacks发布的安全公告中写道。“攻击者可以使用DNS重新绑定通过恶意网页访问BlueStacks App Player IPC机制,从那里,各种暴露的IPC功能都可能被滥用。”
关于BlueStacks(蓝叠)安卓模拟器v4.90前的版本实际上是一个DNS 重新绑定漏洞,漏洞出现在 BlueStacks
v4.90.0.1046 之前的版本中,攻击者可使用 DNS 重新绑定、通过恶意网页访问模拟器的 IPC 机制,执行远程代码、泄露用户信息、窃取 VM 及其数据备份,漏洞成因是其开启了了127.0.0.1上的IPC接口而没有任何的身份验证。
安全研究人员Nick Cano 在4月份发现并报告了此漏洞,并在2019年5月27日发布的BlueStacks 4.90.0.1046中进行了修复,同时提供了建议。根据Cano的说法,BlueStacks并没有将此修复程序向后移植到版本2或3,因此强烈建议用户尽快升级到最新版本4。
虽说这个漏洞目前已经得到了修补,但这个攻击原理还是有必要了解一下。
这个攻击原理利用的是 Web 应用程序的“同源策略”(SOP)。简单说,该策略就是在访问一个站点时,保证这个站点只能向自己的来源发送请求,为的是防止用户跟其他试图的域名或主机名取得通信、以防 Cookies 被偷走。因为这个 SOP 关注的是域名而非 IP 地址,如果有种方法能让浏览器误以为有脚本还在与来源进行通信,而这个脚本其实是攻击者的恶意地址,那么 DNS 重新绑定攻击就水到渠成了。
通过这种类型的攻击,用户可被网络钓鱼,社交工程,XSS等被诱骗到恶意网站,例如hacker.com。此网站的域托管在受攻击者控制的DNS服务器上,并且具有非常低的TTL 0或1秒
现在攻击者在hacker.com 的网页上运行以下这段JavaScript
[url]http://hacker.com/ipc/delete_folder?f=data[/url]
现在该脚本将会变成命令并且有效使用,并在本地主机上执行
http://127.0.0.1/ipc/delete_folder?f=data的URL
如果在蓝叠模拟器的80端口上运行了一个服务,而服务请求了以上的URL,并且该命令实际映射到通过f =变量删除文件夹引用的IPC函数,则本地的该文件夹将被删除。
现在这是一个完全虚构的例子,但它确实说明了远程攻击者如何使用DNS重新绑定来访问计算机甚至内部网络上本地运行的服务器。
BlueStacks的DNS重新绑定攻击的漏洞,因其暴露了127.0.0.1上的IPC接口而没有任何身份验证。这允许安全专家Cano使用DNS Rebdinding对BlueStacks仿真器的IPC服务器执行远程命令。
这包括使用备份IPC命令创建BlueStacks VM的备份及其中包含的所有数据。此数据可能包括用户名和密码,图片以及VM中存储的任何其他内容。
研究人员还告诉BleepingComputer,恶意用户可以使用IPC命令执行RCE攻击,以安装APK,甚至是恶意的,或者通过将恶意快照恢复到BlueStacks虚拟机。然后可以使用此快照在BlueStacks中执行命令。
最后,Cano说攻击者可以使用IPC命令复制和替换剪贴板中的任何数据,拍摄模拟器的屏幕截图,如果模拟器处于后台运行,则甚至可能拍摄的主机桌面的应用程序截图。
由于此漏洞的严重性,如果各位看官使用的是BlueStacks模拟器,还是尽快升级到最新版本为好。
参考链接:
[url]https://www.bleepingcomputer.com/news/security/bluestacks-flaw-lets-attackers-remotely-control-android-emulator/[/url]
[url]https://mp.weixin.qq.com/s?__biz=MzIxMzQ3MzkwMQ==&mid=2247495631&idx=3&sn=3341ab922b0347f1640ab4ed919310b8&chksm=97b4e0cda0c369dbf0646f3467cb376845090f917287db4d8a364c4f09e615a89da273d7cbca&scene=0&xtrack=1[/url]