iOS逆向學習筆記16(手機越獄以及SSH連接手機)

1.手機越獄

1.1 手機越獄概述

??當啟動一臺iOS設備時,系統首先會從只讀的ROM中讀取初始化指令,也就是系統的引導程序(事實上所有的操作系統啟動時都要經過這一步,只是過程略有不同)。這個引導ROM包含蘋果官方權威認證的公鑰,它會驗證底層啟動加載器(LLB)的簽名,一旦通過驗證后就啟動系統。LLB會做一些基礎工作,然后驗證第二級引導程序iBoot。iBoot啟動后,設備就可以進入恢復模式或啟動內核。在iBoot驗證完內核簽名的合法性之后,整個啟動程序開始步入正軌:加載驅動程序、檢測設備、啟動系統守護進程。這個信任鏈會確保所有的系統組件都有蘋果官方寫入、簽名、分發,不能來自第三方機構,流程如下圖所示:


啟動鏈流程

??而越獄的工作原理正是攻擊這一信任鏈。所有的越獄工具的作者都需要找到這一信任鏈上的漏洞,從而禁止掉信任鏈中負責驗證的組件,從而拿到iOS系統最大權限ROOT權限。
??根據越獄的情況不同可以分為如下兩種越獄:

  • 完美越獄
    ??所謂完美越獄就是破解iOS系統漏洞之后,每次系統重啟都能自動調用注入的惡意代碼,達到破壞安全驗證,再次獲得ROOT權限。
  • 非完美越獄
    ??所謂非完美越獄是指,越獄系統后,并沒有完全破解安全鏈,有部分信息或功能應用不佳。比如:關機以后必須去連接越獄軟件來引導開機,或者重啟會導致越獄的失效,這樣的越獄稱為“不完美越獄”。

1.2 越獄工具

如果你的手機iOS12版本的可以直接使用愛思助手進行越獄,如果是iOS12以上版本的可以使用下面兩種工具進行越獄。
uncOver 越獄
Odyssey越獄

1.3 使用uncOver工具進行手機越獄

注意:在越獄之前請先做好數據備份,防止越獄失敗數據丟失!
首先進入uncOver官網主頁,直接點擊下載,下載安裝包,如下圖所示:


下載完畢之后,使用XCode新建一個Monkey的工程。


創建工程完畢之后,選運行程序,將程序安裝到手機上,然后再打開工程主目錄,將下載好的安裝包拖入到TargetApp文件夾中,如下圖所示:

鏈接手機,再次運行程序,進入應用界面,然后斷開數據線鏈接,殺死應用程序,再點擊啟動,進入如下界面:


然后點擊越獄,如果出現如下的錯誤提示:

重啟手機,重復越獄操作。

1.4 使用altStore以及unCover進行手機越獄。

??如果使用上面的方式始終無法越獄成功,也可以按下面的操作進行手機越獄。
首先進入altStore官網下載altServer.app,altStore官網

altStore主頁

下載完后拖入到應用程序,如下所示:


打開之后,在頂部工具欄就會出現如下的圖標,然后進行如下操作:


然后會提示你輸入密碼,輸入密碼并確認后,就會提示你這個插件已經安裝好了,接下來,就打開你的郵件,登陸你的賬戶,如下所示:

然后按照下面的步驟給郵件配置一下這個插件,如下所示:



重啟你的郵件APP之后就使用USB鏈接你的手機,然后安裝altStore App到你的手機上。

輸入,你的Apple ID以及密碼,并點擊install:
image.png

安裝成功之后,就可以在手機上發現這樣一個APP,如下圖所示:

緊接著,我們打開手機上的瀏覽器,下載一下unCover的ipa包,如下圖所示:



然后手機上也會出現uncOver APP,打開它,點擊設置界面

然后就勾選下面的選項:

然后回到主界面,點擊jailbreak按鈕,進行越獄,中途出現了如下的廣告界面直接關閉掉就可以了

接著會提示你,越獄成功,提示你要關機進行重啟,你就點擊ok就可以了,如下所示:

關機重啟之后,再次打開uncOver應用,再次進入設置頁面,進行如下設置:

然后回到主頁再次點擊jailbreak按鈕,就越獄成功了,越獄成功之后手機桌面上也會出現Cydia應用了,你可以在這個Cydia應用中下載一些你需要的插件。

2.OpenSSH與SSH

2.1 什么是OpenSSH

??OpenSSH 是 SSH (Secure SHell) 協議的免費開源實現,它是一款軟件,應用非常廣泛。 而SSH協議可以用來進行遠程控制, 或在計算機之間傳送文件。

2.2 什么是SSH

??SSH是一種網絡協議,用于計算機之間的加密登錄。 1995年,芬蘭學者Tatu Ylonen設計了SSH協議,將登錄信息全部加密,成為互聯網安全的一個基本解決方案,迅速在全世界獲得推廣,目前已經成為Linux系統的標準配置。
??我們可以通過OpenSSH插件可以連接手機,進行遠程控制, 或者傳送文件。

2.3 SSH登錄

SSH登錄過程

2.4 中間人攻擊

中間人攻擊

為了解決中間人攻擊這個問題,openSSH網站會有一個自己公鑰通過sha256生成的hash值字符串,在每次進行設備連接的時候,也會將這個公鑰的hash值字符串發給你,這個時候,你可以做一個對比,看是否與官網上的公鑰的hash值字符串一致,如果不一致,那么很有可能就是中間人攻擊了。

3.連接手機

3.1 使用wifi連接手機

連接手機命令格式:ssh 用戶名@手機IP地址(其實實際上是ssh -p 端口號 用戶名@手機IP地址,因為使用的是默認端口22,所有可以省略不寫)
在iOS中有兩個用戶:Root以及Mobile

  • Root用戶:最高權限用戶,可以訪問任意文件。

  • Mobile用戶:普通用戶,只能訪問改用戶目錄下文件/var/Mobile。
    手機IP地址可以通過下面的方式,打開手機設置->無線局域網->點擊你連接的wifi,進到如下界面:



    接著我們就打開終端進行手機連接的操作

  • root用戶登錄



    首次連接的時候會提示你是否保存服務器端發送過來的公鑰,輸入yes,這個是用來做安全校驗的


  • mobile用戶登錄


3.2 使用USB連接手機

蘋果有一個服務,叫usbmuxd,這個服務主要用于在USB協議上實現多路TCP連接,這個可執行文件所在路徑為:/Library/Apple/System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/Resources/usbmuxd,如下圖所示:


3.2.1 設置端口映射

  • 方式1:使用一個Python腳本進行端口映射。
    python腳本文件 密碼:wwmq
    將這個文件下載下來后使用tcprelay.py這個腳本文件,打開終端進行以下操作:
python tcprelay.py -t 22:12345 
//將本地的12345端口映射到設備的TCP端口22,這樣就可以通過本地的12345端口建立連接了。
image.png
  • 方式2:使用libimobiledevice工具進行端口映射
    首先需要在終端使用命令brew install libimobiledevice安裝這個工具,如下圖所示:



    安裝完成之后,在終端使用這個工具進行端口映射:

iproxy 12345 22

3.2.2 使用USB鏈接手機

ssh -p 12345 用戶名@IP地址
//用戶名:root或mobile
//IP地址:127.0.0.1或localhost

3.3 修改登錄密碼

ROOT用戶可以修改所有用戶的密碼,而Mobile用戶只能修改自己的密碼,修改用戶密碼的命令如下:

passwd 用戶名
//輸入兩次新密碼,確認修改,因為是登錄狀態所以不用輸入原始密碼。
修改用戶密碼

mobile只能修改自己的密碼

3.4 免密登錄&公鑰登錄

免密登錄過程圖示

3.4.1 首先在本地生成一對公私鑰

本地生成公私鑰

查看本地生成的公私鑰

3.4.2 將本地生成的公鑰拷貝到手機中

ssh-copy-id 用戶名@手機IP地址
用戶名:root或者mobile
手機IP地址:wifi就是wifi的IP地址,USB就是localhost或者127.0.0.1
配置免密登錄

設置成功后就可以不用輸入密碼直接登錄上了,如下所示:



查看手機中保存的公鑰

3.4.2 廢除免密登錄

廢除免密登錄

3.5 配置ssh登錄時的別名

在本地(電腦)的~/.ssh目錄下創建一個config文件,在其中可以配置ssh登錄的別名

Host 別名
Hostname IP地址(wifi鏈接就是wifiIP地址,USB鏈接就寫localhost或127.0.0.1)
User 用戶名 (root或mobile)
Port 端口號(wift鏈接寫成22,USB鏈接寫你映射的端口號)

3.5.1 配置wifi鏈接登錄別名

配置登錄
使用別名登錄

3.5.2 配置USB鏈接登錄別名

配置登錄

使用別名登錄

3.6 其他操作

3.6.1 查看手機安裝的應用以及運行的進程

查看手機安裝的應用

顯示手機所有進程

篩選特定進程

3.6.2 查看本地保存的ssh服務服務器的IP地址及對應公鑰

??你可以在本地路徑 /Users/你的用戶名/.ssh中的knoww_hosts文件中查看這些內容,如下所示:


3.6.3 查看服務器中ssh服務器發送給連接中的公鑰

??你可以在SSH服務器中/etc/ssh路徑中查看到保存公鑰以及私鑰的文件,如下圖所示:


image.png

3.6.5 可以使用如下命令刪除本地保存的用戶名IP地址對應的公鑰信息

ssh-keygen -R 服務器IP地址

使用如下:
查看要刪除的公鑰



使用命令刪除


3.6.4 中間人攻擊報錯解決方案

??當你使用相同的用戶名以及IP地址登錄SSH服務器時遇到中間人攻擊保存禁止登錄時,是因為你的本地的knoww_hosts文件中以及保存了一份對應的服務器的IP地址及公鑰,當本地進行SSH服務登錄的時候發現這個用戶名及IP地址對應的公鑰發送了變換,就會認為遭到了中間人攻擊,如下所示:


中間人攻擊報錯

可以使用3.6.5中的方式刪除本地保存的用戶名IP地址對應的公鑰信息。
如果上面的方式行不通,你可以自己編輯/Users/你的用戶名/.ssh/known_hosts文件中刪除對應的公鑰信息,刪除之后就可以登錄了。

4 SSH快捷鏈接

4.1創建文件

創建兩個文件ssh_connect.sh(提供USB鏈接的端口映射),l_xs.sh(USB方式連接ssh服務器)


image.png

4.2 在~/.zshrc文件中配置這兩個文件路徑的環境變量并使用

4.3 快捷鏈接使用

進行端口映射

SSH登錄
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,488評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,034評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,327評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,554評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,337評論 6 404
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,883評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 42,975評論 3 439
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,114評論 0 286
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,625評論 1 332
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,555評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,737評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,244評論 5 355
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 43,973評論 3 345
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,362評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,615評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,343評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,699評論 2 370

推薦閱讀更多精彩內容