美文网首页breakiOS
04-iOS逆向工程使用SSH通过USB远程登录越狱iPhone

04-iOS逆向工程使用SSH通过USB远程登录越狱iPhone

作者: hejunbinlan | 来源:发表于2018-01-28 19:55 被阅读400次
    前言

    iOS默认是使用22端口进行SSH通信,采用的是TCP协议,所以要求客户端(Mac)和服务器端(iPhone)在同一局域网中,如在同一WiFi中。
    为了解除这种限制和加快传输速度,也可以通过USB连接的方式进行SSH登录。

    实现原理

    usbmuxd是USB - TCP的转换服务,这个服务在Mac端是由
    /System/Library/PrivateFrameworks/MobileDevice.framework/Resources/usbmuxd提供的, 开机自动启动。它创建了一个Unix Domain Socket 在 /var/run/usbmuxd,usbmuxd服务程序监控iPhone在USB口上的连接, 当它监控到iPhone以用户模式连接到USB, (即recovery模式), usbmuxd服务程序就会连接到这个/var/run/usbmuxd的TCP端口, 并开始成为一个USB - TCP 请求转发器。那么,如果想编写个第三方程序与iphone进行通信,实现类似iTunes的功能, 你的程序可以通过usbmuxd! 建立一个TCP连接到/var/run/usbmuxd端口, 根据协议发送对应的请求包, usbmuxd服务会将请求转发到USB的iPhone上
    Mac上有个服务程序usbmuxd(它会开机自动启动),可以将Mac的数据通过USB传输到iPhone。此程序路径:
    /System/Library/PrivateFrameworks/MobileDevice.framework/Resources/usbmuxd。
    usbmuxd官网软件包中提供了Python版本的实现。在python-client目录下。点击下载usbmuxb,单独保存python-client目录下的tcprelay.py和usbmux.py两个文件,把它们放到同一个目录下;

    image.png

    此命令表示将本地的8709端口转发到远端iOS设备22端口中。
    其中-t参数表示能够同时支持多个SSH连接。
    ssh登录:
    ssh -p 8709 root@127.0.0.1

    • 原理图如下:
    image.png

    相关文章

      网友评论

        本文标题:04-iOS逆向工程使用SSH通过USB远程登录越狱iPhone

        本文链接:https://www.haomeiwen.com/subject/xoguaxtx.html