Haken和Joker恶意软件分析 - 嘶吼 RoarTalk – 网络安全行业综合服务平台,4hou.com

Haken和Joker恶意软件分析

ang010ela 恶意软件 2020-02-25 11:00:00
593685
收藏

导语:Check Point研究人员近期发现一个点击恶意软件家族,并在Google Play应用商店中发现了Joker恶意软件家族的新样本。

Check Point研究人员近期发现一个点击恶意软件家族,并在Google Play应用商店中发现了Joker恶意软件家族的新样本。

本文对该恶意软件活动进行简单介绍,并对这两款恶意软件家族进行技术分析。

‘Haken’ & ‘BearClod’ 点击恶意软件

概述

Clickers又称点击恶意软件是模拟用户进行广告点击的恶意软件,是移动手机行业的一个新威胁。近期,UpsteamSystems发布了一个名为‘ai.type’或 ‘BearClod’的点击恶意软件。研究人员发现该点击恶意软件攻击活动的活动和规模都有所增长,而且在Google Play中发现了47个新的恶意应用,下载次数超过7800万次。

在监控‘BearClod’恶意软件家族活动时,研究人员发现了另一个点击恶意软件家族——‘Haken’。 ‘Haken’攻击活动最早发现于Google Play中。发现的这8个恶意应用下载次数超过5万次,点击恶意软件的目标是尽可能多地获取设备来进行获利。

图 1 –Google Play中的Haken点击恶意软件

图 2 – Google Play中的Haken点击恶意软件详情

图 3 – Google Play中对Haken的评论

功能

‘BearCloud’和‘Haken’点击恶意软件家族使用不同的方法来实现点击功能。‘BearClod’使用的是创建web-view和加载执行点击的恶意JS代码,Haken点击恶意软件使用的是本地代码和到Facebook和AdMob库的注入,在与远程服务器通信时获取配置信息。

Haken clicker的第一个入口点是名为BaseReceiver的接收器。接收器会请求后门app不需要的权限,比如让后门应用在设备启动时运行代码的BOOT_COMPLETED。

图 4 – Haken点击恶意软件权限

BaseReceiver会加载一个名为kagu-lib的原生库,并从方法startTicks来调用。该类注册了2个worker和1个计时器。其中一个worker与C2服务器进行通信来下载新的配置文件并处理,另一个worker由计时器触发,检查需求并注入代码到Google的AdMob和Facebook这些知名的AD-SDK广告相关的活动类中。

图 5 – startTicks函数

图 6 – 与C2服务器进行通信来获取配置

图 7 – 处理配置信息

图 8 – 注入Facebook和Google

点击功能是实现在注入到Ad-SDK的onCreate函数中的代码中,实际上是一个yzt.sta方法。

图 9 – 调用注入的代码

在使用MotionEvent模拟用户点击时,这些函数是通过反射调用的。

图 10 – 通过MotionEvent的obtain的反射点击从Ad-SDK接收的广告

在将该问题报告给谷歌后,所有受影响的应用都已经从Google Play中移除了。

Joker

概述

Joker恶意软件最早发现于2019年9约,是Google play中发现的一款监控恶意软件和保险服务拨号器。

在过去几个月,Joker重新出现在Google play应用商店。Tatyana Shishkova (@sh1shk0va)近期发推文称在Google play中发现了Joker恶意软件的样本。研究人员近期在Google play中发现了4个新的恶意软件样本,下载次数超过13万次。

图 1 – Joker样本

技术分析:

· 字符串加密

Joker通过修改使用的字符串来隐藏其功能,本例中, Joker使用了静态密钥和简单的XOR加密。

图 2 – XOR后的字符串和解密函数

· 初始化

在MainActivity的OnCreate中,恶意应用会触发恶意进程,然后注册用来启用NotificationListenerService服务的接收器。当从加载的模块中接收到命令后,就会继续运行handler。

图 3 – 接收器注册

图 4 – 通知Listener使用

Handler会检查下载的payload,如果存在就使用Reflection从payload中调用mas方法,开始DirectorAct活动。

图 5 – 调用mas函数和‘DirectorAct’

‘DirectorAct’ 类会从payload中调用另一个方法——Chris。如果在处理时发生意外,或没有下载payload,joker就会与C2服务器通信来下载一个新的payload。

图 6 – 联系C2服务器

· Payload

首先看一下main活动中调用的mas函数。

启动后,payload就会从设备中读取运营者信息,然后确保设备不是来自于美国(MMC 310)或加拿大(MMC 302)。

图 7 – 过滤美国和加拿大

一旦所有的条件都满足,Joker就会联系payload的C2服务器,从服务器加载配置文件。

图 8 – 加载配置文件

配置文件中含有一个新的URL、另一个要加载的payload和一个类名为下载后要执行的方法。

图 9 – 处理配置

图 10 – Dex加载

图 11 – Payload执行

可以访问监听器通知和发送SMS,payload会监听收到的SMS,并提取保险服务的验证码(2FA),然后发送给“Offer Page”来订阅保险服务。

但是恶意软件如何使用户订阅这些服务呢?在从C2服务器接收的配置中,会处理一个到联系人的URL的列表,并在隐藏的webview中打开。

图 12 – 打开隐藏的webview,联系offer page

研究人员将应用问题报告后,Google已经从Google play中移除了相关应用。

本文翻译自:https://research.checkpoint.com/2020/android-app-fraud-haken-clicker-and-joker-premium-dialer/如若转载,请注明原文地址:
  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论

 
本站4hou.com,所使用的字体和图片文字等素材部分来源于原作者或互联网共享平台。如使用任何字体和图片文字有侵犯其版权所有方的,嘶吼将配合联系原作者核实,并做出删除处理。
©2022 北京嘶吼文化传媒有限公司 京ICP备16063439号-1 本站由 提供云计算服务