导语:安卓全能木马Trojan.AndroidOS.Loapi,广告、SMS、挖矿、代理、爬虫,你能想到的功能,应有尽有。

简介

安卓智能手机上充斥着各种恶意应用,即使使用的是官方的应用商店Google Play,情况也是如此。现实中这种情况会变得更糟,因为很多人使用的是非官方的应用商店,应用商店中充斥着虚假应用,安全检查也很少。针对安卓操作系统的恶意软件传播并不限于非官方的应用商店,还包括恶意广告、垃圾短信等。在这些威胁中,我们发现一个恶意样本Trojan.AndroidOS.Loapi。该木马有一个复杂的模块结构,这就意味着可以做很多的恶意活动,包括加密货币挖矿、持续广告、DDOS攻击等。之前还没见过这种全能(jack of all trades)的恶意软件。

传播和感染

Loapi恶意软件家族的样本是通过广告传播的。当用户被广告重定向到攻击者的恶意web页时,就会下载恶意文件。发现了超过20个这样的资源,这些域名大多是主流的反病毒软件,还有一个著名的成人网站。如图1所示:

1513615864988431.jpg

Trojan.AndroidOS.Loapi安装成功后,应用会尝试获取设备的administrator权限,并且会循环请求直到用户同意为止。恶意软件还会检查设备有没有被root过,但是并不会使用root权限,很显然root权限在将来的某些模块中会用到。

171215-jack-of-all-trades-1.png

在获取了admin权限后,恶意应用会在菜单中隐藏图标,或根据伪装的应用类型模拟不同的反病毒活动。

171215-jack-of-all-trades-2.png

恶意软件的自保护

Loapi会尽一切可能来调用设备管理权限,如果用户想要收回这些权限,恶意应用就会锁屏并关闭设备管理器设定的窗口。执行的代码为:

171215-jack-of-all-trades-4.png

除了这种防止被移除的标准技术外,Loapi还会了其他的自我保护机制。该木马可以从C&C服务器获取一个会给自己构成危险的app列表。如果列表中有应用安装成功或启动了,木马就会显示说检测到恶意软件,并提示用户删除该应用。

171215-jack-of-all-trades-5.png

检测到恶意软件和提示用户删除的消息都是循环显示的,如果用户拒绝删除,消息就会重复出现指导用户同意删除应用。

分层架构

171215-jack-of-all-trades-6.png

木马的架构如上图所示,细节如下:

1. 第一阶段,恶意应用会从assets文件夹加载一个文件,用base64解码该文件,用XOR解密该文件,而app签名hash值就是密钥。在以上复杂的操作后,一个含有payload的DEX文件就会通过ClassLoader加载起来。

2. 第二阶段,恶意应用会把关于设备信息的JSON代码发给C&C服务器https://api-profit.com。

171215-jack-of-all-trades-7.png

3. 服务器会响应一个下面格式的命令:

171215-jack-of-all-trades-8.png

4. Installs是一个必须下载和加载的moduleID列表,removes是要删除的module ID列表,domains是用作C&C服务器的域名列表, reservedDomains是预留的域名列表,hic是需要应酬应用图标的标志,dangerousPackages是为了自保护而要避免用户安装和启动的应用列表。

5. 第三阶段,就会下载和初始化这些模块。这些模块隐藏了所有的恶意功能。下面我们看看从C&C服务器获取的恶意模块。

广告模块

广告模块用户在用户设备上显示广告。也可以用来偷偷地提高收视率。

171215-jack-of-all-trades-8-5.jpg

功能:

1. 展示视频广告和标题;

2. 打开指定的URL;

3. 在设备上创建快捷方式;

4. 显示通知;

5. 打开流行的社交网络,包括Facebook, Instagram, VK;

6. 下载安装其他应用。

从服务器接受的广告:

171215-jack-of-all-trades-9.png

在处理任务的时候,应用会发送含有指定的用户代理的隐藏请求到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页面爬虫任务示例:

171215-jack-of-all-trades-10.png

该模块与广告模块一起在24小时的实验期内尝试打开了28000个不同的URL。

代理模块

该模块是HTTP代理服务器的实现,攻击者可以用代理服务器来从受害者设备发送HTTP请求。这可以用来发起针对特定资源DDOS攻击。该模块还可以改变设备的网络连接。

挖矿

该模块可以用来执行Monero (XMR)加密货币挖矿。挖矿是通过下面的代码开启的。

171215-jack-of-all-trades-11.png

代码参数:

· 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解析的。

171215-jack-of-all-trades-12.png

· 我们看到该IP地址解析的其他URL:该URL是用91.202.62.38解析的,如果我们分析该地址的DNS历史记录,可以发现:

171215-jack-of-all-trades-13.png

· 2015年该IP地址解析的域名大多数用于Podec中。

· 这两种木马都用收集同样结构和内容的消息,并通过JSON格式发送给攻击者的服务器。JSON对象都含有“Param1”, “Param2”和PseudoId”域。在存储应用信息的库中查询发现,只有Podec和Loapi使用了这几个域。

· 同样的混淆方法。

· 同样的检测设备SU的方式。

· 同样的功能。

通过以上分析我们可以得出结论,Podec和Loapi来自同一网络犯罪集团。

结论

Loapi是恶意安卓应用的代表之一。恶意软件使用的攻击技术是最多的,木马可以利用用户手机订阅付费服务,发送SMS消息到任何号码,通过广告生成流量和挣钱,使用设备的计算能力来挖矿,在用户的设备上执行其他的网络行为。该恶意软件唯一没有用的功能就是侦查,但是根据木马的架构,可以随时增加该功能。

Ps

我们在测试机上安装了该恶意应用,2天后,电池变成了这样。

图片.png

因为挖矿模块和持续地生成流量,对电池的破坏很大。

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源:

图片.png

源链接

Hacking more

...