iOS逆向環境的搭建

2021-09-29 14:27:51 字數 2997 閱讀 4667

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,前者可以作業系統...