Strandhogg漏洞:Android系统上的维京海盗
- 2019-12-05 10:44:05

大家好,我是零日情报局。
当银行卡余额神秘消失,懵不。
这次跟大家说说新型Android应用漏洞,不仅能让银行卡余额消失,还会偷拍监听的那种。
昨天下午,挪威一家安全公司披露了一个Android应用漏洞,并用描述维京海盗突袭战术的单词StrandHogg对其命名。值得庆幸的是,谷歌已采取措施解决该漏洞,并暂停了受影响的应用程序。
至于银行卡余额神秘消失事件,就发生在捷克共和国的多家银行。不法攻击者利用StrandHogg漏洞,使用BankBot银行木马等恶意软件,悄无声息地盗走多家银行用户的卡内余额,引发东欧金融机构安全服务商的多方求助。
StrandHogg:维京海盗式Android应用漏洞
StrandHogg是一个存在于Android多任务系统中的应用漏洞。该漏洞利用则是基于一个名为“taskAffinity”的Android控件设置,允许包括恶意应用在内的任意程序,随意采用多任务处理系统中的任何身份。
从零日核实的情况来看,StrandHogg漏洞确实存在于Android的多任务系统中,一旦已安装恶意程序利用,就能让恶意程序顺利伪装合法应用,获得更高的权限,窃取信息或进行任意恶意操作。

简单来说,就是中招后,当我们点开一个正常应用程序的图标时,利用Strandhogg漏洞的恶意应用可以拦截劫持这个任务,并向用户显示一个虚假的应用界面。
这时,不明真相的你,会毫无防范的在一个虚假的界面,安心地输入账号、密码,以及进行任意操作。殊不知,那些涉及你隐私的敏感信息,输入后都会第一时间发送给攻击者,攻击者利用这些敏感信息,能做的是事情就多了。
也许登录银行账户,窃取钱财反倒是伤害相对较小的攻击。
利用StrandHogg能做哪些事?
访问摄像头和麦克风,获取设备的位置,读取SMS,捕获登录凭据(包括通过SMS的2FA代码),访问私人照片和视频,访问联系人……这些看似基本但关系手机安全闭环的功能,只要成功利用Strandhogg漏洞,恶意应用都可以请求上述权限。

简言之,Strandhogg漏洞让我们的手机不再对恶意应用设防,且这种不设防,我们无从得知何时开启。零日验证该漏洞时,就成功将恶意程序伪装成一合法应用,获得了测试目标的定位,当然,仅用于测试,大家不要随意尝试。

略让人恐慌的是,包括最新Android10在内的所有Android版本,都存Strandhogg漏洞。随后,零日逐一验证后发现,GooglePlay商店内可用的前500个Android应用程序,确如挪威安全公司说的那样,都可通过StrandHogg攻击劫持所有应用程序的进程以执行恶意操作。
维京海盗StrandHogg的独特之处
1、无需root上演复杂攻击:StrandHogg漏洞之所以独特,主要是因为它最大限度地利用了Android多任务系统弱点,无需root既可允许恶意程序伪装成设备上的任意程序,帮助黑客实施复杂且高危的攻击。
2、无法检测Stranghodd漏洞利用:有攻就有防,但很不幸的是,截至目前,针对Stranghodd漏洞利用的阻止方式,甚至是相对可靠的检测方法,都还没有出现。普通用户只能通过一些不鲜明的异常发现问题,比如已登录的应用要求登录、单击用户界面按钮链接时不起作用,或者后退按钮无法正常工作。
3、扩大UI欺骗风险:UI欺骗,很多人听说过。甚至早在2015年,宾夕法尼亚州立大学就曾以白皮书的形式,详细介绍了可用于UI欺骗的理论攻击。而StrandHogg漏洞的出现,多个程序同时遭劫持等情况,若不加以有效控制,一旦大范围扩散,都将进一步扩大UI欺骗风险。
并不是所有被发现的漏洞,都会被利用,但攻击者绝不会放过那些有价值的漏洞。
挪威安全公司就明确指出,目前已发现36个野外利用StrandHogg漏洞的应用程序,虽然这些应用都不能直接通过googlePlay商店下载安装,但并不能保证用户下载的应用程序是否曾经感染过,因为这36个应用程序作为第二阶段的有效负载,已经安装在了一些用户的设备上。
StrandHogg漏洞利用样本再现
不同于提权等相对熟悉的漏洞,Strandhogg漏洞的威胁层级其实并不能清晰的界定,因为它的存在更像给恶意程序开了一道门,至于被利用后带来的是小威胁,还是大震荡,关键要看恶意程序本身是威胁层级。
挪威安全公司披露StrandHogg漏洞信息时,就以第一次监测到利用StrandHogg漏洞的恶意软件为样本,复现了恶意软件利用StrandHogg漏洞的主要策略。
1、恶意程序利用GooglePlay分发
通常情况下,正常程序多数都会入驻Google Play,而利用StrandHogg漏洞的恶意程序,则通过多个恶意下载器安装,但会选择在Google Play上进行分发扩散。

从代码部分可以看到,当恶意应用在一个或多个活动上设置taskAffinity,以匹配任何第三方应用的packageName时,漏洞利用就会发挥作用。然后,通过与清单中的allowTaskReparenting=“true”组合,或通过使用Intent.FLAG_ACTIVITY_NEW_TASK的intent标志启动活动,将恶意活动置于目标任务的内部和顶部。
这时,恶意应用就成功劫持了目标,而当用户再一次点开目标应用时,恶意程序就会伪装成正常程序,显示使用界面迷惑用户。
2、伪装多个正常程序
同时开N个应用,是现代人的日常,而在StrandHogg漏洞利用威胁下,Android的多任务处理系统也给恶意程序打开方便之门。在同一时间推出两个(或更多)活动android.app.Activity#startActivities(android.content.Intent []),恶意程序就可以利用StrandHogg漏洞。在后台同时伪装成两款正常应用作恶。

同样,被攻击用户除了可能看到设备轻微闪烁外,根本无从发现恶意程序的攻击行为。只有我们查看时,输入adb shell dumpsys activity activities,才可以看到攻击活动已经存在,且一直潜伏到下次启动该应用程序为止。

3、AllowTask Reparenting(任务重编)
当伪装的正常程序再次启动后,利用StrandHogg漏洞的恶意程序曝出了一个名为allowTaskReparenting的新属性。它会让Android操作系统重新评估所有任务和活动,并在启动相关任务前,先查找标记有此属性的活动并将其移动。
这样,恶意程序就会根据新一次启动程序的情况,及时更新屏幕上显示的内容。

从样本来看,StrandHogg漏洞确实给恶意程序广开大门。
零日反思
Android漏洞是个老生常谈的话题,但并不能因此就忽视它的威胁。
在Android操作系统这片开源的大海上,其实不仅有StrandHogg漏洞这样的维京海盗式战术,还有各种各样已知未知的漏洞威胁,虽然经过十多年的发展,在各路技术人员的努力下,让Android操作系统漏洞威胁趋于稳定,但我们并不能掉以轻心,因为不法分子的攻击,时刻在发生。
零日情报局作品
微信公众号:lingriqingbaoju
如需转载,请后台留言
欢迎分享朋友圈
参考资料:
Promon《StrandHogg漏洞》

360安全卫士
360杀毒
360文档卫士
360安全浏览器
360极速浏览器
360安全云盘
360随身WiFi
360搜索
系统急救箱
重装大师
勒索病毒救助
急救盘
高危漏洞免疫
360压缩
驱动大师
鲁大师
360换机助手
360清理大师Win10
360游戏大厅
360软件管家
360手机卫士
360防骚扰大师
360加固保
360贷款神器
360手机浏览器
360安全云盘
360免费WiFi
安全客
手机助手
安全换机
360帮帮
清理大师
省电王
360商城
360天气
360锁屏
手机专家
快剪辑
360影视
360娱乐
快资讯
你财富
360借条
360互助
信贷管家
360摄像机云台AI版
360摄像机小水滴AI版
360摄像机云台变焦版
360可视门铃
360摄像机云台1080p
家庭防火墙V5S增强版
家庭防火墙5Pro
家庭防火墙5SV2
家庭防火墙路由器5C
360儿童手表S1
360儿童手表8X
360儿童手表P1
360儿童手表SE5
360智能健康手表
行车记录仪M310
行车记录仪K600
行车记录仪G380
360行车记录仪G600
儿童安全座椅
360扫地机器人X90
360扫地机器人T90
360扫地机器人S7
360扫地机器人S6
360扫地机器人S5
360安全卫士
360杀毒
360文档卫士
360安全浏览器
360极速浏览器
360随身WiFi
360搜索
系统急救箱
重装大师
急救盘
勒索病毒救助
360压缩
驱动大师
鲁大师
360游戏大厅
360软件管家
360手机卫士
360防骚扰大师
手机急救箱
360加固保
360贷款神器
360免费WiFi
安全客
手机助手
一键root
安全换机
360帮帮
信用卫士
清理大师
省电王
360商城
流量卫士
360天气
360锁屏
手机专家
快剪辑
360影视
360娱乐
快资讯
你财富
360借条
360手机N7
360手机N6
Pro
360手机vizza
360手机N5S
360儿童手表6C
360儿童手表6W
360儿童手表SE2代
360手表SE2Plus
360老人手表
360摄像机大众版
360安全路由器P3
360安全路由器P2
360儿童机器人
外设产品
影音娱乐
平板电脑
二手手机
二代 美猴王版
二代
美猴王领航版
标准升级版
后视镜版
车载电器
京公网安备 11000002000006号