menu arrow_back 湛蓝安全空间 |狂野湛蓝,暴躁每天 chevron_right ... chevron_right 007-papers chevron_right 095-美玉在外,败絮其中——色播病毒的那些事儿.md
  • home 首页
  • brightness_4 暗黑模式
  • cloud
    xLIYhHS7e34ez7Ma
    cloud
    湛蓝安全
    code
    Github
    095-美玉在外,败絮其中——色播病毒的那些事儿.md
    7.27 KB / 2021-07-17 00:01:36
        # 美玉在外,败絮其中——色播病毒的那些事儿
    
    长期以来,色播类App屡见不鲜,其背后是巨大的金钱利益,是病毒主要栖息之地。为了保护用户切身利益,腾讯手机管家长期以来对此类病毒进行及时查杀。
    
    色播类病毒每日感染用户数如下图所示,感染用户数在周末日与假日期间尤为严重
    
    ![](http://drops.javaweb.org/uploads/images/a67f351352e17643f17ef475c0fb364bfd5c0622.jpg)
    
    为了进行有效的查杀,我们对色情类病毒进行实时的监控。以某约爱色播视频为例,下图所示,晚上8点后会进行爆发,每小时以千为单位,库中总量达80万。
    
    ![](http://drops.javaweb.org/uploads/images/74226ca38fc0a2a345f705874ec4733ff2d26f0a.jpg)
    
    美玉在外,败絮其中,此类色播病毒常以美女色情图片或者视频来诱导用户安装,不断提示用户安装难以卸载的恶意插件,进行广告的推送,甚至在后台静默下载安装应用和发送扣费短信,给用户造成很大的影响
    
    色播病毒执行的流程如下图所示:
    
    ![](http://drops.javaweb.org/uploads/images/fb9efe462b509e5b51e72249d74e923afe79c2a0.jpg)
    
    0x01 色播类病毒主要行为分析
    ================
    
    1.1 通过继承Application来解密Dex,隐藏真正的Dex来躲避查杀
    ---------------------------------------
    
    ![](http://drops.javaweb.org/uploads/images/b6b7dc2a1b35ec273bc91d062142a1656fa86106.jpg)
    
    1.2 解密Dex:
    ----------
    
    通过包名中的数字截断来确定需要解密的文件的名称,此时文件名为26a6.fdc
    
    解密后的Dex名称由:Md5加密(包名+”.Core”)+“.apk”组成
    
    1.3 通过DexClassLoader加载Dex,读取资源解密释放出文件:
    --------------------------------------
    
    ![](http://drops.javaweb.org/uploads/images/fa6214f1efa21bd2de1b632f0a9d4f7c234d5fc2.jpg)
    
    命名方式为:MD5加密(包名+“.original”+versionCode),此时的文件为一个Loader
    
    1.4 Loader联网获取恶意插件:
    -------------------
    
    01f61033344309ee8aa69bfab53f8196.apk即为Loader,
    
    包com.jmedia.loader.ad的函数AdApkHandler为加载插件函数
    
    ### 1) 联网获取数据,配置广告文件config_ad.xml
    
    ![](http://drops.javaweb.org/uploads/images/27d9163e31406adcf6832b9f5c2c3adb6f207ce9.jpg)
    
    ### 2) 读取json数据,通过解密字符串获得需要的字段downloadurl,filesize,outStartActivity等
    
    ![](http://drops.javaweb.org/uploads/images/a26199364d261ce840f664bbd5d80714a0fdb654.jpg)
    
    对应的字符串
    
    ![](http://drops.javaweb.org/uploads/images/2b91b692fdd8e268d027f3a5d234f4ec97e45382.jpg)
    
    解密函数主要过程:将密钥 进行MD5 加密,取前17位作为AES解密的key
    
    解密函数如下:
    
    ![](http://drops.javaweb.org/uploads/images/7abe096bb29b342f72ae86e42ce52e3f490c11f6.jpg)
    
    ### 3)写SharedPreferences文件config_ad.xml,内容如下
    
    ![](http://drops.javaweb.org/uploads/images/6e1bb1a0d88806cc5b270e309b36deb9b660e735.jpg)
    
    ### 4)获取到config_ad.xml的downloadUrl下载解密
    
    下载到的文件ad20150513.apk文件,命名为game.properties, 该文件为加密文件,读取config_ad.xml的secretKey进行AES解密,释放解密后的文件到sdcard中的SAdAssets目录下,命名为game20141210.apk,该文件即为我们要的com.android.system.contact.app推广的APP
    
    ![](http://drops.javaweb.org/uploads/images/f63e4ae416574fc7fe6b3f1454a7ffa92f09ec45.jpg)
    
    其中config_ad.xml中的字段:outStartActivityAction, outStartActivity , serviceClassName 为需要启动的组件信息
    
    1.5 推广的`com.android.system.contact.app`主要行为
    -------------------------------------------
    
    1.  激活设备管理器
    2.  监听设备管理器DeviceAdminReceiverm,当用户禁用时,返回字符串:“取消激活将导致手机系统不稳定,部分安卓程序无法运行”,且记录是否禁用
    3.  联网下载推广信息,banner广告,悬浮窗广告,推送消息等
    
    ![](http://drops.javaweb.org/uploads/images/b3fb1cc1551eab5e9bffe8b00fd85a7db430d90d.jpg)
    
    0x02 色播类病毒追踪
    ============
    
    * * *
    
    2.1批量生成灵活配置后台进行推广:色播类病毒中含大量重打包的应用,其推广应用可灵活配置
    --------------------------------------------
    
    ![](http://drops.javaweb.org/uploads/images/c6506f5625368aaf43e44921b27be39349aa31a3.jpg)
    
    ### 1)根据Manifest配置文件的Appid来决定访问的网址
    
    ![](http://drops.javaweb.org/uploads/images/70c092865728d599a142be97da29eedf2d2731b1.jpg)
    
    ### 2) 后台含需要推广的应用,及其诱导信息
    
    ![](http://drops.javaweb.org/uploads/images/5684f275a9b9310b363d668535e9b44fd8bd6eff.jpg)
    
    ![](http://drops.javaweb.org/uploads/images/0404089ab67de45e04779b27dcb77ae43f01587d.jpg)
    
    ![](http://drops.javaweb.org/uploads/images/cb929650ab578fb8986ffe79029d0394a5faabc8.jpg)
    
    2.2 静默发送短信或者诱导点击来达到扣费的效果,以云端控制的方式返回 待发送短信和号码,此种方式能控制发送任意短信内容
    ------------------------------------------------------------
    
    ### 1)除了偷偷发送短信,还会以诱惑性或者模糊的词来诱导用户进行点击
    
    ![](http://drops.javaweb.org/uploads/images/0336438103d841f647daa5a3f2d8e579f851a42f.jpg)
    
    ### 2)以云控的方式来控制短信内容
    
    ![](http://drops.javaweb.org/uploads/images/4cbbd1b91e010232ee78cfad21b0e12b290796ee.jpg)
    
    2.3我们在实时监控的过程中,发现色播类病毒和大量插件,App捆绑相关联,可见病毒作者在开发时,在捆绑的测试也下过不少功夫。
    --------------------------------------------------------------
    
    ![](http://drops.javaweb.org/uploads/images/4296e67d1e9e1bfbe5d98ad88c1591bb54c4545d.jpg)
    
    0x03 色播伪装的羊皮
    ============
    
    * * *
    
    色播类病毒在隐藏伪装方面也着实下了不少功夫
    
    1. 将推广应用或者dex伪装成so,mp3等各种格式
    ---------------------------
    
    ![](http://drops.javaweb.org/uploads/images/fc4f67613b0f2ee83afda51bbd50d8e45eea2e3a.jpg)
    
    实际上Media.mp3为Apk文件,如下图所示
    
    ![](http://drops.javaweb.org/uploads/images/dff0daab9a769e0e7a25716a9b4002105f6bf7c3.jpg)
    
    2. 少量使用主流加固,大多数通过私有加固,加解密的方式来躲避查杀,并且使用公开的隐藏Apk方式
    ------------------------------------------------
    
    ### 1) 如下图所示,样本为dex文件,但其数据的尾部隐藏着一个APK文件
    
    ![](http://drops.javaweb.org/uploads/images/6a38fa4b879b62c5ebda8200996bfb27d2cb91e5.jpg)
    
    ### 2) 直接以字符串的形式存储在字符串中,进行解密写文件
    
    ![](http://drops.javaweb.org/uploads/images/51b72fd7499b241d68f7064500f0163fc92e29ea.jpg)
    
    ### 伪装成正常的类名
    
    ![](http://drops.javaweb.org/uploads/images/4a534cdc139f7b05796bf3692b514a3400783b8f.jpg)
    
    ### 通过So来调用android代码下载插件,色播逐步转向Native层将成为一大趋势
    
    ![](http://drops.javaweb.org/uploads/images/51d7150b9a0eeeb49019c5b22c8722c04bf28e5a.jpg)
    
    0x04 总结
    =======
    
    * * *
    
    色播类的样本使用各种伪装,加解密的方式的手段来加载恶意代码,此种通过云端控制、插件化加载的方式,可达到加载各种恶意app,并且含推广应用,推送消息,恶意扣费的行为,将对用用户造成很大的影响。
    
    0x05 解决方案与安全建议
    ==============
    
    * * *
    
    1.  使用腾讯手机管家可进行精确的查杀与防御
    2.  健康上网,不安装来历不明的应用软件
    
    ![](http://drops.javaweb.org/uploads/images/06de42c089ddcafce10b5617ffd182361e8810b3.jpg)
    
    links
    file_download