【Android病毒分析汇报】 - 新病毒FakeUmg “假面友盟”

【Android病毒分析报告】 - 新病毒FakeUmg “假面友盟”

本文章由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。这样就达到了既启动恶意代码,又不破坏原有程序逻辑的目的。


        【Android病毒分析汇报】 - 新病毒FakeUmg “假面友盟”


      代码树结构

      通过伪装成“友盟SDK"到达隐藏目的,逆向分析人员极易忽略此类代码。


   【Android病毒分析汇报】 - 新病毒FakeUmg “假面友盟”


     2、病毒恶意组件功能及交互图


【Android病毒分析汇报】 - 新病毒FakeUmg “假面友盟”



     3、恶意代码片段截图


       一、广告模拟点击相关


        广告指令服务器端地址:


    【Android病毒分析汇报】 - 新病毒FakeUmg “假面友盟”


     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>

    

   解析广告指令,并根据指令中相关广告平台的协议配置参数。


【Android病毒分析汇报】 - 新病毒FakeUmg “假面友盟”


    二、恶意吸费相关

   

        吸费指令服务器地址:


   【Android病毒分析汇报】 - 新病毒FakeUmg “假面友盟”


      Http请求获取吸费指令,Base64解码后的吸费指令结构为:


      【Android病毒分析汇报】 - 新病毒FakeUmg “假面友盟”


      为了掩盖发送短信行为,恶意攻击者通过native stringFromJNI方法调用so发送短信,使用方法名迷惑逆向分析人员。


     【Android病毒分析汇报】 - 新病毒FakeUmg “假面友盟”

 【Android病毒分析汇报】 - 新病毒FakeUmg “假面友盟”


     按照短信指令配置拦截特定号码短信:


【Android病毒分析汇报】 - 新病毒FakeUmg “假面友盟”




     


2楼suannai0314昨天 11:11
您的文章已被推荐到CSDN首页,感谢您的分享。
1楼xiaoniuhong昨天 18:59
好厉害的样子!