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