溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么對iOS藍牙執行基于覆蓋引導的模糊測試

發布時間:2021-10-21 15:51:44 來源:億速云 閱讀:235 作者:iii 欄目:編程語言

本篇內容主要講解“怎么對iOS藍牙執行基于覆蓋引導的模糊測試”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么對iOS藍牙執行基于覆蓋引導的模糊測試”吧!

ToothPicker

ToothPicker是一款針對iOS的基于覆蓋引導的模糊測試工具,該工具專門針對iOS的藍牙守護進程bluetoothd設計,由于該工具基于FRIDA構建,因此它可以適配任何運行了FRIDA的平臺。

這個項目代碼庫還包含了一個基于無線模糊測試工具,該工具可以對使用InternalBlue的蘋果MagicPairing協議進行模糊測試,并且還提供了演示樣例以供參考。除此之外,該項目還提供了一個ReplayCrashFile.py腳本以幫助廣大研究人員識別和驗證模糊測試工具所發現的進程崩潰情況。

這款模糊測試工具支持在各種iOS版本(已在13.3-13.6上進行過測試)上“開箱即用”,但是需要指定符號。其他的iOS版本需要對函數地址進行自適應。除此之外,FRIDA的stalker貌似在iPhone 8上存在一些問題,我們還沒有能夠解決。更新版本的iPhone支持PAC,簽名指針的性能會受到很大影響。因此,我們建議在廣大研究人員在iPhone7上運行該工具。

ToothPicker基于frizzer的代碼進行開發,不過我們已經針對ToothPicker進行了代碼重構,因此不需要再與原始版本兼容了。在之后,我們計劃將使用一個更有針對性的版本來取代它。

前提條件

在iPhone上:

  • https://frida.re/docs/ios/

在Linux上:

  • usbmuxd

  • libimobiledevice

  • 建議使用virtualenv

  • radamsa(frizzer需要使用)

基于Arch的Linux:

# usbmuxd typically comes with libimobiledevice

# but just to be sure, we manually install it as well

sudo pacman -S usbmuxd libimobiledevice python-virtualenv radamsa

 

# Connect the iPhone to the computer

# Unlock it.

# If a pairing message pops up, click "Trust"

# If no pairing message pops up:

idevicepair pair

# Now there should be the pop up, accept and then again:

idevicepair pair

 

# In case of connection errors:

sudo systemctl restart usbmuxd

# or pair phone and computer again

 

 

# Other useful commands

 

# To ssh into the iPhone:

# Checkra1n comes with an SSH server listening on Port 44

# Proxy the phone's SSH port to 4444 localport:

iproxy 4444 44

# Connect:

ssh root@localhost -p 4444

# Default password: alpine

 

# To fetch some device information of the phone:

Ideviceinfo

Debian Linux:

大致步驟跟上面的一樣,但是:

  • radamsa需要從Git庫安裝,因為它沒有已封裝好的版本。

  • iproxy命令需要額外的包:libusbmuxd-tools

在macOS上:

brew install libimobiledevice usbmuxd radamsa npm

idevicepair pair

npm install frida-compile

pip3 install frida-tools

在macOS上,PacketLogger是Xcode中的一個額外組件,在安裝了藍牙調試配置之后,它將能夠幫助我們解碼各種數據包。除此之外,如果你使用Xcode來打開iOS崩潰日志時,它還可以幫助自動添加某些符號。

工具配置

  • 我們建議大家針對frizzer配置一個虛擬Python環境,然后在frizzer目錄中運行命令來安裝所需的代碼包。

  • projects目錄中包含一個針對MagicPairing協議的模糊測試樣例。

  • 然后將一些通用工具以及MagicPairing編譯到一個文件中。

  • 使用cd命令進入到harness目錄,然后安裝frida-compile

npm install frida-compile
  • 接下來,運行下列命令:

frida-compile ../projects/YOUR_PROJECT/YOUR_SPECIALIZED_HARNESS.JS -o ../projects/YOUR_PROJECT/harness.js

工具使用

首先,將你的iOS設備跟電腦連接,我們建議大家將手機切換到飛行模式,然后打開勿擾功能。

然后,運行下列命令來開啟bluetoothd:

killall -9 bluetoothd

此時,需要確保手機沒有連接至其他藍牙設備。接下來,使用cd命令切換回項目目錄,然后創建用于存儲崩潰日志的目錄,并運行下列命令:

mkdir crashes

../../frizzer/fuzzer.py fuzz -p

現在,我們就可以收集關于蘋果設備的崩潰日志了。

簡而言之,如需開啟一個新的項目,只需要運行下列命令即可:

cd harness

npx frida-compile ../projects/YOUR_PROJECT/YOUR_SPECIALIZED_HARNESS.JS -o ../projects/YOUR_PROJECT/harness.js

cd ../projects/YOUR_PROJECT/

mkdir crashes

frizzer fuzz -p .

如需以不同的種子來啟動工具,可運行下列命令:

frizzer fuzz --seed 1234 -p

到此,相信大家對“怎么對iOS藍牙執行基于覆蓋引導的模糊測試”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

ios
AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女