导语:安卓全能木马Trojan.AndroidOS.Loapi,广告、SMS、挖矿、代理、爬虫,你能想到的功能,应有尽有。
简介
安卓智能手机上充斥着各种恶意应用,即使使用的是官方的应用商店Google Play,情况也是如此。现实中这种情况会变得更糟,因为很多人使用的是非官方的应用商店,应用商店中充斥着虚假应用,安全检查也很少。针对安卓操作系统的恶意软件传播并不限于非官方的应用商店,还包括恶意广告、垃圾短信等。在这些威胁中,我们发现一个恶意样本Trojan.AndroidOS.Loapi。该木马有一个复杂的模块结构,这就意味着可以做很多的恶意活动,包括加密货币挖矿、持续广告、DDOS攻击等。之前还没见过这种全能(jack of all trades)的恶意软件。
传播和感染
Loapi恶意软件家族的样本是通过广告传播的。当用户被广告重定向到攻击者的恶意web页时,就会下载恶意文件。发现了超过20个这样的资源,这些域名大多是主流的反病毒软件,还有一个著名的成人网站。如图1所示:
Trojan.AndroidOS.Loapi安装成功后,应用会尝试获取设备的administrator权限,并且会循环请求直到用户同意为止。恶意软件还会检查设备有没有被root过,但是并不会使用root权限,很显然root权限在将来的某些模块中会用到。
在获取了admin权限后,恶意应用会在菜单中隐藏图标,或根据伪装的应用类型模拟不同的反病毒活动。
恶意软件的自保护
Loapi会尽一切可能来调用设备管理权限,如果用户想要收回这些权限,恶意应用就会锁屏并关闭设备管理器设定的窗口。执行的代码为:
除了这种防止被移除的标准技术外,Loapi还会了其他的自我保护机制。该木马可以从C&C服务器获取一个会给自己构成危险的app列表。如果列表中有应用安装成功或启动了,木马就会显示说检测到恶意软件,并提示用户删除该应用。
检测到恶意软件和提示用户删除的消息都是循环显示的,如果用户拒绝删除,消息就会重复出现指导用户同意删除应用。
分层架构
木马的架构如上图所示,细节如下:
1. 第一阶段,恶意应用会从assets文件夹加载一个文件,用base64解码该文件,用XOR解密该文件,而app签名hash值就是密钥。在以上复杂的操作后,一个含有payload的DEX文件就会通过ClassLoader加载起来。
2. 第二阶段,恶意应用会把关于设备信息的JSON代码发给C&C服务器https://api-profit.com。
3. 服务器会响应一个下面格式的命令:
4. Installs是一个必须下载和加载的moduleID列表,removes是要删除的module ID列表,domains是用作C&C服务器的域名列表, reservedDomains是预留的域名列表,hic是需要应酬应用图标的标志,dangerousPackages是为了自保护而要避免用户安装和启动的应用列表。
5. 第三阶段,就会下载和初始化这些模块。这些模块隐藏了所有的恶意功能。下面我们看看从C&C服务器获取的恶意模块。
广告模块
广告模块用户在用户设备上显示广告。也可以用来偷偷地提高收视率。
功能:
1. 展示视频广告和标题;
2. 打开指定的URL;
3. 在设备上创建快捷方式;
4. 显示通知;
5. 打开流行的社交网络,包括Facebook, Instagram, VK;
6. 下载安装其他应用。
从服务器接受的广告:
在处理任务的时候,应用会发送含有指定的用户代理的隐藏请求到web页 https://ronesio.xyz/advert/api/interim,然后会重定向到含有广告的页面。
SMS模块
SMS模块用于文本消息的不同操作。周期性地发送请求到C&C服务器来获取相关的设定和命令。
功能:
· 发送SMS消息到攻击者的服务器;
· 根据特定的任务回复收到的消息;
· 根据从C&C服务器获取的信息,发送特定内容的SMS消息到指定号码;
· 从收件箱中删除SMS消息,并根据从C&C服务器获取的掩饰来发送文件夹;
· 执行到URL的请求,运行响应页面指定的JS代码。
Web爬虫模块
用于含有WAP订单的web页面的隐藏代码执行,来订阅不同的服务。有时候手机运营商会发送文本消息来确认订阅。这种情况下,木马会用SMS模块的功能来回复指定内容。该模块也可以用于web页面爬虫。从服务器获取的web页面爬虫任务示例:
该模块与广告模块一起在24小时的实验期内尝试打开了28000个不同的URL。
代理模块
该模块是HTTP代理服务器的实现,攻击者可以用代理服务器来从受害者设备发送HTTP请求。这可以用来发起针对特定资源DDOS攻击。该模块还可以改变设备的网络连接。
挖矿
该模块可以用来执行Monero (XMR)加密货币挖矿。挖矿是通过下面的代码开启的。
代码参数:
· url – mining pool address, “stratum+tcp://xmr.pool.minergate.com:45560”
· this.user – 用户名, 随机从下面的列表中选择:
“[email protected]”, “[email protected]”, “[email protected]”, “[email protected]”, “[email protected]”, “[email protected]”, “[email protected]”, “[email protected]”, “[email protected]”, [email protected]
· password – 常量, “qwe”
与其他木马的联系
在调查中,我们发现了Loapi和Trojan.AndroidOS.Podec的潜在联系。
· 匹配C&C服务器IP地址。目前激活的Loapi C&C的地址是用5.101.40.6 和5.101.40.7的DNS解析的。
· 我们看到该IP地址解析的其他URL:该URL是用91.202.62.38解析的,如果我们分析该地址的DNS历史记录,可以发现:
· 2015年该IP地址解析的域名大多数用于Podec中。
· 这两种木马都用收集同样结构和内容的消息,并通过JSON格式发送给攻击者的服务器。JSON对象都含有“Param1”, “Param2”和PseudoId”域。在存储应用信息的库中查询发现,只有Podec和Loapi使用了这几个域。
· 同样的混淆方法。
· 同样的检测设备SU的方式。
· 同样的功能。
通过以上分析我们可以得出结论,Podec和Loapi来自同一网络犯罪集团。
结论
Loapi是恶意安卓应用的代表之一。恶意软件使用的攻击技术是最多的,木马可以利用用户手机订阅付费服务,发送SMS消息到任何号码,通过广告生成流量和挣钱,使用设备的计算能力来挖矿,在用户的设备上执行其他的网络行为。该恶意软件唯一没有用的功能就是侦查,但是根据木马的架构,可以随时增加该功能。
Ps
我们在测试机上安装了该恶意应用,2天后,电池变成了这样。
因为挖矿模块和持续地生成流量,对电池的破坏很大。
C&C服务器地址
ronesio.xyz (advertisement module) api-profit.com:5210 (SMS module and mining module) mnfioew.info (web crawler) mp-app.info (proxy module)
域名
恶意应用下载的web源: