溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么對(duì)iOS藍(lán)牙執(zhí)行基于覆蓋引導(dǎo)的模糊測(cè)試

發(fā)布時(shí)間:2021-10-21 15:51:44 來(lái)源:億速云 閱讀:187 作者:iii 欄目:編程語(yǔ)言

本篇內(nèi)容主要講解“怎么對(duì)iOS藍(lán)牙執(zhí)行基于覆蓋引導(dǎo)的模糊測(cè)試”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“怎么對(duì)iOS藍(lán)牙執(zhí)行基于覆蓋引導(dǎo)的模糊測(cè)試”吧!

ToothPicker

ToothPicker是一款針對(duì)iOS的基于覆蓋引導(dǎo)的模糊測(cè)試工具,該工具專門(mén)針對(duì)iOS的藍(lán)牙守護(hù)進(jìn)程bluetoothd設(shè)計(jì),由于該工具基于FRIDA構(gòu)建,因此它可以適配任何運(yùn)行了FRIDA的平臺(tái)。

這個(gè)項(xiàng)目代碼庫(kù)還包含了一個(gè)基于無(wú)線模糊測(cè)試工具,該工具可以對(duì)使用InternalBlue的蘋(píng)果MagicPairing協(xié)議進(jìn)行模糊測(cè)試,并且還提供了演示樣例以供參考。除此之外,該項(xiàng)目還提供了一個(gè)ReplayCrashFile.py腳本以幫助廣大研究人員識(shí)別和驗(yàn)證模糊測(cè)試工具所發(fā)現(xiàn)的進(jìn)程崩潰情況。

這款模糊測(cè)試工具支持在各種iOS版本(已在13.3-13.6上進(jìn)行過(guò)測(cè)試)上“開(kāi)箱即用”,但是需要指定符號(hào)。其他的iOS版本需要對(duì)函數(shù)地址進(jìn)行自適應(yīng)。除此之外,F(xiàn)RIDA的stalker貌似在iPhone 8上存在一些問(wèn)題,我們還沒(méi)有能夠解決。更新版本的iPhone支持PAC,簽名指針的性能會(huì)受到很大影響。因此,我們建議在廣大研究人員在iPhone7上運(yùn)行該工具。

ToothPicker基于frizzer的代碼進(jìn)行開(kāi)發(fā),不過(guò)我們已經(jīng)針對(duì)ToothPicker進(jìn)行了代碼重構(gòu),因此不需要再與原始版本兼容了。在之后,我們計(jì)劃將使用一個(gè)更有針對(duì)性的版本來(lái)取代它。

前提條件

在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庫(kù)安裝,因?yàn)樗鼪](méi)有已封裝好的版本。

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

在macOS上:

brew install libimobiledevice usbmuxd radamsa npm

idevicepair pair

npm install frida-compile

pip3 install frida-tools

在macOS上,PacketLogger是Xcode中的一個(gè)額外組件,在安裝了藍(lán)牙調(diào)試配置之后,它將能夠幫助我們解碼各種數(shù)據(jù)包。除此之外,如果你使用Xcode來(lái)打開(kāi)iOS崩潰日志時(shí),它還可以幫助自動(dòng)添加某些符號(hào)。

工具配置

  • 我們建議大家針對(duì)frizzer配置一個(gè)虛擬Python環(huán)境,然后在frizzer目錄中運(yùn)行命令來(lái)安裝所需的代碼包。

  • projects目錄中包含一個(gè)針對(duì)MagicPairing協(xié)議的模糊測(cè)試樣例。

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

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

npm install frida-compile
  • 接下來(lái),運(yùn)行下列命令:

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

工具使用

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

然后,運(yùn)行下列命令來(lái)開(kāi)啟bluetoothd:

killall -9 bluetoothd

此時(shí),需要確保手機(jī)沒(méi)有連接至其他藍(lán)牙設(shè)備。接下來(lái),使用cd命令切換回項(xiàng)目目錄,然后創(chuàng)建用于存儲(chǔ)崩潰日志的目錄,并運(yùn)行下列命令:

mkdir crashes

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

現(xiàn)在,我們就可以收集關(guān)于蘋(píng)果設(shè)備的崩潰日志了。

簡(jiǎn)而言之,如需開(kāi)啟一個(gè)新的項(xiàng)目,只需要運(yùn)行下列命令即可:

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 .

如需以不同的種子來(lái)啟動(dòng)工具,可運(yùn)行下列命令:

frizzer fuzz --seed 1234 -p

到此,相信大家對(duì)“怎么對(duì)iOS藍(lán)牙執(zhí)行基于覆蓋引導(dǎo)的模糊測(cè)試”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

ios
AI