【Android病毒分析报告】 - 新病毒FakeUmg “假面友盟”
来源:互联网 发布:淘宝上的催情药实测 编辑:程序博客网 时间:2024/06/05 17:02
本文章由Jack_Jia编写,转载请注明出处。
文章链接:http://blog.csdn.net/jiazhijun/article/details/12658633
作者:Jack_Jia 邮箱: 309zhijun@163.com
近期百度安全实验室发现一款“假面友盟”新病毒,该病毒通过大批量二次打包第三方应用获得快速的传播。安全实验室监控数据表明,受该病毒感染的应用数以万计,且分布于国内不同流行应用商店,累计下载量超过10万余次。该病毒恶意代码伪装成著名的“友盟统计”插件,具有较强的隐蔽性,导致该病毒较难被发现。
该病毒启动后,后台偷偷访问远端服务器获取运行指令,并根据服务器端指令执行如下恶意行为:
1、后台私自发送短信订阅付费服务,并拦截特定号码短信,完成吸费。
2、后台自动化模拟点击访问广告,骗取广告联盟广告推广费,消耗大量数据流量。
目前监控到的该病毒的远端指令服务器有以下几个:
http://118.126.11.136
http://218.240.151.104
http://www.ppa2099.com
http://www.sese365.net
http://www.fafa7891.com
1、首先该病毒通过修改AndroidManifest.xml文件的入口Activity为com.umeng.adutils.SplashActivity,SplashActivity启动恶意代码后,再启动源程序MainActivity。这样就达到了既启动恶意代码,又不破坏原有程序逻辑的目的。
代码树结构
通过伪装成“友盟SDK"到达隐藏目的,逆向分析人员极易忽略此类代码。
2、病毒恶意组件功能及交互图
3、恶意代码片段截图
一、广告模拟点击相关
广告指令服务器端地址:
Http请求服务器获取广告指令,广告指令通过Base64编码,解码后的指令如下:
<?xml version="1.0" encoding="utf-8"?><configuration><!--软件信息--><application><!--应用名称--><appname>阿伦威克高清动态壁纸</appname> <!--应用包名--><pkgname>com.cnr.alunweike</pkgname> <!--应用版本--><appversion>2.3.3</appversion> <!--应用版本数--><appversioncode>16</appversioncode><!--应用主界面--><activity>MainActivity</activity> <!--所在广告平台产品ID--><appid>29e27c80-6a22-44e7-9c1c-1033b0bbeab5</appid><!--所在广告平台渠道ID--><appchannel>DTN</appchannel><appkey>yzwzyleoczhi</appkey></application><!--模拟平台的参数信息--><advertisement><!--广告平台名称--><advertname>datouniao</advertname> <adverttimes>0</adverttimes><!--广告平台需要模拟地址信息--><url urlid="1"> <!--具体网络地址,若以大括号包围表示关键字--><detail>http://ws1.datouniao.com/AdPublisherConnect</detail> <!--访问方式--><way>get</way> <!--是否需要UA--><useragent>0</useragent><!--延迟时间,以秒为单位--><delay>0</delay><!--返回的正确结果--><statusCode>200</statusCode> <!--所需参数--> <param pid="1"><name>udid</name><value>$deviceID</value></param><param pid="2"><name>device_name</name><value>$deviceType</value></param><param pid="3"><name>device_type</name><value>android</value></param><param pid="4"> <name>os_version</name><value>$deviceOs</value></param><param pid="5"> <name>country_code</name><value>CN</value></param><param pid="6"><name>language_code</name><value>zh</value></param><param pid="7"><name>app_id</name> <value>$appId</value></param><param pid="8"><name>screen_density</name><value>$deviceDensity</value></param><param pid="9"><name>screen_width</name><value>$deviceWidth</value></param><param pid="10"><name>screen_height</name><value>$deviceHeight</value></param><param pid="11"><name>sdk_version</name><value>7</value></param><param pid="12"> <name>userID</name><value>$deviceID</value></param><param pid="13"> <function>netType</function><value>$netType</value></param><param pid="14"> <name>place_id</name><value>$appChannel</value></param><param pid="15"><name>timestamp</name><function>$at</function></param><param pid="16"><name>verifier</name><function>$verifier</function></param></url><url urlid="2"> <!--具体网络地址,若以大括号包围表示关键字--><detail>http://ws1.datouniao.com/android/AdsOffers</detail> <!--访问方式--><way>get</way> <!--是否需要UA--><useragent>1</useragent><!--延迟时间,以秒为单位--><delay>0</delay><!--返回的正确结果--><statusCode>200</statusCode> <!--所需参数--> <param pid="1"><name>udid</name><value>$deviceID</value></param><param pid="2"><name>device_name</name><value>$deviceType</value></param><param pid="3"><name>device_type</name><value>android</value></param><param pid="4"> <name>os_version</name><value>$deviceOs</value></param><param pid="5"><name>country_code</name><value>CN</value></param><param pid="6"><name>language_code</name><value>zh</value></param><param pid="7"><name>app_id</name><value>$appId</value></param><param pid="8"><name>screen_density</name><value>$deviceDensity</value></param><param pid="9"><name>screen_width</name><value>$deviceWidth</value></param><param pid="10"><name>screen_height</name><value>$deviceHeight</value></param><param pid="11"> <name>sdk_version</name><value>7</value></param><param pid="12"> <name>userID</name><value>$deviceID</value></param><param pid="13"> <name>netType</name><function>$netType</function></param><param pid="14"><name>place_id</name><value>$appChannel</value></param><param pid="15"><name>clientParams</name><value></value></param><param pid="16"><name>timestamp</name><!--参数值, 获取当前时间,可在|后设置延迟时间,以毫秒为单位--><function>$at|15000</function></param><param pid="17"><name>lat</name><function>$location|lat</function></param><param pid="18"><name>lng</name><function>$location|lng</function></param><param pid="19"><name>city</name><function>$location|city</function></param><param pid="20"><name>verifier</name><function>$verifier</function></param></url></advertisement></configuration>
解析广告指令,并根据指令中相关广告平台的协议配置参数。
二、恶意吸费相关
吸费指令服务器地址:
Http请求获取吸费指令,Base64解码后的吸费指令结构为:
为了掩盖发送短信行为,恶意攻击者通过native stringFromJNI方法调用so发送短信,使用方法名迷惑逆向分析人员。
按照短信指令配置拦截特定号码短信:
- 【Android病毒分析报告】 - 新病毒FakeUmg “假面友盟”
- 【Android病毒分析报告】 - Andorid新病毒“UkyadPay”
- 【Android病毒分析报告】 - Andorid新病毒“UkyadPay”
- 【Android病毒分析报告】 - Andorid新病毒“UkyadPay”
- 【Android病毒分析报告】 - Andorid新病毒“UkyadPay”
- 【Android病毒分析报告】 - CatchSpam
- 【Android病毒分析报告】 - Extension
- 【Android病毒分析报告】 - Claco
- 【Android病毒分析报告】--FakeInstaller
- 【Android病毒分析报告】 - AppBotSMS
- 【Android病毒分析报告】 - FakeLookout
- 【Android病毒分析报告】 - Chuli
- 【Android病毒分析报告】 - BadNews
- 【Android病毒分析报告】 - Obad
- 【Android病毒分析报告】 - Usbcleaver
- 【Android病毒分析报告】 - “支付宝大盗”
- Android 病毒分析报告与技巧
- “磁碟机”病毒分析报告
- 【项目经验】如何用TexturePacker & Physicseditor开发游戏
- 威盛面试
- 黑马程序员_Java基础学习笔记
- 数据结构之 Shell排序
- 数据结构之(归并排序)
- 【Android病毒分析报告】 - 新病毒FakeUmg “假面友盟”
- Java 开始篇——新的开始,更多的努力
- Android 文件操作
- Oracle中将含数据的BLOB字段转化为含数据的varchar2字段
- android中设置activity切换时候的动画效果
- Oracle 11G 发行版安装64位系统
- 公开课可下载资源汇总
- Python中print和字符格式化的小结(Python2.7.5)
- ExtJS中组件居右显示方法