9.6.2  渗透测试步骤与方法

9.6.2 渗透测试步骤与方法

一次完整的渗透测试包括制定渗透测试方案、实施渗透测试、完成渗透测试报告三个阶段。其中实施渗透测试阶段为主要阶段,具体流程如图9-9所示。

1.信息收集过程

(1)网络信息收集 通过一些网络命令对目标的网络配置状态、服务器信息进行收集;通过一些公开的服务网站查询Web服务器信息,服务器管理员信息等;通过各种网站、论坛、社工欺骗等收集企业组织名称、个人姓名、电话、生日、身份证号码、电子邮件等。

(2)目标系统信息收集 通过网络信息收集,应当可以简单地描绘出目标系统的网络结构,如公司网络所在区域,IP地址分布,VPN接入地址等。从获取的地址列表中进行系统判断,了解其组织架构及操作系统使用情况。最常用的方法的是目标所有IP网段扫描。

(3)端口、服务信息收集 经过上面两步信息收集,再经过分析之后,就可以对目标进行扫描,以收集端口、服务信息。

(4)应用信息收集 使用各种工具收集应用信息。

2.漏洞扫描

通过第一步的信息收集,已经得到了目标信息系统的IP地址分布及对应的域名,并且分析过滤出少许的几个攻击目标。在本阶段,可以对这些攻击目标进行有针对性的漏洞扫描,以发现可被进一步利用的漏洞。漏洞扫描一般通过专用的工具进行。

978-7-111-51949-2-Part03-13.jpg

图9-9 渗透测试流程

3.漏洞利用

漏洞扫描完成之后,对系统存在的漏洞进行分析、验证、确认漏洞的存在,并根据漏洞的特性进一步利用漏洞获取系统权限。例如对系统进行注入攻击等。

漏洞利用可以手工进行,也可以借助漏洞攻击平台辅助完成。目前在网络上有许多开源的漏洞利用工具,有针对系统的、数据库的、Web服务器的、无线环境的,也有一些商用软件能够提供像0Day这样的漏洞,具有较高的敏感度和时效性。

4.权限提升

在信息收集、漏洞扫描、漏洞利用过程中,可以得到有限的控制权限,但仍需进一步获得目标信息系统的权限,以达到攻击效果。权限提升的方法包含帐号口令破解、缓冲区溢出攻击、脚本漏洞攻击、针对特定客户端软件的攻击、拒绝服务攻击、社会工程学欺骗等。

经过权限提升,获取系统的root权限之后,一般就认为渗透测试已经取得成功。

5.日志清除

清除对系统进行渗透过程中留下的日志,避免在系统中留下入侵痕迹,对系统正常安全运维工作造成影响。