美文网首页
iOS-逆向21-越狱&OpenSSH

iOS-逆向21-越狱&OpenSSH

作者: 一亩三分甜 | 来源:发表于2021-06-28 20:58 被阅读0次

    《iOS底层原理文章汇总》
    上一篇文章《iOS-逆向20-微信抢红包界面项目和越狱》介绍了微信项目(自动抢红包)和越狱,本文介绍越狱和OpenSSH。

    1.源

    蜜蜂源:apt.cydiami.com
    雷锋源:apt.abcydia.com
    Bingner:apt.bingner.com

    2.安装OpenSSH是为了让电脑能登录手机,手机服务端,电脑客户端

    连接手机
    通过插件使用Wifi连接手机:ssh 用户名@手机IP地址
    $ssh root@192.168.31.231
    默认密码:alpine
    首次连接会提示


    image

    iOS 下两个用户:Root、mobile
    Root用户:最高权限用户,可以访问任意文件
    Mobile用户:普通用户,只能访问改用户目录下文件/var/Mobile


    image
    image
    ps -A查看当前进程
    查看微信进程
    ps -A |grep WeChat
    image
    以上登录的是root用户,下面登录mobile用户
    image
    image

    iFunBox只能访问mobile用户的Media文件夹


    图片.png

    修改账户登录密码
    ROOT用户可以修改所有用户的密码
    passwd 命令修改密码passwd 用户名
    输入两次新密码,确认修改,因为是登录状态所以不用输入原始密码。

    image

    3.SSH协议

    SSH
    SSH是一种网络协议,用于计算机之间的加密登录。
    1995年,芬兰学者Tatu Ylonen设计了SSH协议,将登录信息全部加密,成为互联网安全的一个基本解决方案,迅速在全世界获得推广,目前已经成为Linux系统的标准配置。
    OpenSSH
    它是一款软件,应用非常广泛。
    中间人攻击(Man-in-the-middle attack)
    存在一种隐患.如果有人冒充服务器.将生成的虚假公钥 发给客户端.那么它将获得 客户端连接服务器的 密码


    image
    image

    为了防止中间人攻击,Mac在向iPhone首次发起连接请求时,会收到一个iPhone作为服务端生成的公钥Rsa(1024位)的哈希值,Mac拿到这个哈希值后,和服务端官网上贴出的哈希值对比,是否一致,第一次登录的时候用肉眼匹配下,哈希值是否一致,故可以有效避免中间人冒充服务器进行攻击
    保存公钥时对比哈希值,为了避免每次都去比对,在本地RSA的key和iP地址进行了绑定保存,将来每次登录时对比下公钥是不是一个,若不是会提醒可能是中间人攻击了,iP地址或RSAkey变了都会有警告提醒


    image
    image
    image
    iP地址和RAS的key保存在/Users/cloud/.ssh/known_hosts文件中,再次登录时不会再有保存提示
    image
    iPhone中也会有这个key,在/etc/ssh/ssh_host_rsa_key.pub文件中
    image
    同样的iP地址,key发生变化,就是中间人攻击

    4.免密码登录&公钥登录

    1、用户将自己的公钥存储在服务器iPhone上
    2、登录的时候服务器iPhone发送一个随机的字符串
    3、Mac电脑通过私钥加密字符串
    4、iPhone手机利用客户端的公钥解密字符串
    ssh-keygen


    image

    拷贝到iPhone:ssh-copy-id root@192.168.11.64
    ssh root@192.168.11.64免密登录成功
    拷贝到手机里面的公钥存储在手机的~/.ssh/authorized_key文件中


    image
    拷贝进手机的公钥和Mac上生产的id_rsa.pub是同一个key
    图片.png
    image

    5.配置快速连接手机

    I.在/Users/cloud/.ssh目录下的config文件中配置快速连接手机


    image
    image

    ssh连接的默认端口是22号端口

    6.USB连接

    Xcode为什么可以用USB进行连接手机调试,因为System/Library/PrivateFrameworks/MobileDevice.framework/Resources目录下有一个usbmuxd文件,提供了USB接口登录
    ssh默认发送请求是22号端口

    I.先将ssh默认发送请求的端口22和本地端口12345进行映射


    image
    图片.png

    拔线连接会断开


    图片.png
    重新USB连接8P手机
    ssh -p 12345 root@localhost会提示中间人攻击,为什么呢?
    image

    中间人攻击是Mac电脑发出的警告,Mac中的.ssh目录下的know_hosts文件中会记录iP地址(端口号)和服务端iPhone返回的公钥,iP地址不变的情况下,都是localhost,换了一个RSA,中间人攻击了。


    图片.png
    若想登录成功,则干掉know_hosts中的localhost这一条,方能登录成功,登录成功后know_hosts会重新添加一条localhost的绑定
    image

    7.USB使用shell脚本快捷登录

    I.配置端口映射,/Users/cloud/CloudShell目录下新建usbConnect.sh文件,配置python /Users/cloud/CloudShell/python-client/tcprelay.py -t 22:12345,执行source ~/.zshrc
    II.配置USB快速登录,localhost只能绑定一台手机ssh -p 12345 root@localhost,另一台手机不能再绑定localhost进行登录,但可用127.0.0.1进行登录
    ssh -p 12345 root@127.0.0.1

    image
    127.0.0.1 ----> iPhone6 --> ssh -p 12345 root@127.0.0.1
    localhost ----> iPhone8p --> ssh -p 12345 root@localhost

    在/Users/cloud/CloudShell目录下新建6.sh8p.sh分别配置ssh -p 12345 root@127.0.0.1和ssh -p 12345 root@localhost

    image
    image

    III.快速通过USB连接手机,两台手机通过脚本快速登录,三个以上用WiFi登录
    A.执行sh usbConnect.sh端口映射


    image

    B.sh 6.sh/sh 8p.sh


    image

    8.端口映射工具libimobiledevice

    I.安装 brew install libimobiledevice


    图片.png

    II.端口映射iproxy 12345 22,和python脚本进行端口映射相反,左边表示客户端Mac的端口,右边22表示ssh默认发送请求的端口号


    image
    python脚本中是用了Mac自带工具usbmuxd文件,进行socket连接
    III.执行终端命令或脚本进行连接
    图片.png

    相关文章

      网友评论

          本文标题:iOS-逆向21-越狱&OpenSSH

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