從零開始學(xué)Android應(yīng)用安全測試(Part1)
在本系列文章中,利用InsecureBankv2這款含有漏洞的安卓應(yīng)用,我們可以了解到有關(guān)安卓應(yīng)用安全的種種概念。我們將從一個新手的角度看待每一個問題。所以,我建議新手朋友可以關(guān)注下本系列文章。
由于教程是從零開始,前面的東西不免會比較基礎(chǔ),老鳥請先飛過吧。
移動滲透平臺搭建
在對安卓應(yīng)用測試之前,我們需要搭建一個合適的移動滲透平臺。
首先,我們需要下載Eclipse ADT bundle,并安裝。這里我就不再過多重復(fù)造輪子的事情了。
這里面有倆個文件夾,一個叫 tools,另外一個叫做platform-tools。這倆是非常重要的,是需要加入環(huán)境變量里面的。以下命令可以用來添加路徑到環(huán)境變量中
export PATH=/path/to/dir:$PATH.
將tools和platform-tools文件夾都添加到環(huán)境變量中,完成操作過后,你就可以隨意的使用所有的命令了。然后檢查是否工作,可以鍵入adb命令,你可以得到以下的輸出結(jié)果。
為了保證應(yīng)用能夠在我們的計算機(jī)上運(yùn)行,我們還需要一款趁手的模擬器。Eclipse Android Virtual Device就是一款安卓模擬器,如何進(jìn)行創(chuàng)建虛擬設(shè)備,朋友們可以在網(wǎng)上搜搜。然而,對于本系列文章,我會使用另一款工具Genymotion 來創(chuàng)建虛擬設(shè)備。這里有許多原因,其一是處理速度比較快,其二使用Genymotion創(chuàng)建的虛擬設(shè)備默認(rèn)是自動獲取了root權(quán)限的。這也就意味著,你可以自由的安裝應(yīng)用,對于審計安卓應(yīng)用也方便。
完成Genymotion的安裝后,你需要注冊一個賬號(免費(fèi)的)并基于你的需求創(chuàng)建不同模擬器。
好了,現(xiàn)在我們就將InsecureBankv2的源代碼從github上克隆過來。
打開你創(chuàng)建的虛擬設(shè)備,這一步驟十分簡單。
在剛才從github克隆的項(xiàng)目文件中,存在一個apk文件。你可以使用adb install InsecureBankv2.apk 命令來安裝這個應(yīng)用。
在上圖中你可以看到success,這就表示這個apk文件已經(jīng)成功安裝了,同時你在模擬的設(shè)備中看到對應(yīng)的應(yīng)用圖標(biāo)。但是有時候你可能只是想編譯這個文件而不是運(yùn)行這個apk文件。這個時候你就需要打開Eclipse找到 File -> Switch Workspace,選擇你創(chuàng)建的 Insecurebank文件夾,然后轉(zhuǎn)到File -> Import并選擇現(xiàn)有的Android代碼放進(jìn)工作區(qū)。
選擇應(yīng)用程序所在的文件夾,你可以看到Eclipse已經(jīng)將應(yīng)用程序放進(jìn)了你的工作區(qū)。
這時候你就可以點(diǎn)擊上端的play按鈕,開始運(yùn)行這個應(yīng)用。在保證模擬器正常運(yùn)行的情況下,選擇運(yùn)行安卓應(yīng)用。
不出意外,這時候你就可以看到應(yīng)用在模擬器中成功運(yùn)行了。
同時啟動后端的python服務(wù),可以使用這個命令
python app.py –port 8888
在這個應(yīng)用中填入ip地址以及端口。
現(xiàn)在你就可以使用默認(rèn)憑證登錄這個應(yīng)用了。
dinesh/Dinesh@123$ jack/Jack@123$
請確保你安裝了以下工具,在我們以后討論的細(xì)節(jié)中,會用到的。
Drozer Andbug Introspy dex2jar apktool
另外,可以使用adb shell連接你的模擬器,然后看看你想要做些什么。
安卓命令合集
希望大家在空余時間多看看安卓命令[http://developer.android.com/tools/projects/projects-cmdline.html]。
真心推薦大家多到這里了解下adb[http://developer.android.com/tools/help/adb.html]嘗試著玩轉(zhuǎn)大多數(shù)命令。
下節(jié)預(yù)告
在下一篇文章中,我們將了解下InsecureBankv2項(xiàng)目中存在的各種漏洞,更詳細(xì)的了解安卓應(yīng)用的安全性。
InsecureBankv2項(xiàng)目地址:https://github.com/dineshshetty/Android-InsecureBankv2
Eclipse ADT bundle:https://developer.android.com/sdk/installing/index.html?pkg=adt
譯者鳶尾注:此文原作者曾經(jīng)完成了iOS安全專題?;谄渫瓿啥龋S尾愿意跟著作者的步伐,一步一步的從零單排。