美文网首页
越狱-概述及工具使用

越狱-概述及工具使用

作者: king_jensen | 来源:发表于2019-01-01 13:37 被阅读10次

    通过iOS系统安全启动链漏洞,从而禁止掉信任链中负责验证的组件。拿到iOS系统最大权限ROOT权限.

    iOS系统安全启动链

    当启动一台iOS设备时,系统首先会从只读的ROM中读取初始化指令,也就是系统的引导程序(事实上所有的操作系统启动时都要经过这一步,只是过程略有不同)。这个引导ROM包含苹果官方权威认证的公钥,他会验证底层启动加载器(LLB)的签名,一旦通过验证后就启动系统。LLB会做一些基础工作,然后验证第二级引导程序iBoot。iBoot启动后,设备就可以进入恢复模式或启动内核。在iBoot验证完内核签名的合法性之后,整个启动程序开始步入正轨:加载驱动程序、检测设备、启动系统守护进程。这个信任链会确保所有的系统组件都有苹果官方写入、签名、分发,不能来自第三方机构。

    7D6BE2ABC685F6A9ED41D49E28BB0182.png

    越狱的工作原理正是攻击这一信任链。所有的越狱工具的作者都需要找到这一信任链上的漏洞,从而禁止掉信任链中负责验证的组件。拿到iOS系统最大权限ROOT权限.

    完美越狱&非完美越狱

    根据越狱的情况不同可以分为如下两种越狱:
    完美越狱
    所谓完美越狱就是破解iOS系统漏洞之后,每次系统重启都能自动调用注入的恶意代码,达到破坏安全验证,再次获得ROOT权限。
    非完美越狱
    所谓非完美越狱是指,越狱系统后,并没有完全破解安全链,有部分信息或功能应用不佳;比如;关机以后必须去连接越狱软件来引导开机;或者重启会导致越狱的失效;这样的越狱称为“不完美越狱”。

    安装插件

    Cydia:越狱应用商店
    软件源:
    1.PP助手:apt.25pp.com

    1. 威锋:apt.Feng.com
      常用插件:
      Apple File Conduit "2" 可以获得根目录权限。
      AppSync Unified 绕过签名检测
      adv-cmds 命令行工具
      OpenSSH 连接手机,进行远程控制, 或者传送文件。

    OpenSSH

    OpenSSH 是 SSH (Secure SHell) 协议的免费开源实现。 SSH协议可以用来进行远程控制, 或在计算机之间传送文件。

    一.连接手机

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


    7F62C18634C41FB0B2445B55A25D0477.png

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

    二.修改用户密码

    ROOT用户可以修改所有用户的密码
    $passwd 命令修改密码


    0DA4D08859E60FB3E41CB6C2ECE3F227.png

    $passwd 用户名


    063FF24672554017A0837F5038F266E6.png

    输入两次新密码,确认修改,因为是登录状态所以不用输入原始密码。

    三.OpenSSH登录过程

    登录过程:
    1、请求连接到iPhone手机
    2、手机将公钥发给Mac电脑
    3、Mac电脑通过收到的公钥加密登录密码
    4、iPhone手机利用私钥解密登录密码,是否允许登录


    9E7F998CF154C7B7AF8639231E8043A9.png

    中间人攻击:
    存在一种隐患.如果有人冒充服务器.将生成的虚假公钥 发给客户端.那么它将获得 客户端连接服务器的 密码


    B2FDFC1DC79F19C16B0B40E2F6EE425D.png
    服务器保护:
    1.客户端将第一次登录服务器得到的公钥保存在本地,key存在~/.ssh/known_hosts
    2.一般SSH服务器会将自己的KEY的HASH值公布在网站上。
    四.免密码登录

    免密码登录也称“公钥登录”,原理就是用户将自己的公钥储存在远程主机上。登录的时候,远程主机会向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来。远程主机用事先储存的公钥进行解密,如果成功,就证明用户是可信的,直接允许登录 不再要求密码。
    客户端在~/.ssh/目录下生成公钥 ssh-keygen 拷贝公钥给SSH服务器ssh-copy-id 用户名@服务器IP

    五.SSH其他操作

    删掉保存的服务器地址的key
    ssh-keygen –R 服务器IP地址(当SSH登录手机,手机就是服务器)

    know_hosts文件:用于保存SSH登录服务器所接受的key
    在系统~/.ssh 目录中保存

    ssh_host_rsa_key.pub文件:作为SSH服务器发送给连接者的key
    在系统/etc/ssh 目录中保存

    Config文件
    在~/.ssh 目录下创建一个config文件。内部可以配置ssh登录的别名。
    Host 别名
    Hostname IP地址
    User 用户名
    Port 端口号

    六.USB登录

    苹果有一个服务,叫usbmuxd,这个服务主要用于在USB协议上实现多路TCP连接.

    1.Python脚本端口映射:
    python tcprelay.py -t 22:12345
    将本地的12345端口映射到设备的TCP端口22.这样就可以通过本地的12345端口建立连接了。

    2.通过USB进行SSH连接

    ssh -p 12345 root@127.0.0.1
    ssh连接本地的12345,由于做了端口映射,所以会通过usb连接对面设备的22端口。

    3.Iproxy端口映射

    安装libimobiledevice工具
    $ brew install libimobiledevice

    映射端口
    iproxy 12345 22

    七.文件拷贝

    源文件 —>目标文件
    wifi拷贝:
    Scp 123.txt root@192.168.12.12:~/
    Scp root@192.168.12.12:~/123.txt .
    usb拷贝:
    Scp -P 12345 123.txt root@127.0.0.1:~/
    Scp -P 12345 root@127.0.0.1:~/123.txt .

    相关文章

      网友评论

          本文标题:越狱-概述及工具使用

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