越狱:通过分析iOS系统的代码,找出iOS系统安全启动链漏洞,从而禁止掉信任链中负责验证的组件。拿到iOS系统最大权限ROOT权限.
前期了解
根据越狱程度的不同,分为不完美越狱和完美越狱。
不完美越狱
越狱系统后,并没有完全破解安全链,有部分信息或功能应用不佳;比如;关机以后必须去连接越狱软件来引导开机;或者重启会导致越狱的失效;这样的越狱称为“不完美越狱”。完美越狱
破解iOS系统漏洞之后,每次系统重启都能自动调用注入的恶意代码,达到破坏安全验证,再次获得ROOT权限。常用插件
Apple File Conduit "2"
AppSync Unified
adv-cmds
OpenSSH
SSH是一种网络协议,用于计算机之间的加密登录、远程控制和传递文件的。
OpenSSH是一款软件或者是插件,通过在cydia
中进行安装(只限于iOS8和iOS9的越狱设备)。
-
登录原理
将手机作为服务器,电脑作为客户端,当电脑发送请求到手机之后,手机将自己的生成的公钥拿给电脑,电脑将通过公钥加密后的密码发送给手机,手机用私钥解密后验证密码登录密码。
-
中间人攻击
黑客冒充拦截手机给电脑传递公钥的工程,并劫持公钥,然后将自己生成的公钥传递给电脑,并截取电脑通过公钥加密的密码,用自己的私钥完成解密,然后用截取后的手机公钥加密这个密码发送至手机,以完成登录操作。
免密登录(公钥登录)原理
将自己设备的公钥放置服务器,接收服务器返回的随机字符串,用自己的私钥加密后发至服务器,服务器用公钥解密验证。如果成功,便不需要密码。
连接手机的几种操作。
- SSH普通登录
将手机和电脑置于同一局域网的条件下,查看手机的IP
地址。通过命令ssh root@xxxxxx
即可连接。(红框中便是手机传递过来的公钥。)默认的root
用户的登录密码是alpine
公钥保存在根目录的
.ssh
文件夹中的known_hosts
文件中。可通过
ssh-keygen -R 192.168.0.131
删除之前保存的公钥。通过cat known_hosts
命令查看这个文件,可发现其对应IP地址所保存的公钥信息。
手机上查看相关公钥信息。用cat
命令查看公钥信息,与之前电脑保存的公钥信息比对,会发现是一样的。当连接时两者的公钥不一致,便会认为是出现了中间人攻击。
- 修改密码
//修改root密码:
passwd
//修改mobile密码
passwd for mobile
通过ssh mobile@xxxxx
连接手机。通过passwd
修改mobile
的密码。这里需要你输入旧密码。而当你用root
权限来修改时便不再需要。
-
免密登录
1、生成一对公私钥。
2、拷贝公钥到手机。
ssh-copy-id root@192.168.0.103
3、重新登录。即可成功。
ssh root@192.168.0.103
查看手机上保存的key
。
- USB登录设备
我们手机的默认端口号是22。所以之前的
ssh
连接也可以改为ssh -p 22 root@xxxxx
。通过USB连接,我们首先要做的便是端口映射,将本地的端口映射到22号端口上。
补充:127.0.0.1
:本地回环地址。当ping
这个地址无法成功时,说明本地网卡会有问题。
1、tython
脚本映射端口号。进入到py
文件所在文件夹。将手机的端口号22
映射到本地的端口号12345
(随便取).
python tcprelay.py -t 22:12345
也可以通过
brew install libimobiledevice
下载工具,通过以下命令进行端口映射:
iproxy 12345 22
2、登录
ssh root@127.0.0.1 -p 12345
or
ssh root@localhost -p 12345
如果这里尚未成功,出现中间人攻击的示错,可以查看
known_host
文件中删除local_host
所对应的公钥。
- 给设备设置别名登录。
在电脑~/.ssh
中配置config
文件。如下:
保存后可以直接ssh 5s
完成设备的连接登录。
配置以上命令,可直接使用
ssh usb
完成usb
方式的设备连接登录。
连接手机后的其它操作
- 拷贝文件至手机:
copyTxt.txt
是电脑端的文件地址。
192.168.0.152
手机ip。
~/
:手机上的地址。
scp copyTxt.txt root@192.168.0.152:~/
- 拷贝文件至电脑:
//通过局域网拷贝
scp root@192.168.0.152:~/iphone.txt .
//通过USB拷贝。
scp -P 12345 root@localhost:~/copy.txt .