越狱概述、SSH、Wi-Fi登录、USB登录、拷贝、应用瘦身

一、越狱概述

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

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

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

  • 完美越狱&非完美越狱

    • 完美越狱:所谓完美越狱就是破解iOS系统漏洞之后,每次系统重启都能自动调用注入的恶意代码,达到破坏安全验证,再次获得ROOT权限。
    • 非完美越狱:所谓非完美越狱是指,越狱系统后,并没有完全破解安全链,有部分信息或功能应用不佳;比如;关机以后必须去连接越狱软件来引导开机;或者重启会导致越狱的失效;这样的越狱称为“不完美越狱”。
  • 添加源:Cydia、软件源、编辑、添加、输入地址、添加源
    PP助手:apt.25pp.com 可以用
    威锋:apt.Feng.com 有问题了


    越狱概述、SSH、Wi-Fi登录、USB登录、拷贝、应用瘦身_第1张图片
    越狱概述、SSH、Wi-Fi登录、USB登录、拷贝、应用瘦身_第2张图片
  • 安装插件:Cydia、搜索、输入需要安装的插件
    越狱概述、SSH、Wi-Fi登录、USB登录、拷贝、应用瘦身_第3张图片
插件1、Apple File Conduit "2" 获取访问根目录权限
越狱概述、SSH、Wi-Fi登录、USB登录、拷贝、应用瘦身_第4张图片

iFunBox
没有安装Apple File Conduit "2"之前用iFunBox打开

越狱概述、SSH、Wi-Fi登录、USB登录、拷贝、应用瘦身_第5张图片
安装 Apple File Conduit "2"之后用 iFunBox打开
越狱概述、SSH、Wi-Fi登录、USB登录、拷贝、应用瘦身_第6张图片
没有安装 Apple File Conduit "2"之前的 Media是安装 Apple File Conduit "2"之后的 Device/User/Media

插件2、AppSync Unified 绕过签名检测。如果没有安装这个插件,越狱的.ipa,没法安装到手机上
越狱概述、SSH、Wi-Fi登录、USB登录、拷贝、应用瘦身_第7张图片
越狱概述、SSH、Wi-Fi登录、USB登录、拷贝、应用瘦身_第8张图片
越狱概述、SSH、Wi-Fi登录、USB登录、拷贝、应用瘦身_第9张图片
越狱概述、SSH、Wi-Fi登录、USB登录、拷贝、应用瘦身_第10张图片
越狱概述、SSH、Wi-Fi登录、USB登录、拷贝、应用瘦身_第11张图片
附加调试:打开任何一个项目
越狱概述、SSH、Wi-Fi登录、USB登录、拷贝、应用瘦身_第12张图片
越狱概述、SSH、Wi-Fi登录、USB登录、拷贝、应用瘦身_第13张图片

二、连接手机

通过OpenSSH插件可以连接手机,进行远程控制, 或者传送文件。

  • OpenSSH插件
    越狱概述、SSH、Wi-Fi登录、USB登录、拷贝、应用瘦身_第14张图片
越狱概述、SSH、Wi-Fi登录、USB登录、拷贝、应用瘦身_第15张图片
  • iOS 下两个用户:root、mobile

    • root用户:最高权限用户,可以访问任意文件
    • mobile用户:普通用户,只能访问改用户目录下文件/var/mobile(Device/var/mobile)
  • 修改账户登录密码

    • root用户可以修改所有用户的密码,但是mobile用户不能就修改root用户的密码
    • $passwd 命令修改密码
      • $passwd 用户名 eg:$passwd mobile 修改mobile的密码
      • $passwd 修改root的密码
      • 输入两次新密码,确认修改,因为是登录状态所以不用输入原始密码。

三、OpenSSH

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

  • SSH

SSH是一种网络协议,用于计算机之间的加密登录。
1995年,芬兰学者Tatu Ylonen设计了SSH协议,将登录信息全部加密,成为互联网安全的一个基本解决方案,迅速在全世界获得推广,目前已经成为Linux系统的标准配置。

  • OpenSSH

它是一款软件,应用非常广泛。

  • 中间人攻击(Man-in-the-middle attack)

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

SSH解决中间人攻击的方案:公钥指纹(公钥的hash值)。客户端第一次链接的时候,服务器返回客户端公钥和公钥的hash值。客户端保存公钥和公钥的hash值。中间人攻击的时候,客户端对比公钥的hash值如果不一致,就知道有中间人攻击了。服务端对比同一个ip的公钥的hash值不一样,就知道有中间人攻击。公钥指纹是根据客户端ip地址来保存的。一般是直接把这个hash值公布在网站上面。

  • SSH登录过程

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

越狱概述、SSH、Wi-Fi登录、USB登录、拷贝、应用瘦身_第16张图片
越狱概述、SSH、Wi-Fi登录、USB登录、拷贝、应用瘦身_第17张图片
  • SSH其他操作
  • 删掉保存的服务器地址的key
    • ssh-keygen –R 服务器IP地址(当SSH登录手机,手机就是服务器),eg:ssh-keygen -R 192.168.254.240
  • know_hosts文件:用于保存SSH登录服务器所返回的key
    • 在系统~/.ssh目录中保存
      越狱概述、SSH、Wi-Fi登录、USB登录、拷贝、应用瘦身_第18张图片
  • ssh_host_rsa_key.pub文件:作为SSH服务器发送给连接者的key

    • 在系统/etc/ssh目录中保存
      越狱概述、SSH、Wi-Fi登录、USB登录、拷贝、应用瘦身_第19张图片
      越狱概述、SSH、Wi-Fi登录、USB登录、拷贝、应用瘦身_第20张图片
  • Config文件

    • 在~/.ssh 目录下创建一个config文件。内部可以配置ssh登录的别名。
      • Host 别名
      • HostName IP地址
      • User 用户名
      • Port 端口号(端口默认是22)

取别名登录
越狱概述、SSH、Wi-Fi登录、USB登录、拷贝、应用瘦身_第21张图片
  • 免密码登录
  • 免密码登录也称“公钥登录”,原理就是用户将自己的公钥储存在远程主机上。登录的时候,远程主机会向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来。远程主机用事先储存的公钥进行解密,如果成功,就证明用户是可信的,直接允许登录 不再要求密码。

  • 客户端在~/.ssh/目录下生成公钥 $ ssh-keygen
    如果直接enter/Return键,就默认生成在/Users/dengyazhouPro/.ssh/(~/.ssh/)目录下,名为id_rsa的文件和名为id_rsa.pub的文件。
    由于需要把id_rsa.pub文件拷贝到手机上,所以id_rsa.pub文件必须在电脑的~/.ssh/目录下,否则拷贝失败/usr/bin/ssh-copy-id: ERROR: No identities found

    越狱概述、SSH、Wi-Fi登录、USB登录、拷贝、应用瘦身_第22张图片

    如果输入了/Users/dengyazhouPro/Desktop/abc,就生成在/Users/dengyazhouPro/Desktop/目录下,名为abc的文件和abc.pub的文件。
    越狱概述、SSH、Wi-Fi登录、USB登录、拷贝、应用瘦身_第23张图片

  • 拷贝公钥给SSH服务器 $ssh-copy-id 用户名@服务器IP

    越狱概述、SSH、Wi-Fi登录、USB登录、拷贝、应用瘦身_第24张图片
    保存在了手机上~/.ssh目录下authorized_keys文件中,如果把authorized_keys文件删除了,就又需要输入密码了
    越狱概述、SSH、Wi-Fi登录、USB登录、拷贝、应用瘦身_第25张图片
    公钥和私钥如果输入了密码,免密登录的时候就需要公钥和私钥的密码
    越狱概述、SSH、Wi-Fi登录、USB登录、拷贝、应用瘦身_第26张图片

  • 注意:如果配置了之后,还需要输入密码. 需要给 authorized_keys 上一个 644或777 权限

四、USB登录

苹果有一个服务,叫usbmuxd,这个服务主要用于在USB协议上实现多路TCP连接.
在Mac电脑的/System/Library/PrivateFrameworks/MobileDevice.framework/Resources目录下 usbmuxd

  • Python脚本端口映射:
    • python tcprelay.py -t 22:12345
      • 将设备的TCP端口22映射到本地的12345端口.这样就可以通过本地的12345端口建立连接了。
        越狱概述、SSH、Wi-Fi登录、USB登录、拷贝、应用瘦身_第27张图片
  • 通过USB进行SSH连接
    • ssh -p 12345 [email protected]ssh -p 12345 root@localhost
      • ssh连接本地的12345,由于做了端口映射,所以会通过usb连接对面设备的22端口。
  • Iproxy端口映射
    • 安装libimobiledevice工具

      • $ brew install libimobiledevice
    • 映射端口

      • iproxy 12345 22
        越狱概述、SSH、Wi-Fi登录、USB登录、拷贝、应用瘦身_第28张图片

五、拷贝

拷贝的时候是否需要先登录呢?不需要登录哦,登录之后也可以拷贝,不存在端口占用的问题

  • USB拷贝、p是大写
    scp -P 12345 ~/Desktop/123.text root@localhost:~/ 拷贝文件,电脑拷贝到手机
    scp -P 12345 root@localhost:~/123.text ~/Desktop/ 拷贝文件,手机拷贝到电脑,就换个前后位置,左边拷右边
    越狱概述、SSH、Wi-Fi登录、USB登录、拷贝、应用瘦身_第30张图片

    scp -P 12345 -r 123 [email protected]:~/ 拷贝文件夹,加个-r
    越狱概述、SSH、Wi-Fi登录、USB登录、拷贝、应用瘦身_第31张图片

六、应用瘦身

  • 从AppStore下载的App其实是已经瘦过身的
  • 从越狱市场下载的.ipa其实是没有瘦身的

越狱概述、SSH、Wi-Fi登录、USB登录、拷贝、应用瘦身_第32张图片

显示包内容
越狱概述、SSH、Wi-Fi登录、USB登录、拷贝、应用瘦身_第33张图片

Keep拷贝出来。 lipo Keep -thin arm64 -output keeparm64
越狱概述、SSH、Wi-Fi登录、USB登录、拷贝、应用瘦身_第34张图片

删除Keep,然后把keeparm64重命名为Keep,再把Keep拷贝到最开始显示包内用的地方,覆盖原来的Keep
越狱概述、SSH、Wi-Fi登录、USB登录、拷贝、应用瘦身_第35张图片

zip -ry Keep.ipa Payload 压缩Payload
越狱概述、SSH、Wi-Fi登录、USB登录、拷贝、应用瘦身_第36张图片

用Xcode,安装Keep.ipa。方法如上 插件2


越狱概述、SSH、Wi-Fi登录、USB登录、拷贝、应用瘦身_第37张图片

越狱概述、SSH、Wi-Fi登录、USB登录、拷贝、应用瘦身_第38张图片

你可能感兴趣的:(越狱概述、SSH、Wi-Fi登录、USB登录、拷贝、应用瘦身)