在学安卓渗透之前,先找了一家做安卓渗透服务的公司,看看人家都是干嘛的,是怎么做安卓渗透的。然后明确自己的学习方向。
这家公司名叫Blueinfy,以下介绍多源于翻译。
-
我们都知道,移动应用分两部分组成,一部分在移动设备上,主要负责表示和客户端逻辑,另一个运行在服务器端,主要负责业务逻辑。
-
对上述两部分进行评估分析,发现可能被攻击者利用的潜在漏洞。这个服务商通过分析应用程序和平台的性质,创建了一个威胁模型、攻击向量和各种利用的场景。通过工具和脚本来执行逆向工程,协议分析和模糊测试(fuzzing,所谓模糊测试,就是是一种通过目标系统提供非预期的输入并监视异常结果来发现软件漏洞的方法)。说了这么多,反正你必须分析移动应用程序的体系结构、设计及各种访问控制和服务。
-
做渗透测试会提交报告也很主要,不然你一顿操作猛如虎,再看战绩0/5.整个渗透服务的流程基本包括:
1.通过人工智能和自动化发现每个发布周期的漏洞;
2.针对发现的漏洞提出缓释策略;
3.提交精确可操作的报告,包含漏洞证据(截图、HTTP流量、文件位置、工具结果、复制步骤等)和随时间变化的比较漏洞趋势。执行总结、概要简要描述发现的漏洞、每个发现漏洞的风险和可能威胁列表、根据标准(OWASP, SANS, CWE/CVE等)对脆弱性和风险的影响;
4.通过修复后的验证来评估防御效果;
5.报告的演练指导。 -
全面测试的方法论
时间关系,没有将图片翻译转化,下面对方法论流程进行介绍:
1.服务器端
首先确定在特定客户的基础设施上运行的所有应用程序。通过使用工具和方法来识别IP块、主机、域、跨域和子域。这有助于列出移动应用程序正在联系的所有可能目标。
2.客户端
当应用程序加载到移动设备上时,它在设备上有特定的足迹,如文件系统、网络访问、权限、密钥链、存储、证书等。收集和识别移动交互(原文为mobile surface,不确定该名词的正确表达)以了解应用程序的全部影响。
3.应用程序探索
在此阶段,识别所有活动的、功能强大的移动应用程序及其在客户基础设施上运行的平台。确定移动应用程序如何与服务器通信,并确定来自移动应用程序的web服务或其他服务器端调用。这些信息有助于枚举、分析和创建安全审查的威胁矩阵。
4.应用程序枚举和信息收集
针对每个目标应用程序运行各种工具,并枚举整个应用程序以及驻留在应用程序上的每个资源的入口点和属性。检查移动设备和临时存储上的敏感信息文件、应用程序所需的权限以及移动设备的代码签名机制。这有助于分析整个应用程序以及模块、功能和资源属性。
5.应用程序威胁建模
详细讨论应用程序并映射关键功能。这组功能有助于构建目标、依赖、服务器类型(web、应用程序和数据库)、角色、组件、第三方块、通信流和用例的映射。然后,根据应用程序功能创建一个可能的威胁矩阵,并提出可能的攻击向量和库。
6.应用程序部署评估
对移动设备以及web、应用程序和数据库服务器的应用程序部署配置、访问权限和文件系统进行安全性评估。
7.安全控制和测试
在概要分析和线程建模的基础上,构建应用程序所需的大量可能的测试用例和安全控制。这有助于建立所有针对漏洞的测试方法。
8.服务器端安全控制类
身份验证、访问控制、授权、API滥用,路径遍历,敏感信息的泄漏、错误处理、会话管理、协议滥用、输入验证,跨站脚本(XSS)、跨站请求伪造(CSRF),逻辑绕过,不安全的密码,拒绝服务,恶意代码注入,SQL注入,XPATH和LDAP注射,注射操作系统命令,参数操作,Bruteforce,缓冲区溢出,格式字符串,HTTP响应分裂,HTTP重放,XML注入、规范化、日志记录和审计。
9.客户端安全控制类
身份验证、本地临时存储、不安全通信、恶意功能、活动监视和数据检索、未经授权的拨号、SMS和支付、UI模拟、系统修改、逻辑攻击、敏感数据泄漏、硬编码密码/密钥、逆向工程、代码签名。
10.脆弱性评估
在资源属性和控制类别的基础上,利用人工智能和支持半自动和自动工具进行全面的脆弱性评估。它检测应用程序(服务器和移动应用程序)中的漏洞,从而从应用程序安全性的角度给出可操作的项列表。
11.利用渗透测试
对发现的漏洞进行渗透测试和尝试利用,以检测和确定可能的影响和潜在风险暴露的严重程度。
12.缓解策略
一组保护应用程序(服务器端和移动应用程序)所需要的策略。根据在脆弱性、弱点和风险方面的总体发现,以及在体系结构和最佳实践的基础上,构建一个全面的缓解计划和建议。
13.报告
所有测试结论、发现和测试集都在最终文件中报告。对所有不同的发现进行了全面的严重性/影响评级。报告将包括调查结果的细节,其严重性和影响,证据,建议和参考。将这些发现映射到OWASP、WASC、MITRE、SANS和其他行业标准,以便更好地比较结果。
14.可操作性报告
总结:
执行概要
已发现漏洞的描述
每个发现的漏洞的风险等级和可能的威胁列表
根据标准(OWASP, SANS, CWE/CVE等)对脆弱性和风险的影响
漏洞证据(屏幕截图、HTTP流量、漏洞参数、攻击向量、工具结果、复制步骤等)
漏洞的利用证据(如果需要)
为开发人员/管理员提供深入的缓解策略和防御方法
报告演练和指导
声明:正在学习阶段,还没有做过真正的安卓渗透测试项目,翻译的也可能不太准确,希望大佬指正。
有关工具我会附上链接更新。