渗透测试流程
渗透测试执行标准PTES
(PTES)的先驱都是渗透测试行业的精英,有七个阶段组成 可以在任意环境中进行富有成功的渗透测试。
[http://www.pentest-standard.org/index.php/Main_Page]
7个阶段:
事前互动
情报搜集
威胁建模
漏洞分析
漏洞利用
深度利用
书面报告
主要特点优势
PTES的主要特性和优势如下
1、他是非常全面的渗透测试框架涵盖了绳渗透测试的技术方面和其他重要方面,如范围蔓延、报告、以及渗透人员保护自身的方法
2、他介绍了多数测试任务的具体方法,可指导你准确测试目标系统的安全状态
3、他汇聚了多名日行一”渗“的渗透测试专家的丰富经验
4、它包含最常用的以及很罕见的相关技术
5、他浅显易懂,你可根据测试工作的需要对相应的测试步骤进行调整
通用渗透测试框架
从技术管理的角度,遵循正规的测试框架对安全测试极为重要,通用渗透测试框架涵盖了典型的审计测试工作和渗透测试工作会涉及到的各个阶段。
10个相关阶段:
范围界定
信息搜集
目标识别
服务枚举
漏洞映射
社会工程学
漏洞利用
权限提升
访问维护
文档报告
无论是进行白盒测试还是黑盒测试,选择和使用测试步骤都是一个渗透测试人员的责任。
在测试开始前,测试人员需要根据目标系统的实际环境和已掌握的相关目标系统的情况,指定最佳的测试策略。
范围界定
1、测试对象是什么?
2、应当采用何种测试方法?
3、有哪些在渗透测试中需要满足的条件?
4、哪些因素可能会限制测试执行的过程?
5、需要多久才能完成测试?
6、此次测试应该达到什么样的任务目标?
信息搜集
渗透测试人员需要使用各种公开的资源尽可能的获取测试目标的相关消信息。
从互联网上搜集信息的主要渠道有:
论坛|公告板|新闻组|媒体文件|博客|社交网络|其他商业或非商业的网站
此外还可以通过各种搜索引擎获取相关数据。
如谷歌、雅虎、MSN必应、百度等
收集信息主要包括DNS、服务器、路由关系、whois、数据库、电子邮件地址、电话号码、个人信息以及用户账户。
收集的信息越多,渗透测试成功的概率越高。
目标识别
识别目标网络的状态,操作系统和网络架构。
服务枚举
这一阶段根据前面各个阶段的成果,进一步找出目标系统所有开放的断开。
一旦找到了所有开放端口,就可以通过这些端口列出目标系统上运行的服务。
主机上开放的端口都有相应的服务程序,对这些信息进行深度分析之后,可进一步发掘目标网络基础设施中可能存在的漏洞。
漏洞映射(漏洞扫描)
根据已发现的的开放端口和服务程序,查找已知和未知的漏洞
社会工程学
如果目标网络没有直接的入口,欺骗艺术将起到抛砖引玉的重要作用。
对目标组织的人员进行定向攻击,很可能帮助我们找到渗透目标系统的入口。
例如,诱使用户安装后门的恶意程序,就可能对审计人员的的渗透工作形成突破。
社会工程学渗透分为多种不同的实现形式。
伪装成网络管理员,通过电话要求用户提高自己的账户信息;发送钓鱼邮件来劫持用户的银行账户;甚至诱使某人出现在某地,这些都是社会工程学攻击
需要注意的是在对目标进行欺骗以达到渗透目标之前,多数情况下需要长时间研究目标人员的心理
另外,需要研究当地的法律是否允许
漏洞利用
发现漏洞之后,就可以使用已有漏洞利用程序对目标系统进行渗透
这个阶段的主要任务就是控制目标系统
这个流程可分为三步,涉及攻击前、攻击、攻击后的相关行动
权限提升
渗透测试人员根据其拥有的访问权限,在目标系统任意发挥,
提权,就是将普通用户权限提升至管理员权限
访问维护
多数情况下,审计人员需要一段时间内维护他们对目标系统的访问权限。
也就是埋藏后门(离开时清除后门)
文档报告
审计人员要记录、报告并现场演示那些已经识别、验证和利用了的安全漏洞。
并根据这些文档修补所有存在的安全漏洞
简化的渗透测试流程
明确目标
确定范围|确定规则|确定需求
信息收集
基础信息|系统信息|应用信息|人员信息|防护信息
漏洞探测
系统漏洞|Web服务漏洞|Web应用漏洞|其他端口|通信安全
漏洞验证
手工验证|工具验证|实验验证
漏洞利用
定制EXP|防御绕过|进一步渗透|清理痕迹
形成报告
整理结果|补充介绍|修复建议