可能大家都知道,很多移动端银行木马都会竭尽所能地去伪装自己。绝大多数智能手机用户都会使用各种各样的App来丰富自己的生活,而移动应用开发人员也会根据用户的需求以及各种场景来开发不同的App。然而,某些App的功能也许比你所想象的还要复杂。
恶意App检测近期,我们在Google Play应用商店中发现了一款名叫“Cryptocurrencies Market Prices”的App。从表面上来看,这款App功能跟应用描述的是一样的,即给参与货币市场交易的用户提供实时信息。但是,安装了这款App的用户可能还没意识到,它其实是一款专门窃取银行账号的恶意软件。实际上,Cryptocurrencies Market Prices属于移动端木马Bankbot家族,它使用了Overlay技术来从各种金融以及零售App中窃取敏感数据。
通过使用社工技术以及其他各种感染方法,App会给自己提供目标Android设备的访问权限。安装成功之后,Bankbot会监视设备的App列表,并尝试从中窃取信息。如果目标App在受感染的手机中启动,Bankbot App会在合法App窗口的顶层(覆盖原App界面)显示一个窗口,并通过钓鱼技术来窃取目标用户的登录凭证(一般都是银行登录界面)。除此之外,这款App还可以拦截包含交易认证码或双因素验证码的短信,而攻击者将能够在非法交易中使用这些窃取来的信息。
下面给出的Bankbot样本就是使用社工技术来实现传播的。用户手动下载并安装了这款App之后,他们就可以查看到加密货币的市场价格,并监控加密货币交易情况。这款App的界面看似毫无问题:
而Bankbot正在使用这种看似合法的应用程序来掩盖自己的真实意图,因为当这款App能够正常工作时,用户根本就不会对这款App产生任何的怀疑。
Bankbot的Permission和Intent这个恶意App样本在目标设备中首次安装之后,会请求如下所示的权限(考虑到这款App本身的用途,我们用红色字体标记了可疑权限):
除了权限之外,这款App还设置了intent过滤器。这些过滤器规定了App会请求或响应哪些功能。我们主要关注的是com.sws以及com.google.firebase groups:
根据上面给出的权限列表,这款App能够拦截并编写SMS短信。另一个有趣的发现就是其中涉及到了一个名叫Firebase的修改版开发平台,而它将允许应用程序监控类似存储、认证和分析之类的活动。
分析APK这款App本身是一款捆绑应用,它拥有合法应用的功能(查看加密货币价格),但它是一款Bankbot恶意软件。在下面给出的样本中,攻击者并没有使用任何的伪装技术以及混淆技术,其中的可疑代码都是可以直接阅读的。因此,我们就可以寻找调用SMS信息接收功能的代码,并找到初始的C2痕迹。下面给出的是明文形式的可疑代码:
下图显示的是关于SMS功能的调用代码:
通过分析相关函数的调用代码,我们发现了合法Firebase代码库的修改痕迹:
我们所分析的这个样本会寻找各种波兰银行的App,下面给出的是恶意代码中标记的官方银行App包名:
通过分析代码后我们发现,C2服务器托管在91[.]226[.]11[.]200,它负责呈现针对波兰银行App的钓鱼页面(Overlay页面),记录受感染设备发送的信息,并给攻击者提供管理员控制面板。下面给出的是我们使用RiskIQ社区版查询到的C2服务器的WHOIS信息,结果显示的是一个俄罗斯的地址:
总结目前Cryptocurrencies Market Prices已经从Google Play应用商店下架了,但是它的出现也提醒我们当前的移动端恶意软件正在朝着越来越复杂的方向发展。用户在下载一款应用之前,一定要对App进行仔细的检查与评估,哪怕你是从官方应用商店下载的也是一样。从下图中你可以看到,Google Play应用商店还给这款APK添加了“已进行安全验证”的标签:
入侵威胁指标IoCMD5:ce8c3d0a4c71eff3e83879e3002e01ea
SHA1:fc34bbb131e464efd630836cfe6c07aa51aa5c44
SHA256:75759cc9af54e71ac79fbdc091e30b4a6e5d5862d2b1c0decfb83c9a3d99b01b
IP:91.226.11.200
* 参考来源:riskiq,FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM