當前位置:
首頁 > 最新 > 使用 cycript 繞過應用程序的 PIN 保護

使用 cycript 繞過應用程序的 PIN 保護

本文將演示如何在運行時使用Cycript從應用程序中提取信息,從而使攻擊者能夠訪問應用程序的PIN。這個漏洞是通過運行iOS 10.2的越獄iPhone 5s發現的。請注意,早期/較晚版本的IOS可能與本文使用的工具不兼容。


一、 Clutch

我們將使用「Clutch2」(一個公共iOS解密工具)來解密和解壓縮應用程序的.ipa文件,接著我們將需要轉儲和檢查應用程序類的Objective-C頭文件。

Clutch可在這裡下載: https://github.com/KJCracks/Clutch

按照安裝說明在設備上安裝Clutch。

如果運行Clutch2並看到「Permission Denied/拒絕許可權」錯誤,則可能需要首先運行以下命令:

$ chmod a+x /usr/bin/Clutch2

然後可以運行:

$ Clutch2 -i

你會看到你安裝的應用程序的列表。選擇要使用的應用程序並複製它的bundleID值。

然後運行:

$ Clutch2 –b

應該會看到一條消息,告訴你已將破解的二進位文件與保存位置的路徑一起轉儲。

接下來,需要將二進位文件傳輸到Mac上進行分析。可以通過很多方法做到這一點,但我更喜歡使用CyberDuck。你可以使用任何合適的文件傳輸軟體,或者可以只使用ssh到你的手機和scp的.ipa到你的計算機。

一旦你的筆記本電腦上有了.ipa,就可以簡單地解壓文件訪問它的內容。(在執行此操作之前,可能必須手動將文件類型更改為.zip)。


下一步是使用類轉儲工具轉儲應用程序的運行時頭文件。通過運行以下命令,可以使用BREW在計算機上安裝此程序:

$ brew install class-dump

首先,找到應用程序的可執行文件。可以在複製到計算機的.ipa文件夾中找到它,位於路徑/Payload/.app/AppName。

運行:

$ class-dump /Payload/.app/AppName > dumpedHeaders

其中,「dumpedHeaders」是要創建的文件,將在其中寫入轉儲。

現在,應該能夠在任何文本編輯器如Sublime中看到dumpedHeaders。對於這個應用程序,我們打開文件並搜索。我首先搜索「授權/authorize」、「登錄/login」或「PIN」等詞語。我很快就找到了我要找的東西:

我可以看到,在DTPinLockController類中,有屬性NSString *pin。現在我已經找到了一個目標,可以進行下一步了。


然後,通過傳輸文件在設備上放置Cycript(通過CyberDuck、sftp、scp或任何你喜歡的方式)。

最後,運行一下命令:

$ dpkg -i cycript.deb

現在,你可以嘗試運行Cycript並確認出現了#Cy提示符。(確保在下一步之前退出Cycript)。

現在,我們已經準備好連接到我們的目標應用程序的過程。要查找應用程序的進程ID,請確保應用程序正在你的手機上運行:

$ ps aux

複製目標應用程序的PID,然後運行:

$ cycript -p

現在已經hook到這個進程,並且可以在運行時開始探索這個應用程序。

由於這個應用程序需要一個PIN,此時在我的手機上打開應用程序,並輸入PIN。

為了確認我看到的ViewController的名稱,我在Cycript中運行:

cy# UIApp.keyWindow.rootViewController

然後:

DTPinLockController

現在,回顧一下我的類轉儲,我可以看到這確實是我在前面找到的「pin」NSString屬性所在的屏幕,因此我應該能夠在運行時訪問它的值。要查看PIN是否存儲得不安全,運行:

cy# UIApp.keyWindow.rootViewController.pin

神奇的是,用戶的PIN就會被顯示出來:

現在,我們在運行時成功地竊取了用戶的PIN。我可以通過簡單地在應用程序上輸入PIN來確認這一點,並且我被授予了訪問許可權。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 任鳥飛逆向 的精彩文章:

任鳥飛談逆向-RPG遊戲自動打怪之朝向判斷

TAG:任鳥飛逆向 |