通過iOS系統(tǒng)安全啟動鏈漏洞繁涂,從而禁止掉信任鏈中負責(zé)驗證的組件盹靴。拿到iOS系統(tǒng)最大權(quán)限ROOT權(quán)限.
iOS系統(tǒng)安全啟動鏈
當(dāng)啟動一臺iOS設(shè)備時炸茧,系統(tǒng)首先會從只讀的ROM中讀取初始化指令,也就是系統(tǒng)的引導(dǎo)程序(事實上所有的操作系統(tǒng)啟動時都要經(jīng)過這一步稿静,只是過程略有不同)梭冠。這個引導(dǎo)ROM包含蘋果官方權(quán)威認證的公鑰,他會驗證底層啟動加載器(LLB)的簽名改备,一旦通過驗證后就啟動系統(tǒng)控漠。LLB會做一些基礎(chǔ)工作,然后驗證第二級引導(dǎo)程序iBoot悬钳。iBoot啟動后盐捷,設(shè)備就可以進入恢復(fù)模式或啟動內(nèi)核。在iBoot驗證完內(nèi)核簽名的合法性之后默勾,整個啟動程序開始步入正軌:加載驅(qū)動程序碉渡、檢測設(shè)備、啟動系統(tǒng)守護進程母剥。這個信任鏈會確保所有的系統(tǒng)組件都有蘋果官方寫入滞诺、簽名、分發(fā)环疼,不能來自第三方機構(gòu)习霹。
越獄的工作原理正是攻擊這一信任鏈。所有的越獄工具的作者都需要找到這一信任鏈上的漏洞炫隶,從而禁止掉信任鏈中負責(zé)驗證的組件淋叶。拿到iOS系統(tǒng)最大權(quán)限ROOT權(quán)限.
完美越獄&非完美越獄
根據(jù)越獄的情況不同可以分為如下兩種越獄:
完美越獄
所謂完美越獄就是破解iOS系統(tǒng)漏洞之后,每次系統(tǒng)重啟都能自動調(diào)用注入的惡意代碼等限,達到破壞安全驗證爸吮,再次獲得ROOT權(quán)限芬膝。
非完美越獄
所謂非完美越獄是指,越獄系統(tǒng)后形娇,并沒有完全破解安全鏈锰霜,有部分信息或功能應(yīng)用不佳;比如桐早;關(guān)機以后必須去連接越獄軟件來引導(dǎo)開機癣缅;或者重啟會導(dǎo)致越獄的失效;這樣的越獄稱為“不完美越獄”哄酝。
安裝插件
Cydia:越獄應(yīng)用商店
軟件源:
1.PP助手:apt.25pp.com
- 威鋒:apt.Feng.com
常用插件:
Apple File Conduit "2" 可以獲得根目錄權(quán)限友存。
AppSync Unified 繞過簽名檢測
adv-cmds 命令行工具
OpenSSH 連接手機,進行遠程控制陶衅, 或者傳送文件屡立。
OpenSSH
OpenSSH 是 SSH (Secure SHell) 協(xié)議的免費開源實現(xiàn)。 SSH協(xié)議可以用來進行遠程控制搀军, 或在計算機之間傳送文件膨俐。
一.連接手機
通過插件使用Wifi連接手機:ssh 用戶名@手機IP地址
$ssh root@192.168.31.231
默認密碼:alpine
iOS 下兩個用戶:Root、mobile
Root用戶:最高權(quán)限用戶罩句,可以訪問任意文件
Mobile用戶:普通用戶焚刺,只能訪問改用戶目錄下文件/var/Mobile
二.修改用戶密碼
ROOT用戶可以修改所有用戶的密碼
$passwd 命令修改密碼
$passwd 用戶名
輸入兩次新密碼,確認修改门烂,因為是登錄狀態(tài)所以不用輸入原始密碼乳愉。
三.OpenSSH登錄過程
登錄過程:
1、請求連接到iPhone手機
2屯远、手機將公鑰發(fā)給Mac電腦
3蔓姚、Mac電腦通過收到的公鑰加密登錄密碼
4、iPhone手機利用私鑰解密登錄密碼氓润,是否允許登錄
中間人攻擊:
存在一種隱患.如果有人冒充服務(wù)器.將生成的虛假公鑰 發(fā)給客戶端.那么它將獲得 客戶端連接服務(wù)器的 密碼
服務(wù)器保護:
1.客戶端將第一次登錄服務(wù)器得到的公鑰保存在本地,key存在~/.ssh/known_hosts
2.一般SSH服務(wù)器會將自己的KEY的HASH值公布在網(wǎng)站上赂乐。
四.免密碼登錄
免密碼登錄也稱“公鑰登錄”,原理就是用戶將自己的公鑰儲存在遠程主機上咖气。登錄的時候挨措,遠程主機會向用戶發(fā)送一段隨機字符串,用戶用自己的私鑰加密后崩溪,再發(fā)回來浅役。遠程主機用事先儲存的公鑰進行解密,如果成功伶唯,就證明用戶是可信的觉既,直接允許登錄 不再要求密碼。
客戶端在~/.ssh/目錄下生成公鑰 ssh-copy-id 用戶名@服務(wù)器IP
五.SSH其他操作
刪掉保存的服務(wù)器地址的key
ssh-keygen –R 服務(wù)器IP地址(當(dāng)SSH登錄手機,手機就是服務(wù)器)
know_hosts文件:用于保存SSH登錄服務(wù)器所接受的key
在系統(tǒng)~/.ssh 目錄中保存
ssh_host_rsa_key.pub文件:作為SSH服務(wù)器發(fā)送給連接者的key
在系統(tǒng)/etc/ssh 目錄中保存
Config文件
在~/.ssh 目錄下創(chuàng)建一個config文件瞪讼。內(nèi)部可以配置ssh登錄的別名钧椰。
Host 別名
Hostname IP地址
User 用戶名
Port 端口號
六.USB登錄
蘋果有一個服務(wù),叫usbmuxd符欠,這個服務(wù)主要用于在USB協(xié)議上實現(xiàn)多路TCP連接.
1.Python腳本端口映射:
python tcprelay.py -t 22:12345
將本地的12345端口映射到設(shè)備的TCP端口22.這樣就可以通過本地的12345端口建立連接了嫡霞。
2.通過USB進行SSH連接
ssh -p 12345 root@127.0.0.1
ssh連接本地的12345,由于做了端口映射希柿,所以會通過usb連接對面設(shè)備的22端口诊沪。
3.Iproxy端口映射
安裝libimobiledevice工具
$ brew install libimobiledevice
映射端口
iproxy 12345 22
七.文件拷貝
源文件 —>目標(biāo)文件
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 .