首页
社区
课程
招聘
[原创]执行Lua脚本的Android恶意程序
发表于: 2015-5-26 19:27 9179

[原创]执行Lua脚本的Android恶意程序

2015-5-26 19:27
9179
AVL移动安全团队近期发现一种会执行lua脚本的Android恶意程序,该程序会在本地代码创建Lua环境,联网下载脚本、运行,能够回调Java层代码实现私发短信、添加书签等操作,影响手机的正常体验。

Lua是一个小巧的脚本语言。其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。它作为一个强大、轻量的嵌入式脚本语言,可供任何需要的程序使用。Lua由标准C编写而成,几乎在所有操作系统和平台上都可以编译、运行。Lua脚本可以很容易的被C/C++ 代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用。

一个完整的Lua解释器不过200k,在目前所有脚本引擎中,Lua的速度是最快的。这一切都决定了Lua是作为嵌入式脚本的最佳选择。很多应用程序、游戏使用Lua作为自己的嵌入式脚本语言,以此来实现可配置性、可扩展性。

Android平台直接以JNI方式调用Lua解析引擎的接口十分麻烦,但目前已有开源项目AndroLua、LuaJava对这些JNI接口进行了很好的封装。AndroLua是一个包含了LuaJava的Android平台的Lua解析器,它提供一系列映射到Lua C实现函数的Java接口。

木马分析

该类型木马往往隐藏在“午夜视频”等极具低俗诱惑的APP中,诱惑用户下载安装使用,具有大范围传播的可能。


程序运行时,会加载libMS.so,而libMS.so加载Lua脚本前,会先解密msb文件,然后还添加一个mobile库,里面注册了sendsms、addbookmark等方法,这些函数是通过回调Java代码实现。运行流程详见图1。


图1 Lua环境

So中创建Lua环境

程序运行后,会将assets/module.zip文件拷贝到”/script/module/”目录下,并执行解压缩操作。之后会创建Lua接口指针,加载Lua通用扩展库(package、table、io、os、string、math、debug、md5、json、socket、mime、mobile、tea)。而mobile库会注册sendsms、addbookmark、getactiveapntype、messagebox、querymessageboxvalue、cleansmsreceiver、popsmsreceiver等方法。

图2 lua环境初始化



图3 要加载的lualibs



图 4 mobile库所声明注册的方法

解密运行smtm.msb脚本,获取相关配置信息

将assets/smtm.msb文件拷贝到”/script/cache/”目录下,解密获取一个Lua脚本,执行后返回smtmconfig和uid,并添加到一Vector容器中。从该容器中读出smtmconfig字段所对应的数据,解析获取相关配置。

图5 smtm.msb文件所对应的Lua脚本

登录远程服务器,更新配置信息、执行相应操作

运行LoadingActivity这个主Activity,联网smtmLoginUrl上传用户手机固件信息,解析返回值,并执行获取的msb脚本。其中smtmReg所对应的数据为发送注册短信的号码、smtmScan存放要拦截来信号码。

图6 解密运行smtmurl.msb,返回联网上传参数




图7 执行获取的msb脚本

屏蔽来自指定号码的短信

监听来信,屏蔽来自指定号码的短信,影响正常短信的接收,可能会导致用户资金损失。
图 8解密smtmScan对应的键值,与来信号码进行比对



图9屏蔽短信

后门程序,私自发送短信、添加书签等


该程序在so中搭建好了Lua环境,且在运行过程中会下载加密的Lua脚本即msb文件并执行。而mobile库所对应的函数中,注册了sendsms、addbookmark、getactiveapntype、messagebox、querymessageboxvalue、cleansmsreceiver、popsmsreceiver等方法。当联网下载的脚本会调用mobile.sendsms或mobile.addbookmark方法时,会回调java层的相关代码执行发送短信、添加书签等操作:



图10 回调Java层代码发送短信

图 11添加书签

目前AVL Pro已能识别查杀该木马家族。

AVL移动安全团队专注于移动互联网安全技术研究及反病毒引擎研发,提供强大的移动安全解决方案。欢迎关注我们的微信公众号AVLTeam,我们会定期发布一些移动安全相关资讯,希望能够对您有所帮助。 转载请注明来源:http://blog.avlyun.com/?p=2280

文章分享地址:

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 248
活跃值: (29)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
卖瓜子花生。
2015-5-26 19:43
0
雪    币: 115
活跃值: (23)
能力值: (RANK:20 )
在线值:
发帖
回帖
粉丝
3
感谢分享
2015-5-26 20:14
0
雪    币: 97
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
好感谢分享
2015-5-26 21:47
0
游客
登录 | 注册 方可回帖
返回
//