Checkpoint安全研究人员发现了一系列针对广告商进行诈骗活动的运用程序。其中有一个歹意软件PreAMo,能够经过点击从三家广告商的banner来模仿用户,这三家广告上分别是Presage, Admob和Mopub。
6款歹意软件的下载量总共超越9000万次,现在Google现已从Google Play中移除了受感染的运用程序。
图1 – RAM Master Google Play信息
PreAMo
PreAMo是由三部分不同的代码组成的,每部分代码负责处理一个广告商。由于这三块代码是散布在不同的package中的,触发办法不同,并且是没有联络的。将这三部分代码衔接在一起的是都与同一个C2服务器进行通讯,该C2服务器被用来发送统计数据和接纳装备数据。这三部分代码的行为也是相似的,他们在广告网络加载的banner上注册了一个监听器,一旦banner加载,PreAMo就运用Android结构 ‘MotionEvent’类来模仿点击。
但由于广告库在完成过程中存在差异,PreAMo背面的攻击者运用不同的办法来处理每个广告商。
1. Ad Agency #1 – Admob:
‘PreAMo’在com.google.android.gms.ads.internal.tools.ConfigProvider的manifest中进行了注册,意图就是在host运用启动时初始化AdMobFixer类。该类会用计时器来注册一个动态接纳器来周期性地从C2服务器查看装备更新。
图2 – 接纳器注册
‘PreAMo’用两种不同的办法来检测是否展现了广告banner,榜首种办法是运用反射来使其中止为内部结构,并装置回调,第二张办法是依据活动生命周期回调的。
图3 – 检测办法 #1
图4 – 检测办法#2
每逢运用中有新活动创立时安卓体系就会告诉监听器。PreAMo会从尖端的窗口(Décor)开端递归地搜索特定的Ad View
图5 –OnAdActiviy的完成
成功检测到banner后,PreAMo会查看以下条件集:
· 用户是否organic。该符号是com.DianXinOS库的一部分,是依据INSTALL_REFERRER的监听器接纳的intent设置的。假如内容含有organic这个词,标明运用是在Google Play中搜索后装置的,该值就会设置为True,不然设置为false。只要当值为False时,Autoclicking才作业。但在PreAMo的一些版别中,该值是从C2服务器接纳的。
· 用户还没有点击广告banner。
· 点击的距离和每日点击的最大量低于预界说的约束。
· 查看随机值。
假如上面的条件都满意, PreAMo就在banner上模仿点击。为了到达这个意图,歹意软件会从文件assets/xdd读取预界说的坐标方位,在有些状况中,这是依据banner的巨细的,PreAMo能够运用随机生成的坐标。
图6 – PreAMo履行的条件查看
图7 – 从xdd读取的预决议的坐标
图8 – 运用随机生成的坐标
Ad Agency #2 – Presage:
这部分代码的履行是来源于com.DianXinOS.OService类。在调用onStartCommand的办法中,PreAMo会开端一个新的线程来周期性地显现来自Presage (ogury)库的插播广告。
在线程中,歹意软件会与C2服务器进行通讯,并从URL hxxps://res.mnexuscdn[.]com/dp/0845e0150308bcdf5ef03ba8295075f9来加载装备数据。
图9 – 线程创立
图10 – Ad战略(装备数据)
PreAMo会接纳装备文件并查看ads (min_i_sec_limit)和每日最大ads (max_p_ad)的周期。在验证成功后,PreAMo会从Presage显现与广告有关的活动。
图11 – 查看广告装备
图12 – 插播广告
除了从Presage显现广告外,PreAMo还会为主机运用注册自己的活动管理器,再完成以下的办法(图13)并替换默许的Presage web客户端来运用随机生成的坐标来点击banner(图14)。
[1] [2] 黑客接单网