iOS逆向1020-1-越獄開(kāi)發(fā)筆記

越獄開(kāi)發(fā)筆記

必備插件

image.png

安裝openSSH插件

image.png
  • SSH、open SSH

open SSH是工具,通過(guò) open SSH 可以訪(fǎng)問(wèn)手機(jī)、和其他的應(yīng)用

通過(guò)openSSH連接(登錄)手機(jī)

$ ssh 用戶(hù)名@用戶(hù)服務(wù)器地址

// cycript 相當(dāng)于 有個(gè)cycript應(yīng)用,是電腦通過(guò)cycript 鏈接手機(jī)
// ssh 是協(xié)議:ssh登錄手機(jī)

image.png
image.png
image.png

上圖第9個(gè)、pwd: alpine

iOS 下有兩個(gè)用戶(hù)

    1. root 最高權(quán)限的用戶(hù) $ HOME: /var/root
    1. 還有一個(gè) mobile $ HOME: /var/mobile
$ cd ~/.ssh
$ ls
$ cat known_hosts
$ pwd 
$ exit 
$ ssh mobile@192.168.31.178     //--> iPhone:~ mobile$ pwd
$ ssh root@192.168.31.178       //--> iPhone:~ root# pwd

// 1--------------------------------------------------------
$ ssh root@192.168.31.178       //--> iPhone:~ root# pwd
iPhone:~ root# cd /
iPhone:~ root# ls 
iPhone:~ root# pwd
iPhone:~ root# touch 1.txt      //新建一個(gè)文件 " 1.txt "  --> 創(chuàng)建成功
iPhone:~ root# rm 1.txt         //刪除文件 " 1.txt "  rm = remove
iPhone:~ root# passwd           //修改登錄密碼
New password: xxx
Retype new password: xxx
iPhone:~ root# sudo
iPhone:~ root# cd var/mobile/
iPhone:var/mobile/ root# exit   // --> logout

// 2 --------------------------------------------------------
$ ssh mobile@192.168.31.178 // --> iPhone:~ mobile$ pwd
iPhone:~ mobile# cd /
iPhone:~ mobile# ls 
iPhone:~ mobile# pwd
iPhone:~ mobile# touch 2.txt    //新建一個(gè)文件 --> 創(chuàng)建失敗  touch:cannot touch '2.txt': Permission dened
iPhone:~ mobile#
iPhone:~ mobile#
iPhone:~ mobile# cd var/mobile/
iPhone:var/mobile/ root# exit   // --> logout

// 由1、2 得出:root 用戶(hù)才有讀寫(xiě)權(quán)限
image.png
image.png
image.png
image.png



刪除SSH服務(wù)器對(duì)應(yīng)的公鑰(登錄過(guò)的才有,才能刪除)

$  ssh-keygen -R 服務(wù)器IP地址
$  ssh-keygen -R root@192.168.31.178
// 第一次連接    SHA256:xxx (xxx是公鑰的哈希值)
$ ssh root@192.168.31.178
image.png

如果第一次登錄就被攻擊了呢?
第一次登錄 直接和 服務(wù)對(duì)比,用肉眼去看

image.png

查看公鑰 :
$ cat known_hosts

image.png

劃出來(lái)的 公鑰 保存在Mac

$ ssh root@192.168.31.17
iPhone:~ root# cd /etc/ssh/
iPhone:/etc/ssh root# ls -l //--> ssh_host_rsa_key.pub
iPhone:/etc/ssh root# cat ssh_host_rsa_key.pub

image.png


  • 004--SSH公鑰登陸(免密登陸).wmv

$ ssh root@192.168.31.17

image.png
image.png
image.png

$ ssh-keygen //生成一對(duì) 公鑰、私鑰 ,id_rsa:私鑰,id_rsa.pub:公鑰
$ ls
$ ssh-copy-id root@192.168.31.178
$ ssh root@192.168.31.178
iPhone:~ root# ls
iPhone:~ root# cd ~/.ssh/
iPhone:~ root# cat authorised_keys
iPhone:~ root# rm authorised_keys //刪除后 再去登錄 就需要密碼了


  • 005--usbl連接.wmv //------------------------------------------------------------

$ ssh -p 22 root@192.168.31.178

image.png

這個(gè)腳本是做 映射的!映射到USB連接的手機(jī)!

image.png

//監(jiān)聽(tīng)本地(本機(jī)Mac)的12345,只要監(jiān)聽(tīng)到,就給手機(jī)的22 端口發(fā)數(shù)據(jù)

python tcprelay-py -t 22:12345

image.png

// 把 python-client 文件夾 移入 ZMshell 腳本文件夾內(nèi)


image.png

login.sh --> cylogin.sh // 可以修改名稱(chēng)

image.png
image.png

//映射本地端口
$ python /Users/zhangmeng/ZMshell/python-client/tcprelay.py -t 22:12345

image.png

5.1、拷貝login.sh 文件,復(fù)制,改名為 usbConnect.sh
5.2、編輯此文件:刪掉原內(nèi)容,拷貝此命令到 此文件內(nèi)
(命令為:python /Users/zhangmeng/ZMshell/python-client/tcprelay.py -t 22:12345)

image.png

$ sh usbConnect.sh //命令運(yùn)行腳本,通過(guò)USB連接手機(jī)

5.3、拷貝usbConnect.sh 文件,復(fù)制,改名為 usbLogin.sh
// 下面登錄連接會(huì)報(bào)錯(cuò)
$ ssh root@localhost -p 12345
$ ssh root@127.0.0.1

image.png

image.png

// 解決方案

image.png

5.4、編輯此文件(usbLogin.sh):刪掉原內(nèi)容,拷貝此命令到 此文件內(nèi)
(命令為:ssh root@localhost -p 12345)

5.5、關(guān)閉終端,保存腳本
5.6、重新運(yùn)行終端
$ sh usbConnect.sh
$ sh usbLogin.sh

image.png

//還是報(bào)錯(cuò),解決方案:刪除 localhost對(duì)應(yīng)的 key

$ vim /Users/zhangmeng/.ssh/known_hosts // 編輯 hosts 刪掉 localhost

image.png
image.png

$ sh usbLogin.sh //重新登錄 并重新保存 key

5.7、編輯此文件(usbLogin.sh):修改內(nèi)容命令為:ssh root@127.0.0.1 -p 12345
$ sh usbLogin.sh //重新登錄,也成功了! 原因:公鑰保存了,并沒(méi)有改變

5.8、換一個(gè)手機(jī)
$ sh usbLogin.sh //重新登錄,登錄失敗了!
$ vim /Users/zhangmeng/.ssh/known_hosts // 編輯 hosts 刪掉 127.0.0.1
$ sh usbLogin.sh //重新登錄,登錄成功了!

默認(rèn)密碼 pwd: alpine

1.怎么樣才能出現(xiàn)中間人攻擊???
答:同樣IP 不一樣的公鑰??!

2.本地只能保存一個(gè)公鑰嗎??
答:不止一個(gè)

3.本地一個(gè)IP:端口 只能保存一個(gè)公鑰嗎?
答:1個(gè)

image.png

$ cd ~/.ssh
$ ~/.ssh ls
$ ~/.ssh cat known_hosts

image.png

箭頭處:只有端口號(hào)的 端口是 22


  • 006--文件拷貝.wmv //----------------------------------------

  • 6.1
image.png

$ sh usbLogin.sh //重新登錄
$ touch 123.txt
$ ls
$ scp 123.txt root@192.168.31.178:~/ // 通過(guò)WiFi 拷貝
$ ssh root@192.168.31.178
$ cd / //到用戶(hù)目錄
$ cd ~/ //到電腦的根目錄
$ rm 123.txt


  • 6.2

$ cd Desktop
$ scp -P 12345 123.txt root@localhost:~/ // 把 12345 拷貝到 123.txt 文本內(nèi),通過(guò)映射 USB 傳輸數(shù)據(jù)


  • 007--應(yīng)用瘦身.wmv //----------------

image.png

//安裝 越獄版:騰訊視頻

image.png
image.png
image.png

// 剝離架構(gòu) 應(yīng)用瘦身
$ lipo live4iphone -thin arm64 -output arm64_live4 //166M --> 64M
創(chuàng)建文件夾 PayLoad,arm64_live4 放入PayLoad文件內(nèi),
$ zip -ry TenXunLive.ipa PayLoad //64M --> 47M

image.png

重新安裝 TenXunLive.ipa //安裝成功 --> 94.5 M 非越獄手機(jī),用重簽名安裝

image.png


總結(jié):

iOS 下有兩個(gè)用戶(hù)

  • root 最高權(quán)限的用戶(hù) $HOME:/var/root
  • 還有一個(gè) mobile $HOME: /var/mobile

修改ssh登錄密碼

  • passwd 輸入兩次新密碼

SSH

SSH是一種網(wǎng)絡(luò)協(xié)議.用于計(jì)算機(jī)之間的加密登錄!

openSSH

openSSH其中一種軟件.

SSH通訊過(guò)程

image.png

中間人攻擊(Man-in-the-MiddleAttack,簡(jiǎn)稱(chēng)“MITM攻擊”)

預(yù)防中間人攻擊最有效的方法就是驗(yàn)證 公鑰是不是服務(wù)器的!!
如果是公開(kāi)的SSH服務(wù)器,一般會(huì)將公鑰的哈希值 公布在網(wǎng)站上!!

SSH使用公鑰登錄

除了使用密碼登錄,也可以免密碼登錄!
所謂的"公鑰登錄",原理:
1.Mac電腦將自己的公鑰發(fā)給遠(yuǎn)程的手機(jī)
2.手機(jī)隨機(jī)的生成一段字符串,發(fā)給Mac電腦.
3.Mac利用私鑰加密字符串!
4.手機(jī)利用公鑰解密字符串!
如果還要輸入密碼的話(huà),設(shè)置文件的權(quán)限! chmod 755

USB

SSH的默認(rèn)端口是22
usbmuxd 在iOS和Mac上都是自帶的!

通過(guò)openSSH連接(登錄)手機(jī)

$ssh 用戶(hù)名@用戶(hù)服務(wù)器地址
刪除SSH服務(wù)器對(duì)應(yīng)的公鑰
$ssh-keygen -R 服務(wù)器IP地址

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容