您好,登錄后才能下訂單哦!
本篇內(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是一款針對(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í)!
免責(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)容。