lsekfe 发表于 2023-3-1 09:58:51

安全测试入门先从选工具开始

引言
  时间如梭,梭梭催人老。一转眼,已经好长时间没有更文了,只因为这段时间,我90%的时间只投入了两件事:
  ①产品的安全测试;
  ②以队长身份参加我厂组织的安全渗透活动。
  最后的比赛结果,当然是不负众望,在总厂与子厂的18支参赛队伍(70+人数)中,我荣获个人第二名,团队第二的成绩。
  因为习惯了获奖的感觉,所以对我来说,相对于奖牌与名次,更喜欢我的Boss们开心的样子(毕竟月底的KPI、年终总结……)
  当然,在参与项目这段时间,我也有了新的成长,对渗透测试也有了新的提升。所以今天,我也准备分享移动APP的安全渗透测试,在这里,你会学到:
  ①移动APP安全测试的重要性;
  ②主流的移动APP测试工具;
  ③从0到1搭建Mobile Security Framework(俗称MobSF);
  ④搭建过程中的避坑指南;
  ⑤如何使用MobSF;
  ⑥测试报告总结及分析。
  或许你会有疑问:在网上搜索一下,就能知道MobSF的搭建方法,为什么还要分享?
  因为网上的那些所谓的教程几乎很难看到非常详细的,并且没有自己从0到1的亲自实践及总结。还有一点,也是我认为要整理并分享的原因,即:如何解决搭建及使用过程中遇到的问题。
  看到这里,是不是已经有些期待了呢?别停下,跟着我的思路,开启今天的课程学习吧。
  软件安全测试
  什么是信息安全
  关于信息安全,现在的互联网时代,无时无刻不被提醒,例如:
  移动/联调/电信的短信提示
  下载软件时的信息安全提示
  你给陌生人转账时的信息安全认证
  说了这么多,那到底什么是信息安全呢?
  引用官方的话:信息安全事关国家生产运行、国家经济安全和人民生命财产安全,是网络强国战略、制造强国战略的重要支撑内容。
  你看,信息安全的重要性,下到我们的个人身份信息, 上到国家信息战略,所以,这也凸显出,信息安全的重要性。
  既然信息安全这么重要,那如何避免信息威胁呢,信息威胁都有哪些种类呢?我们接着往下看。
  信息安全威胁
  要想保障信息安全,我们就需要先了解,信息威胁的种类都有哪些,我先上一个表格,这是2021年OWASP TOP 10的安全漏洞:
http://www.51testing.com/attachments/2023/02/15326825_202302271533521Quwh.png
  通过上面的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进行安全性分析。
  展示图:
http://www.51testing.com/attachments/2023/02/15326825_202302271533522irb6.png
  QARK
  QARK 全称Quick Android Review Kit,由领英(LinkedIn)开发,是一款静态代码分析工具,可以快速 Android 审查工具包,这个工具可用来检查 Android 应用的源代码和打包的 APK 中常见的安全漏洞。
  特点:
  一款开源移动APP安全测试工具;
  能提供详细的漏洞报告;
  能扫描移动 App 中的所有元素,查找安全威胁;
  它可以生成 ADB 命令,甚至是功能齐全的 APK,从而将假设的漏洞转化为有效的 “POC” 漏洞利用。
  弊端:
  QARK 会将 Android 应用程序反编译回原始源代码,这在某些情况下可能属于违法行为,谨慎使用。
  展示图:
http://www.51testing.com/attachments/2023/02/15326825_202302271533523AMFu.png
  Drozer
  Drozer 是由 MWR InfoSecurity 开发的 App 安全测试框架,分为两部分,即:
  ①安装在PC端的控制台;
  ②安装在终端上的代理APP。
  交互:
  可以通过与dalivik VM交互、与其他应用程序的IPC端点交互、与底层操作系统的交互,来避免正处于开发阶段或者正处于部署于组织的Android应用程序和设备暴露出安全风险。
  特点:
  一款开源移动APP安全测试工具;
  可以基于真机和模拟器进行测试,不需要USB调试或其他开发工具即可使用;
  可以进行自动扩展,进行app的安全测试。
  弊端:
  只支持python2.x的版本,不支持python3.x的版本;
  PC端与移动端交互时,需要adb命令。
  展示图:
http://www.51testing.com/attachments/2023/02/15326825_202302271533524ljLP.png
PC端
http://www.51testing.com/attachments/2023/02/15326825_202302271533525mdEB.png
移动端
  我之所以列举这三款工具:
  第一,这三款工具在移动APP的安全测试中还算比较主流,并且使用的人数也挺可观;
  第二,因为这三款工具有的可以直接分析静态代码和动态交互,有的可以直接进行在移动APP上进行操作;
  第三,这三款工具,测试报告给我的感觉非常的完善;
  第四,这三款工具,我使用的经验比较丰富。

oliver.tang 发表于 2024-3-13 16:37:00

感谢分享
页: [1]
查看完整版本: 安全测试入门先从选工具开始