对抗恶意软件的斗争永远是为了威胁研究人员而结束,并且在移动恶意软件领域,这场战斗的加速速度变得更加复杂,因为恶意软件作者继续创造新的混淆方式。

Trojan.Dropper.realShell是一个恶意APK,它将另一个APK丢弃到Android设备上。这样做的方式是通过一种感兴趣的混淆方法,激起了我们的注意力。

Trojan.Dropper.realshell使用存储在资产文件夹中的几个文件来构建另一个APK。它通过从资产文件夹中找到的文件读取,然后使用扩展名将它们写入单个文件中来完成此操作。

.lock文件是一个androidquaryAccessfile.这意味着它能够从一个文件中读取行,然后将它们以随机或手动分配给另一个文件。例如,假设我们有一个名为Read.txt的文件,其中包含三行文本,另一个文件名为write.txt,它是一个随机访问文件。

如果read.txt中的三行是冰淇淋,我喜欢按此顺序从read.txt读取这些行,然后以不同的顺序将它们写入write.txt我喜欢冰淇淋。

1

资产文件夹中的文件以手动分配的序列写入.lock文件。通过使用已插入代码中的复杂算法的十六进制密钥选择文件写入.lock文件的序列。使用的十六进制密钥是通过使用父恶意应用程序的包名生成的。

2

函数用于从包名中生成十六进制密钥

3.

生成的hex密钥在logcat中显示

一切都写了一切,从.lock文件构建一个新的APK。此方法会使恶意应用程序的意图组合使用。

然而,新建的APK有一些奇怪的东西。它没有一个清单文件或应用程序运行所需的其他资源。清单文件包含有关应用程序的基本信息,以便它运行。

资源是应用中使用的图像,字符串和库等的东西。那么新建的APK如何做任何事情?它使用构建它的父APK中的清单文件和资源。它通过使用已知的Android类来实现这一点dexclassloader.这允许未安装的代码在父应用程序中执行。

父APK Morphs进入一个完全不同的应用程序,该应用程序具有新的代码,但使用存储在父APK中的相同资源来执行另一个任务。那么这个新建的应用程序做了什么?它构建了另一个APK,其中包含已知的PUP.RISKPAY.SKYMOBI的代码,阴暗的短信支付SDK。

更具体地,它通过使用存储在父APK中的特殊库来实现这一点。

库是可由应用程序执行的可共享源代码的容器。通过在几个这些特殊库中执行代码,它构建了新的PACH.RISKPAY.SKYMOBI应用程序。如果您查看其中一个库的十六进制代码,则清楚其字符串内部发生了什么:

解密.malloc.memset.free.pluginsms_encrypt.java_com_skymobi_pay_common_util_localdatadecty_encrypt.strcpy。

在那里,它是纯文本,Skymobi被解密并复制到自己的APK中。Skymobi APK被删除到名为“RealShell”的Android设备上的文件夹中。这个新的APK与自己的清单文件和所有其他资源完全奏贯,以便它独立运行。

1

新APK构建的方式非常有趣,然后使用父APK的资源。这种方法肯定可以用于构建除了小狗之外的更有害的潮流。多年来,PC上的恶意软件已经使用了这样的混淆策略。

在移动恶意软件中的混淆是什么新鲜事,但策略变得更加复杂。这只是表明,在恶意软件行业中有更多的重点。

随着越来越多的人用平板电脑,智能手机和其他Android设备替换PC,我们完全期待在移动恶意软件上更复杂混淆的这种趋势继续。

它变得越复杂,对用户而言的威胁越多。确保通过安装扫描仪保持保护,如必威平台APPMalwarebytes反恶意软件移动,在您的Android设备上。保持安全!