使用Frida滲透Android app

2021-08-09 08:35:04 字數 2366 閱讀 1777

在之前這篇部落格中,rohit salecha指導滲透新手如何使用frida審計android應用程式以挖掘漏洞。

任何應用程式的審計都無法離開逆向工程得以完成,這篇文章主要關注使用一種叫做frida的工具來在執行時動態修改應用程式的行為的實施方法。

在某些情況下,修改android應用程式的行為是可取的,比如禁用指紋驗證等應用程式的某些敏感功能,或者不允許在根手機上執行,或者希望繞過登入螢幕或禁用ssl證書來攔截流量

以往人們如果想要修改乙個特定函式就需要使用以下方法:

1. 編輯反彙編的smali檔案並且進行重打包,然而,對於新手來說要理解反彙編**是非常困難的。

2.使用xposed框架-這種方法是很多滲透人員所採用的方法,但是必須在不同應用程式中進行函式重寫並且重啟程式。

相較於以上兩種方法,frida可以hook應用程式的執行時程序,並且無須重啟或者重打包就可以修改**。

假設乙個android應用程式中有乙個loginactivity正在執行,它等待使用者名稱和密碼的輸入。除此之外,還有乙個checkloging根據校驗結果的正確性返回相應的布林值。現在frida可以做的就是通過注入我們自己寫的**在記憶體中重寫checklogin函式,即動態修改函式。

-乙個mwr實驗室構建的漏洞密碼儲存程式

insecurebankv2-含有漏洞的銀行程式,是black hat 2015-2016 arsenal的一部分

在開始frida之旅之前,請確保一下實驗環境:android,python環境,乙個root過的arm架構的android手機。在寫這篇文章之時,frida無法在未root過的手機上完美工作。目前只支援arm架構。

frida包括兩個元件,client和server,客戶端和伺服器彼此之間通過兩個tcp埠27042、27043進行通訊。

frida client安裝方式:

pip install frida
安裝成功之後,在命令列執行

frida--

version

adb push frida-server

-10.6

.11-android

-arm /data/local/tmp/frida-server

之後在命令列輸入adb shell進入到/data/local/tmp(就是剛才push frida-server的目錄),並給frida-server以可執行許可權。

chmod 755 frida-server
之後執行frida-server

為了檢驗frida是否已安裝就位,接下來另開乙個cmd視窗,**兩個埠,並輸入

frida-ps

-au

u表示的是usb連線的裝置,如果是電腦上開模擬器的話使用r遠端連線。

在手機上開啟sieve

在提供了一組有效的憑證之後,它開啟了主螢幕,顯示了我們在應用程式中儲存的各種密碼

開啟命令列視窗,輸入指令

frida-ps -au | grep -i 「sieve」

不知道windows上怎麼會還有grep命令,我在弄的時候直接用的是frida-ps -au,要是知道的告訴我,哈哈。。。

在開始之前先反編譯sieve程式,理解下它的登入功能是怎麼做的。使用dex2jar和jd-gui工具,我是直接用的androidkiller看的。

第25-26行用於attach到目標程序(就是之前用frida-ps -au命令查到的)。

需要通過frida執行的**在10-23行。

如果把sieve應用放在後台,之後在返回來執行的話會要求輸入pin。使用以下[指令碼](就可以暴力破解pin,然後獲得應用程式的訪問許可權。

使用Frida進行IOS的抓包

1 愛思一鍵越獄,越獄成功後有個cydia 2 安裝越獄了之後在cydia裡面安裝 frida 新增庫源,在對應源中安裝frida的包 3 裝完之後在自己電腦上裝frida tools,此處坑有點多,參考我的另一篇部落格 pip安裝frida tools報錯 ssl urlopen error解決辦...

Realm移動應用資料庫使用 Android

os儲存方式 特點描述 android sqlite 容量大,記憶體占用小,併發高,訪問複雜 輕型資料庫系統 android sharedpreferences 輕量資料,結構簡單,訪問便捷 基於xml檔案儲存的key value鍵值對資料 android 檔案儲存 圖形 動態演算法等檔案儲存,訪問...

簡單滲透工具使用

上傳木馬 windows上一般使用菜刀實現一句話木馬的控制,在linux平台下,也存在類似的工具,如weevely 使用weevely 生成木馬php後上傳後再用其連線 weevely generate test hello.php 生成的檔案在 usr share weevely hello.ph...