引言
时间如梭,梭梭催人老。一转眼,已经好长时间没有更文了,只因为这段时间,我90%的时间只投入了两件事:
①产品的安全测试;
②以队长身份参加我厂组织的安全渗透活动。
最后的比赛结果,当然是不负众望,在总厂与子厂的18支参赛队伍(70+人数)中,我荣获个人第二名,团队第二的成绩。
因为习惯了获奖的感觉,所以对我来说,相对于奖牌与名次,更喜欢我的Boss们开心的样子(毕竟月底的KPI、年终总结……)
当然,在参与项目这段时间,我也有了新的成长,对渗透测试也有了新的提升。所以今天,我也准备分享移动APP的安全渗透测试,在这里,你会学到:
①移动APP安全测试的重要性;
②主流的移动APP测试工具;
③从0到1搭建Mobile Security Framework(俗称MobSF);
④搭建过程中的避坑指南;
⑤如何使用MobSF;
⑥测试报告总结及分析。
或许你会有疑问:在网上搜索一下,就能知道MobSF的搭建方法,为什么还要分享?
因为网上的那些所谓的教程几乎很难看到非常详细的,并且没有自己从0到1的亲自实践及总结。还有一点,也是我认为要整理并分享的原因,即:如何解决搭建及使用过程中遇到的问题。
看到这里,是不是已经有些期待了呢?别停下,跟着我的思路,开启今天的课程学习吧。
软件安全测试
什么是信息安全
关于信息安全,现在的互联网时代,无时无刻不被提醒,例如:
-
移动/联调/电信的短信提示
-
下载软件时的信息安全提示
-
你给陌生人转账时的信息安全认证
说了这么多,那到底什么是信息安全呢?
引用官方的话:信息安全事关国家生产运行、国家经济安全和人民生命财产安全,是网络强国战略、制造强国战略的重要支撑内容。
你看,信息安全的重要性,下到我们的个人身份信息, 上到国家信息战略,所以,这也凸显出,信息安全的重要性。
既然信息安全这么重要,那如何避免信息威胁呢,信息威胁都有哪些种类呢?我们接着往下看。
信息安全威胁
要想保障信息安全,我们就需要先了解,信息威胁的种类都有哪些,我先上一个表格,这是2021年OWASP TOP 10的安全漏洞:
通过上面的TOP 10的漏洞威胁, 如果不是从事安全工作或者不了解安全信息的同学来说,理解起来有点费劲,但是我举个例子,你就会知道:
-
弱密码
还记得前段时间,新闻报道过,曝出某个国家的国防系统登录账号及密码为 “admin”和“123456”。
这是什么概念呢?我举个例子:虽然你每天都会锁门,但是你的钥匙就放在门边上。你说,你这门锁有什么意义呢?
当然,如果对瞎子来说,可能有点费劲,毕竟钥匙放到哪里,瞎子是看不到的,但是又有哪个瞎子会去陌生人家里 “串门”呢?
安全测试目的
到这里,既然知道信息安全的重要性,以及信息威胁的种类,我们就需要避免这些漏洞就好了。
但是,如何避免,又如何能确定自己开发的模块就没有安全漏洞呢?这个时候就需要安全测试的介入了。
在安全测试介入前,我们需要了解安全测试的目的,只有知道其目的,才能更好进行测试。
我也用一段话来回答:安全测试的目的,就是查找软件自身程序设计中存在的安全隐患,并检查应用程序对非法侵入的防范能力, 根据安全指标不同测试策略也不同,如果遵循相同的原则,去证明软件的安全性,将有利于软件安全测试的工作规范的进行,有利于软件安全测试工作的发展。
俗话说,要想彻底打败”敌人”,除了自己有高超的武艺外,还需要有“武器”的加持。
所以,在了解安全测试目的后,我我们就进入安全测试的下一个阶段,即:学习掌握安全测试工具。
安全测试工具介绍
关于移动APP的安全测试工具,有很多,这里,我只介绍3款,即:
-
Mobsf
-
QARK
-
Drozer
我想,做过移动APP安全渗透测试的同学,对这三款工具,应该都不陌生,这三款应该在移动APP的安全测试界的主流了,这里,我也对这三款进行简单介绍,希望你能对它们有一个初步的认识。
MobSF
Mobsf,全称为Mobile Security Framework, 是一款自动化移动 App 安全测试工具,适用于 iOS 和 Android,可执行动态、静态分析和 Web API 测试。
-
功能:
Mobsf可用于对 Android 和 iOS 应用进行快速安全分析;
支持 binaries(IPA 和 APK)以及 zipped 的源代码。
-
特点:
一款开源移动APP安全测试工具;
可以在本地环境托管,不用担心信息泄露;
对Android 、IOS、Windows三个平台的移动APP进行安全性分析。
-
展示图:
QARK
QARK 全称Quick Android Review Kit,由领英(LinkedIn)开发,是一款静态代码分析工具,可以快速 Android 审查工具包,这个工具可用来检查 Android 应用的源代码和打包的 APK 中常见的安全漏洞。
-
特点:
一款开源移动APP安全测试工具;
能提供详细的漏洞报告;
能扫描移动 App 中的所有元素,查找安全威胁;
它可以生成 ADB 命令,甚至是功能齐全的 APK,从而将假设的漏洞转化为有效的 “POC” 漏洞利用。
-
弊端:
QARK 会将 Android 应用程序反编译回原始源代码,这在某些情况下可能属于违法行为,谨慎使用。
-
展示图:
Drozer
Drozer 是由 MWR InfoSecurity 开发的 App 安全测试框架,分为两部分,即:
①安装在PC端的控制台;
②安装在终端上的代理APP。
-
交互:
可以通过与dalivik VM交互、与其他应用程序的IPC端点交互、与底层操作系统的交互,来避免正处于开发阶段或者正处于部署于组织的Android应用程序和设备暴露出安全风险。
-
特点:
一款开源移动APP安全测试工具;
可以基于真机和模拟器进行测试,不需要USB调试或其他开发工具即可使用;
可以进行自动扩展,进行app的安全测试。
-
弊端:
只支持python2.x的版本,不支持python3.x的版本;
PC端与移动端交互时,需要adb命令。
-
展示图:
PC端
移动端
我之所以列举这三款工具:
第一,这三款工具在移动APP的安全测试中还算比较主流,并且使用的人数也挺可观;
第二,因为这三款工具有的可以直接分析静态代码和动态交互,有的可以直接进行在移动APP上进行操作;
第三,这三款工具,测试报告给我的感觉非常的完善;
第四,这三款工具,我使用的经验比较丰富。
所以本系列我主要介绍Mobsf这款工具(后面的两篇文章会一一讲解如何安装和使用),至于其他两款,后面会逐一进行介绍。
感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取