ios和mac os x都是基於darwin(蘋果的乙個基於unix的開源系統核心),所以ios中同樣支援終端的命令列操作,在逆向工程中,我們經常會通過命令列來操縱iphone。為了能夠讓mac終端中的命令列能作用在iphone上,我們得讓mac和iphone建立連線,通過mac遠端登入到iphone的方式建立連線。可以通過openssh的方式讓mac遠端登入到iphone。
在iphone上通過cydia安裝openssh工具(軟體源
在建立安全連線過程中,伺服器會提供自己的身份證明。
如果客戶端並無伺服器端的公鑰資訊,就會詢問是否連線此伺服器。在建立安全連線過程中,可能會遇到以下錯誤資訊:提醒伺服器的身份資訊發生了變更。pssh-keygen -r 伺服器ip位址或者vim ~/.ssh/known_hosts。
一路敲回車鍵(enter)即可
openssh預設生成的是rsa金鑰,可以通過-t引數指定金鑰型別
生成的公鑰:~/.ssh/id_rsa.pub
生成的私鑰:~/.ssh/id_rsa
把客戶端的公鑰內容追加到伺服器的授權檔案(~/.ssh/authorized_keys)尾部
ssh-copy-id root@伺服器主機位址
需要輸入root使用者的登入密碼
ssh-copy-id會將客戶端~/.ssh/id_rsa.pub的內容自動追加到伺服器的~/.ssh/authorized_keys尾部
注意:由於是在~資料夾下操作,所以上述操作僅僅是解決了root使用者的登入問題(不會影響mobile使用者)
可以使用ssh-copy-id將客戶端的公鑰內容自動追加到伺服器的授權檔案尾部,也可以手動操作
複製客戶端的公鑰到伺服器某路徑
scp是secure copy的縮寫,是基於ssh登入進行安全的遠端檔案拷貝命令,把乙個檔案copy到遠端另外一台主機上
上面的命令行將客戶端的~/.ssh/id_rsa.pub拷貝到了伺服器的~位址
ssh登入伺服器
ssh root@伺服器主機位址
需要輸入root使用者的登入密碼
在伺服器建立.ss**件夾
mkdir .ssh
追加公鑰內容到授權檔案尾部
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
刪除公鑰
rm ~/id_rsa.pub
檔案許可權問題
如果配置了免密碼登入後,還是需要輸入密碼,需要在伺服器端設定檔案許可權
chmod 755 ~
chmod 755 ~/.ssh
chmod 644 ~/.ssh/authorized_keys
usb-ssh登入
iphone預設是使用22埠進行ssh通訊,採用的是tcp協議。
預設情況下,由於ssh走的是tcp協議,mac是通過網路連線的方式ssh登入到iphone,要求iphone連線wifi
預設情況下,由於ssh走的是tcp協議,mac是通過網路連線的方式ssh登入到iphone,要求iphone連線wifi
為了加快傳輸速度,也可以通過usb連線的方式進行ssh登入
mac上有個服務程式usbmuxd(它會開機自動啟動),可以將mac的資料通過usb傳輸到iphone
/system/library/privateframeworks/mobiledevice.framework/resources/usbmuxd
將iphone的22埠(ssh埠)對映到mac本地的10010埠
cd ~/documents/usbmuxd-1.0.8/python-client
python tcprelay.py -t 22:10010
加上-t引數是為了能夠同時支援多個ssh連線
埠對映完畢後,以後如果想跟iphone的22埠通訊,直接跟mac本地的10010埠通訊就可以了
新開乙個終端介面,ssh登入到mac本地的10010埠(以下方式2選1)
ssh root@localhost -p 10010
ssh [email protected] -p 10010
localhost是乙個網域名稱,指向的ip位址是127.0.0.1,本機虛擬網絡卡的ip位址
usbmuxd會將mac本地10010埠的tcp協議資料,通過usb連線**到iphone的22埠
遠端拷貝檔案也可以直接跟mac本地的10010埠通訊
scp -p 10010 ~/desktop/1.txt root@localhost:~/test
將mac上的~/desktop/1.txt檔案,拷貝到iphone上的~/test路徑
注意:scp的埠號引數是大寫的-p
可以通過sh、bash、source命令來執行sh指令碼檔案
sh、bash
當前shell環境會啟動乙個子程序來執行指令碼檔案,執行後返回到父程序的shell環境
執行cd時,在子程序中會進入到cd的目錄,但是在父程序中環境並沒有改變,也就是說目錄沒有改變
source
在當前的shell環境下執行指令碼檔案
執行cd後會跳轉到cd的目錄
source可以用乙個點」.」來替代,比如」. test.sh」
不支援中文的解決方法
預設情況下,ios終端不支援中文輸入和顯示
解決方案:新建乙個~/.inputrc檔案,檔案內容是
set convert-meta off
允許向終端輸出中文
set output-meta on
允許向終端輸入中文
set meta-flag on
set input-meta on
ios逆向學習過程 環境搭建
三 reveal 注 若 usr bin 資料夾無讀寫許可權,需關閉系統的 rootless安全保護,重啟後按command r進入恢復模式,開啟終端terminal輸入以下命令即可關閉 csrutil disablecsrutil enable 該命令為開啟參照theos官方安裝教程 homebr...
CTF逆向 環境搭建記錄
由於系統總是偶然出問題,記錄此文以便快速恢復環境。設定密碼 sudo passwd root sudo passwd 使用者名稱更換源為清華源 or else 系統更新 apt update apt fullupgrade apt autoremove apt autoclean配置ssh apt ...
逆向工程一之環境搭建
本篇主要介紹 越獄 逆向環境搭建,ifunbox等軟體安裝,shell指令碼登入 檔案傳輸 filza 檢視ios裝置上檔案目錄 搜尋安裝 openssh cydia搜尋安裝 openssh是基於tcp協議通訊,確保ios端和mac端連線同乙個wifi 賬戶分root和mobile,前者可以作業系統...