日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

执行ios命令_MEDUZA:一款针对iOS应用程序的通用SSL解绑工具

發(fā)布時間:2025/3/15 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 执行ios命令_MEDUZA:一款针对iOS应用程序的通用SSL解绑工具 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

MEDUZA

MEDUZA是一款針對iOS應(yīng)用程序的通用SSL解綁工具,該工具基于Frida開發(fā),可以當作SSLKillSwitch工具的替代品。本來我是想自己開發(fā)自己用的,而且原本并不打算開源出來。我個人不太喜歡開源,但棱角總會被磨平的…

工具運行機制

該工具的運行機制非常簡單,當你首次運行一款應(yīng)用程序并且沒有開啟網(wǎng)絡(luò)嗅探的時候,也就是正常使用一款A(yù)pp的時候,MEDUZA會在后臺靜默執(zhí)行,并收集App用于連接后臺服務(wù)器時所使用的證書信息。接下來,MEDUZA會生成一個Frida腳本,并偽造(相當于解綁操作)一份收集到的證書。那么當你第二次運行這款應(yīng)用程序時,我們就可以使用生成的腳本并配合中間人代理(Mitmproxy)來捕捉應(yīng)用程序流量了。

工具限制

MEDUZA只能解綁那些使用iOS系統(tǒng)SSL庫的應(yīng)用程序,像Instagram(Instagram使用了OpenSSL)這樣的應(yīng)用程序并沒有使用iOS系統(tǒng)SSL庫,而是使用某些第三方自定義的SSL實現(xiàn)棧,那MEDUZA可就沒辦法了。

除此之外,MEDUZA跟SSLKillSwitch相比,使用了完全不同的功能實現(xiàn)方式。因此理論上來說,MEDUZA應(yīng)該可以跟SSLKillSwitch等類似的工具結(jié)合起來一起使用,不過我還沒有進行過測試。

工具要求

  • 適用于macOS Majave及更新版本,也許MEDUZA能在Windows和Linux平臺上運行,不過我也沒有進行過測試。

  • 一臺已越獄的iOS設(shè)備,MEDUZA已在iPhone SE 2016(iOS 13.3)和iPhone 6s(iOS 14.0)上進行過測試,理論上來說MEDUZA也可以在其他iOS設(shè)備上運行。

  • 需要在macOS和iOS設(shè)備上安裝最新版本的Frida。

  • 在macOS上安裝好Mitmproxy。

  • macOS和iOS設(shè)備需要使用USB數(shù)據(jù)線連接起來,并且連接到同一個WiFi網(wǎng)絡(luò)。

  • 在macOS上安裝好Python3以及cryptography庫,安裝命令如下:

pip install cryptography

工具下載

廣大研究人員可以使用下列命令將該項目源碼克隆至本地:

git clone https://github.com/kov4l3nko/MEDUZA.git

如何嗅探HTTP(s)流量

該操作分兩步,首先我們需要獲取到目標應(yīng)用程序綁定的所有證書,然后生成一個腳本來偽造這些證書,即解綁操作。需要注意的是,這一步必須在一開始就執(zhí)行。接下來,你就可以使用生成的腳本來嗅探網(wǎng)絡(luò)流量了。第一步操作的命令步驟如下:

1、在macOS上打開終端窗口,然后運行MEDUZA來枚舉出iOS設(shè)備上安裝/運行的應(yīng)用程序:

$ python3 meduza.py -l

命令的輸出結(jié)果如下:

MEDUZA iOS SSL unpinning toolby Dima Kovalenko (@kov4l3nko)============================================================[*] Waiting for an iOS device connected to USB...[*] A list of installed applications:+ Uber (com.ubercab.UberClient) is running, pid=40663- Home (com.apple.Home)- Files (com.apple.DocumentsApp)- Podcasts (com.apple.podcasts)- Contacts (com.apple.MobileAddressBook)- Music (com.apple.Music)- Photos (com.apple.mobileslideshow)- TV (com.apple.tv)+ App Store (com.apple.AppStore) is running, pid=40627- Clock (com.apple.mobiletimer)+ Settings (com.apple.Preferences) is running, pid=40619- TikTok (com.zhiliaoapp.musically)- Watch (com.apple.Bridge)- FaceTime (com.apple.facetime)- Maps (com.apple.Maps)- Voice Memos (com.apple.VoiceMemos)<...etc you see remaining apps here...>

2、確保iOS設(shè)備的WiFi設(shè)置是干凈的,比如說,沒有配置代理或指定自定義路由器IP等等。在第一步,我們不用嘗試嗅探網(wǎng)絡(luò)流量,因此WiFi網(wǎng)絡(luò)連接應(yīng)該跟往常一樣。

3、選擇目標應(yīng)用程序,比如說Uber,然后使用下列命令運行MEDUZA:

$ python3 meduza.py -s of id> <path/to/the/frida/script.js>

目標應(yīng)用程序為Uber:

$ python3 meduza.py -s com.ubercab.UberClient ./unpinUber.js

這里的-s參數(shù)表明重新生成Uber客戶端,如果你想要跟一個正在運行的App連接而不需要重新生成客戶端的話,可以使用-a參數(shù)來代替-s。

運行結(jié)果如下:

MEDUZA iOS SSL unpinning toolby Dima Kovalenko (@kov4l3nko)============================================================[*] Waiting for an iOS device connected to USB...[*] Spawning com.ubercab.UberClient...[*] Attaching to com.ubercab.UberClient...[*] Reading JS payload meduza.js...[*] Injecting JS payload to the process...[*] SecCertificateCreateWithBytes(...) hooked![*] Resuming the application...[*] Press ENTER to complete (you can do it anytime)...[*] Got another certificate, its raw SHA256 hash: 99b05557bafde776f0afc15bbf6733585b8a03606cbf757158fb96324e01310acrashlytics.comreports.crashlytics.comfirebase-settings.crashlytics.comapps-ios.crashlytics.comandroid-sdk.crashlytics.comapi.crashlytics.comsettings-api.crashlytics.comdownload.crashlytics.comdistribution-uploads.crashlytics.comcm-us-east-1.crashlytics.comwww.crashlytics.comtry.crashlytics.comkits.crashlytics.comcm.crashlytics.comapps.crashlytics.comcm-ap-southeast.crashlytics.comsettings.crashlytics.come.crashlytics.com[*] Got another certificate, its raw SHA256 hash: 954a9f7dd9f03784bdc5ca9183484a5bfc278ca9ba9f42b3a82f96cffddf277b[*] Got another certificate, its raw SHA256 hash: 649a4665273e60b353fe9b4db1807d9669f82cb0ee85bd1e562e7c2f33fdec3a*.cfe.uber.comcfe.uber.comcn-dca1.cfe.uber.com[*] Got another certificate, its raw SHA256 hash: eae72eb454bf6c3977ebd289e970b2f5282949190093d0d26f98d0f0d6a9cf17<...etc you can see many messages about certificates it ok...>

4、在App上執(zhí)行正常操作,比如說登錄賬號,然后點一些按鈕,或者注銷登錄之類的,也就是像正常用戶一樣操作。每當App使用證書來跟服務(wù)器進行通信連接時,MEDUZA都將捕捉到證書。

5、在App上完成正常操作之后,在終端窗口按下回車鍵。MEDUZA將生成一個腳本,比如說./unpinUber.js。

第一步操作完成之后,第二步就是使用腳本了:

1、在macOS終端窗口中運行下列命令來查看macOS的IP地址:

ifconfig | grep "inet "

2、在macOS上運行Mitmproxy;

3、在你的iOS設(shè)備上,設(shè)置macOS的IP地址以及Mitmproxy端口(默認為8080),以作WiFi連接的代理;

4、運行目標程序?qū)?yīng)的生成腳本,然后在macOS終端運行下列命令來解綁Uber應(yīng)用程序證書:

$ frida -U -f com.ubercab.UberClient --no-pause -l ./unpinUber.js

如何防止應(yīng)用程序被MEDUZA攻擊?

  • 使用第三方SSL實現(xiàn),比如說使用OpenSSL之類的來代替iOS系統(tǒng)SSL庫;

  • 你可以為你的App添加一些反Frida保護機制,因為MEDUZA基于Frida實現(xiàn),如果Frida無法運行,那么MEDUZA也就無法運行了。

工具運行截圖

項目地址

MEDUZA:https://github.com/kov4l3nko/MEDUZA

精彩推薦

總結(jié)

以上是生活随笔為你收集整理的执行ios命令_MEDUZA:一款针对iOS应用程序的通用SSL解绑工具的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。