引言
時(shí)間如梭,梭梭催人老。一轉(zhuǎn)眼,已經(jīng)好長(zhǎng)時(shí)間沒有更文了,只因?yàn)檫@段時(shí)間,我90%的時(shí)間只投入了兩件事:
①產(chǎn)品的安全測(cè)試;
②以隊(duì)長(zhǎng)身份參加我廠組織的安全滲透活動(dòng)。
最后的比賽結(jié)果,當(dāng)然是不負(fù)眾望,在總廠與子廠的18支參賽隊(duì)伍(70+人數(shù))中,我榮獲個(gè)人第二名,團(tuán)隊(duì)第二的成績(jī)。
因?yàn)榱?xí)慣了獲獎(jiǎng)的感覺,所以對(duì)我來說,相對(duì)于獎(jiǎng)牌與名次,更喜歡我的Boss們開心的樣子(畢竟月底的KPI、年終總結(jié)……)
當(dāng)然,在參與項(xiàng)目這段時(shí)間,我也有了新的成長(zhǎng),對(duì)滲透測(cè)試也有了新的提升。所以今天,我也準(zhǔn)備分享移動(dòng)APP的安全滲透測(cè)試,在這里,你會(huì)學(xué)到:
①移動(dòng)APP安全測(cè)試的重要性;
②主流的移動(dòng)APP測(cè)試工具;
③從0到1搭建Mobile Security Framework(俗稱MobSF);
④搭建過程中的避坑指南;
⑤如何使用MobSF;
⑥測(cè)試報(bào)告總結(jié)及分析。
或許你會(huì)有疑問:在網(wǎng)上搜索一下,就能知道MobSF的搭建方法,為什么還要分享?
因?yàn)榫W(wǎng)上的那些所謂的教程幾乎很難看到非常詳細(xì)的,并且沒有自己從0到1的親自實(shí)踐及總結(jié)。還有一點(diǎn),也是我認(rèn)為要整理并分享的原因,即:如何解決搭建及使用過程中遇到的問題。
看到這里,是不是已經(jīng)有些期待了呢?別停下,跟著我的思路,開啟今天的課程學(xué)習(xí)吧。
軟件安全測(cè)試
什么是信息安全
關(guān)于信息安全,現(xiàn)在的互聯(lián)網(wǎng)時(shí)代,無時(shí)無刻不被提醒,例如:
移動(dòng)/聯(lián)調(diào)/電信的短信提示
下載軟件時(shí)的信息安全提示
你給陌生人轉(zhuǎn)賬時(shí)的信息安全認(rèn)證
說了這么多,那到底什么是信息安全呢?
引用官方的話:信息安全事關(guān)國(guó)家生產(chǎn)運(yùn)行、國(guó)家經(jīng)濟(jì)安全和人民生命財(cái)產(chǎn)安全,是網(wǎng)絡(luò)強(qiáng)國(guó)戰(zhàn)略、制造強(qiáng)國(guó)戰(zhàn)略的重要支撐內(nèi)容。
你看,信息安全的重要性,下到我們的個(gè)人身份信息, 上到國(guó)家信息戰(zhàn)略,所以,這也凸顯出,信息安全的重要性。
既然信息安全這么重要,那如何避免信息威脅呢,信息威脅都有哪些種類呢?我們接著往下看。
信息安全威脅
要想保障信息安全,我們就需要先了解,信息威脅的種類都有哪些,我先上一個(gè)表格,這是2021年OWASP TOP 10的安全漏洞:
通過上面的TOP 10的漏洞威脅, 如果不是從事安全工作或者不了解安全信息的同學(xué)來說,理解起來有點(diǎn)費(fèi)勁,但是我舉個(gè)例子,你就會(huì)知道:
弱密碼
還記得前段時(shí)間,新聞報(bào)道過,曝出某個(gè)國(guó)家的國(guó)防系統(tǒng)登錄賬號(hào)及密碼為 “admin”和“123456”。
這是什么概念呢?我舉個(gè)例子:雖然你每天都會(huì)鎖門,但是你的鑰匙就放在門邊上。你說,你這門鎖有什么意義呢?
當(dāng)然,如果對(duì)瞎子來說,可能有點(diǎn)費(fèi)勁,畢竟鑰匙放到哪里,瞎子是看不到的,但是又有哪個(gè)瞎子會(huì)去陌生人家里 “串門”呢?
安全測(cè)試目的
到這里,既然知道信息安全的重要性,以及信息威脅的種類,我們就需要避免這些漏洞就好了。
但是,如何避免,又如何能確定自己開發(fā)的模塊就沒有安全漏洞呢?這個(gè)時(shí)候就需要安全測(cè)試的介入了。
在安全測(cè)試介入前,我們需要了解安全測(cè)試的目的,只有知道其目的,才能更好進(jìn)行測(cè)試。
我也用一段話來回答:安全測(cè)試的目的,就是查找軟件自身程序設(shè)計(jì)中存在的安全隱患,并檢查應(yīng)用程序?qū)Ψ欠ㄇ秩氲姆婪赌芰Γ?根據(jù)安全指標(biāo)不同測(cè)試策略也不同,如果遵循相同的原則,去證明軟件的安全性,將有利于軟件安全測(cè)試的工作規(guī)范的進(jìn)行,有利于軟件安全測(cè)試工作的發(fā)展。
俗話說,要想徹底打敗”敵人”,除了自己有高超的武藝外,還需要有“武器”的加持。
所以,在了解安全測(cè)試目的后,我我們就進(jìn)入安全測(cè)試的下一個(gè)階段,即:學(xué)習(xí)掌握安全測(cè)試工具。
安全測(cè)試工具介紹
關(guān)于移動(dòng)APP的安全測(cè)試工具,有很多,這里,我只介紹3款,即:
Mobsf
QARK
Drozer
我想,做過移動(dòng)APP安全滲透測(cè)試的同學(xué),對(duì)這三款工具,應(yīng)該都不陌生,這三款應(yīng)該在移動(dòng)APP的安全測(cè)試界的主流了,這里,我也對(duì)這三款進(jìn)行簡(jiǎn)單介紹,希望你能對(duì)它們有一個(gè)初步的認(rèn)識(shí)。
MobSF
Mobsf,全稱為Mobile Security Framework, 是一款自動(dòng)化移動(dòng) App 安全測(cè)試工具,適用于 iOS 和Android,可執(zhí)行動(dòng)態(tài)、靜態(tài)分析和 Web API 測(cè)試。
功能:
Mobsf可用于對(duì) Android 和 iOS 應(yīng)用進(jìn)行快速安全分析;
支持 binaries(IPA 和 APK)以及 zipped 的源代碼。
特點(diǎn):
一款開源移動(dòng)APP安全測(cè)試工具;
可以在本地環(huán)境托管,不用擔(dān)心信息泄露;
對(duì)Android 、IOS、Windows三個(gè)平臺(tái)的移動(dòng)APP進(jìn)行安全性分析。
展示圖:
QARK
QARK 全稱Quick Android Review Kit,由領(lǐng)英(LinkedIn)開發(fā),是一款靜態(tài)代碼分析工具,可以快速 Android 審查工具包,這個(gè)工具可用來檢查 Android 應(yīng)用的源代碼和打包的 APK 中常見的安全漏洞。
特點(diǎn):
一款開源移動(dòng)APP安全測(cè)試工具;
能提供詳細(xì)的漏洞報(bào)告;
能掃描移動(dòng) App 中的所有元素,查找安全威脅;
它可以生成 ADB 命令,甚至是功能齊全的 APK,從而將假設(shè)的漏洞轉(zhuǎn)化為有效的 “POC” 漏洞利用。
弊端:
QARK 會(huì)將 Android 應(yīng)用程序反編譯回原始源代碼,這在某些情況下可能屬于違法行為,謹(jǐn)慎使用。
展示圖:
Drozer
Drozer 是由 MWR InfoSecurity 開發(fā)的 App 安全測(cè)試框架,分為兩部分,即:
①安裝在PC端的控制臺(tái);
②安裝在終端上的代理APP。
交互:
可以通過與dalivik VM交互、與其他應(yīng)用程序的IPC端點(diǎn)交互、與底層操作系統(tǒng)的交互,來避免正處于開發(fā)階段或者正處于部署于組織的Android應(yīng)用程序和設(shè)備暴露出安全風(fēng)險(xiǎn)。
特點(diǎn):
一款開源移動(dòng)APP安全測(cè)試工具;
可以基于真機(jī)和模擬器進(jìn)行測(cè)試,不需要USB調(diào)試或其他開發(fā)工具即可使用;
可以進(jìn)行自動(dòng)擴(kuò)展,進(jìn)行app的安全測(cè)試。
弊端:
只支持python2.x的版本,不支持python3.x的版本;
PC端與移動(dòng)端交互時(shí),需要adb命令。
展示圖:
PC端
移動(dòng)端
我之所以列舉這三款工具:
第一,這三款工具在移動(dòng)APP的安全測(cè)試中還算比較主流,并且使用的人數(shù)也挺可觀;
第二,因?yàn)檫@三款工具有的可以直接分析靜態(tài)代碼和動(dòng)態(tài)交互,有的可以直接進(jìn)行在移動(dòng)APP上進(jìn)行操作;
第三,這三款工具,測(cè)試報(bào)告給我的感覺非常的完善;
第四,這三款工具,我使用的經(jīng)驗(yàn)比較豐富。
所以本系列我主要介紹Mobsf這款工具(后面的兩篇文章會(huì)一一講解如何安裝和使用),至于其他兩款,后面會(huì)逐一進(jìn)行介紹。
最后:在我的V :atstudy-js,可以免費(fèi)領(lǐng)取一份10G軟件測(cè)試工程師面試寶典文檔資料。以及相對(duì)應(yīng)的視頻學(xué)習(xí)教程免費(fèi)分享!其中包括了有基礎(chǔ)知識(shí)、Linux必備、Shell、互聯(lián)網(wǎng)程序原理、Mysql數(shù)據(jù)庫(kù)、抓包工具專題、接口測(cè)試工具、測(cè)試進(jìn)階-Python編程、Web自動(dòng)化測(cè)試、APP自動(dòng)化測(cè)試、接口自動(dòng)化測(cè)試、測(cè)試高級(jí)持續(xù)集成、測(cè)試架構(gòu)開發(fā)測(cè)試框架、性能測(cè)試、安全測(cè)試等。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.