作者:钱盾反诈实验室

 

0x1.背景

近期,钱盾反诈实验室通过钱盾恶意代码智能监测引擎感知并捕获一批恶意应用。由于该批病毒会联网加载“CWAPI”插件,故将其命名为“DowginCw”病毒家族。“DowginCw”通过插件形式集成到大量儿童游戏应用中,然后通过发布于各大应用商店或强制软件更新等手段,将恶意代码植入用户手机设备中,用户一旦运行,设备将不停下载、安装其他恶意应用,直接造成用户手机卡顿,话费资损,个人隐私泄漏等风险等。

“DowginCw”能上架知名应用商店和长期驻留用户设备,是因为它使用了一套成熟的免杀技术,利用这套技术,免杀病毒可在杀软面前肆无忌惮地实施恶意行为而不被发现,其免杀技术手段包括:代码加固保护、插件化,以及代码延迟加载。

0x2.影响范围

相关数据表明,早在去年10月“DowginCw”病毒家族应用就上架应用商店。其中几款应用下载量甚至高达3千万,疑似存在刷榜,刷量和刷评分,来诱骗用户下载。

目前,钱盾反诈实验室已拦截查杀“DowginCw”病毒家族2603款应用。下图近两月病毒感染设备次数已达93w,平均每日感染用户过万,共计感染87w用户设备。

下表感染用户top10的应用。

应用名

包名

感染量

魔仙公主换装

com.cocoplay.iceskater

107543

大球吃小球烧烤

com.mahjong.sichuang

39403

魔仙公主装扮游戏

com.colorme.game.gongzhuhuayuano

28339

巴拉拉公主蛋糕

com.fcl.anaadwqra

22798

奇妙蛋糕屋游戏

com.qiyou.kxct_MM

19951

小芭比公主游戏

air.com.empiregames.fungirlgames

14619

公主化妆和换装

com.cocoplay.ryenpncocoiceprincess_googleplay

12940

叶萝莉美甲师(免费版)

com.fc.mhklmjslnad

12249

可爱公主医生小游戏

com.andromo.dev249143.app236834

12058

丛林发型制作世界

com.fancywing.s3

11697

 

0x3恶意样本分析

对“DowginCw”病毒家族其中一样本分析。

应用名:王子结婚换装小游戏

包名:com.brainsterapps.google.katyinternational

 

2.1主包解析:

首先将主包脱壳,拿到加固前代码。下图主包功能模块。

l   启动恶意代码;

l   从云端获取恶意推广插件信息;

l   加载执行恶意推广行为;

l   监听应用安装、网络改变,进而调用子包,执行恶意行为;

1.恶意代码是在入口activity的attachBaseContext被加载的,也就是应用一启动就会加载恶意代码块。为了躲避动态沙盒监测,恶意行为会延迟30s执行。

2.访问http://mail[.]zbmcc.cn/s获取插件Json数据。数据如下,a:插件包下载地址;b:版本号;c:设备sd卡存放位置;d:恶意弹窗控制指令数据,函数call的参数。

{

"a": "http://d2[.]chunfeifs[.]com/jfile/ter.jar",

"b": "5.0",

"c": "download/br/",

"d": "1=2,1;3=2;4=2,1;7=3,2,1,30;8=1,1;"

}

3.插件下载地址来自xiongjiong[.]com或chunfeifs[.]com。成功下载后,随后动态加载ter5.0.jar,并反射执行“init”方法完成恶意推广行为初始化,下图“CWAPI”的静态代码块,可知DowginCw的弹窗方式。

最后主包通过反射执行子包“call”函数启动恶意推广。

4.应用安装成功、网络改变广播监听,通过反射调用子包LCReceiver类onReceive函数实现。

2.2子包恶意推广

下图子包工作图:

设置恶意推送模式和定时弹应用安装提示窗的指令数据,来自mail[.]zbmcc[.]cn返回的json数据中的b字段值,例如数据指令“1=2,1;3=2;4=2,1;7=3,2,1,30;8=1,1;”会开启以下3种推送模式和设定弹应用安装提示窗口定时器:

内插轮番,在指定的间隔时间在主包应用窗口弹推送窗;

解锁,设备解锁弹推送窗;

外插轮番,在指定的间隔时间在任意应用窗口弹推送窗;

“DowginCw”每发起一次恶意推送,都会从go[.]1mituan[.]com获取加密的待推送应用数据。

经解压解密可获取数据如下,包括应用编号、弹窗图片地址、推送应用下载地址:

为了能够在设备解锁,任意应用界面弹窗,病毒需要获取当前运行Activity实例。“DowginCw”通过反射获取ActivityThread中所有的ActivityRecord,从ActivityRecord中获取状态不是pause的Activity。

成功弹出恶意推广窗,用户触屏图片区域,甚至点击“取消”也会下载准备的应用。

安装提示窗也是定时执行,若监测到下载应用没被安装,则会弹窗诱导用户安装应用。当应用成功安装,LCReceiver会接受处理“android.intent.action.PACKAGE_ADDED”广播,实现应用自启动。如此环环相扣,完成一个又一个恶意应用植入用户设备。

我们发现恶意推送的应用全部来自域名:xiongjiong[.]com和youleyy[.]com,下载的应用以伪装成游戏和色情类app为主,大部分属于SmsPay家族(启动发送扣费短信),部分Rootnik家族(root设备向系统目录注入恶意应用),下表部分推送应用:

应用名

包名

我的世界

com.xiaodong.android.mc.chwan0724

绝地求生

il.fhatiazsfv.f.k2be42121f2539.f9b1

复仇者联盟

com.union.theavenger20713

贪吃蛇大作战

yoq.yvlha.tfyz.HX2017_728

私密空间

com.simsiskongj20088ian.cdsqcgpmdpfm

女神来了

ymju567_thjtyu.juki

我的安吉拉

bgbg_67_n_6666.ghgyh

越野飙车

com.kkpo.iibs61108

我的世界

cdf.khyhkgdgd.lfdbvbhbngx

 

0x4黑色产业链分析

如下图所示,由制马人、广告平台、多渠道分发、转账洗钱构成了“DowginCw”黑色产业链的关键环节。

其中制马人团队负责开发维护,以及免杀处理,目前病毒已迭代到5.0版本,特点包括:能以插件形式集成到任意app;代码延迟加载,由云端下发恶意插件;字符串加密,代码强混淆等技术,可见“DowginCw”开发团队专业度之高。“广告平台”角色是“DowginCw”病毒的主要赚钱方式,通过在黑市宣传推广能力,以成功下载应用或成功安装病毒木马收费。“多渠道分发”团队在整个链条中处于相对核心的地位,通过与某些应用合作,成功集成“DowginCw”插件,致使能上架知名应用商店。从实际运作来看,整个圈子除了上述几个重要角色外,一些环节还会有其他黑产人员参与其中,比如上架应用商店后,想要让app曝光诱骗用户下载,会请专业人员进行刷榜,刷量,涮好评。

Ox5团伙溯源

我们通过钱盾恶意代码智能监测引擎,从“DowginCw”病毒家族中提取出如下C&C地址:zbmcc.cn、smfoja.cn、typipe.cn、unfoot.com、yuchanglou.com.cn、inehzk.cn、chunfeifs.com、xiongjiong.com.cn、1mituan.cn、elianke.cn、youleyy.com、cd.zciec.com。从域名的注册邮箱分析,可挖掘出该产业链部分人员,如下图所示。

分析发现:

1、黑产团伙使用ailantian198*@126.com、lantian198*@foxmail.com、30854789*@qq.com作为“DowginCw”域名地址的公共邮箱,并使用这些邮箱注册大量其他恶意域名。

2、其团伙成员包括:黄某、余某、程某、石某、齐某等9名成员,其中黄某负责平台推广;余某负责已注册的老域名购买;石某和齐某疑是病毒插件开发人员;其余人员属于下游工作者。

3、根据该团伙黄某,石某在公网泄漏的QQ账号308547893@qq.com,21543345@qq.com,发现团伙的“根据地”应该在福建。

0x6清理方案

目前,钱盾全面支持“DowginCw”病毒家族清理;建议用户开启全盘扫描模式,清理下载的恶意应用安装包。

本文由阿里聚安全发布,转载请注明出处。

http://jaq.alibaba.com/community/art/show&articleid=1283

【技术分析】DowginCw病毒家族解析的更多相关文章

  1. WANNACRY病毒中的加密技术分析

    WANNACRY病毒中的加密技术分析 2019/11/6 16:56:46 分析WANNACRY病毒中的加解密技术的应用.分析内容包括但不限于:对称密码技术和公钥密码技术的作用:受害者支付赎金后就会恢 ...

  2. 《gis空间分析及应用案例解析》培训总结

    <gis空间分析及应用案例解析>培训总结 来源:常德水情 作者:唐校准 发布日期:2014-01-02       2013年12月2630日由中国科学院计算技术研究所教育中心组织的< ...

  3. Fabric 和 Sawtooth 技术分析(下)

    http://blog.talkingdata.com/?p=6172 在前一篇文章(Fabric和Sawtooth技术分析(上))中,我们着重跟大家分享了 Fabric 相关的内容,在本篇文章中,我 ...

  4. 微前端框架 qiankun 技术分析

    我们在single-spa 技术分析 基本实现了一个微前端框架需要具备的各种功能,但是又实现的不够彻底,遗留了很多问题需要解决.虽然官方提供了很多样例和最佳实践,但是总显得过于单薄,总给人一种&quo ...

  5. 蓝牙协议分析(7)_BLE连接有关的技术分析

    转自:http://www.wowotech.net/bluetooth/ble_connection.html#comments 1. 前言 了解蓝牙的人都知道,在经典蓝牙中,保持连接(Connec ...

  6. WaterfallTree(瀑布树) 详细技术分析系列

    前言 WaterfallTree(瀑布树) 是最强纯C#开源NoSQL和虚拟文件系统-STSdb专有的(版权所有/专利)算法/存储结构. 参考 关于STSdb,我之前写过几篇文章,譬如: STSdb, ...

  7. iOS直播的技术分析与实现

    HTTP Live Streaming直播(iOS直播)技术分析与实现 发布于:2014-05-28 13:30阅读数:12004 HTTP Live Streaming直播(iOS直播)技术分析与实 ...

  8. 横向技术分析C#、C++和Java优劣

    转自横向技术分析C#.C++和Java优劣 C#诞生之日起,关于C#与Java之间的论战便此起彼伏,至今不辍.抛却Microsoft与Sun之间的恩怨与口角,客观地从技术上讲,C#与Java都是对传统 ...

  9. 分析Sizzle引擎 - 词法解析

    分析Sizzle引擎 - 词法解析 声明:本文为原创文章,如需转载,请注明来源并保留原文链接Aaron,谢谢! 浏览器从下载文档到显示页面的过程是个复杂的过程,这里包含了重绘和重排.各家浏览器引擎的工 ...

随机推荐

  1. 【每天半小时学框架】——React.js的模板语法与组件概念

           [重点提前说:组件化与虚拟DOM是React.js的核心理念!]        先抛出一个论题:在React.js中,JSX语法提倡将 HTML 和 CSS 全都写入到JavaScrip ...

  2. Android 开发笔记___图像按钮__imageButton

    IMAGEBUTTON 其实派生自image view,而不是派生自button.,image view拥有的属性和方法,image button 统统拥有,只是imagebutton有个默认的按钮外 ...

  3. JMeter基础教程3:脚本录制篇

    对于一些JMeter初学者来说,录制脚本可能是最容易掌握的技能之一.虽然我不建议录制性能脚本(因为录制的脚本比较混乱,必须要通过二次处理才可正常使用),但有时做总比不做要好,是吧?下面我们详细介绍使用 ...

  4. docker下编译mangoszero WOW60级服务端(二)

    开始搭建基于docker的mangoszero WOW服务端,我自己的操作系统是mac os,其他平台操作可以等价替换 1.准备工作 (1) 安装docker,参考docker官方文档,https:/ ...

  5. 【Kafka源码】处理请求

    [TOC] 在KafkaServer中的入口在: apis = new KafkaApis(socketServer.requestChannel, replicaManager, groupCoor ...

  6. 三、VueJs 填坑日记之项目文件认识

    上一篇博文,我们搭建了一套基础的vuejs的环境,首先安装node.js,然后利用npm包管理器,安装vue-cli,设置淘宝镜像,初始化项目,安装依赖,运行.在这一篇,我们将认识vuejs项目里的各 ...

  7. MySQL执行一个查询的过程

    总体流程 客户端发送一条查询给服务器: 服务器先会检查查询缓存,如果命中了缓存,则立即返回存储在缓存中的结果.否则进入下一阶段: 服务器端进行SQL解析.预处理,再由优化器生成对应的执行计划: MyS ...

  8. Python [习题] 文件操作:目录间copy 文件

    [习题] 指定一个源文件,实现copy到目标目录.例如把/tmp/sample1.txt 拷贝到/tmp/sample2.txt原文件需要有读权限(默认rt权限),目标文件需要给写(w即可)权限. I ...

  9. mysql数据库表卡死解决方法

    ---恢复内容开始--- 问题引起原因: 由于在执行大量插入操作的时候意外终止程序之后, MySQl的线程并没有被终止,导致表不能打开和操作 -  解决思路就是找到等待的线程并kill -- 查看所有 ...

  10. 大神博客链接系列---C#SubSonic3.0搭建ORM

    一.C#框架 C#ORM框架: SubSonic3.0制作ORM--- http://www.cnblogs.com/EmptyFS/p/3659679.html