网络安全渗透测试的概论
渗透测试是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法。这个过程包括对系统的任 何弱点、技术缺陷或漏洞的主动分析,这个分析是从一个攻击者可能存在的位置来进行的,并且从这个位置有条件主动利用安全漏洞。 渗透测试是指渗透人员在不同的位置(比如从内网、从外网等位置)利用各种手段对某个特定网络进行测试,以期发现和挖掘系统中存在的漏洞,然后输出渗透测试报告,并提交给网络所有者。网络所有者根据渗透人员提供的渗透测试报告,可以清晰知晓系统中存在的安全隐患和问题。(百度百科)
网络渗透测试定义应该是一种针对目标网络进行安全检测的评估。目的是发现目标网络存在的漏洞以及其他的安全问题并提出改善方法。
网络安全渗透分类
黑盒测试 Zero-Knowledge Testing
渗透者完全处于对系统一无所知的状态,需要我们自己进行信息收集。所以黑盒对渗透测试者要求是最高的。
白盒测试
白盒测试与黑箱测试恰恰相反,测试者可以通过正常渠道向被测单位取得各种资料,包括网络拓扑、员工资料甚至网站或其它程序的代码片段,也能够与单位的其它员工(销售、程序员、管理者……)进行面对面的沟通。白盒测试的目标是明确定义好的,因此白盒测试吧不需要进行目标范围定义和信息收集。
还有一种灰盒渗透测试。本文不讨论。
渗透测试的目标
主机操作系统渗透
对Windows、Solaris、AIX、Linux、SCO、SGI等操作系统本身进行渗透测试。
数据库系统渗透
对MS-SQL、Oracle、MySQL、Informix、Sybase、DB2、Access等数据库应用系统进行渗透测试。
应用系统渗透
对渗透目标提供的各种应用,如ASP、CGI、JSP、PHP等组成的WWW应用进行渗透测试。
网络设备渗透
对各种防火墙、入侵检测系统、网络设备进行渗透测试。
物理安全
机房环境,通信线路等等
管理制度
这个不多说。人是最大的漏洞。
网络安全渗透测试流程
我们根据pentest-standard.org给出的渗透测试标准总结了一下。
渗透测试执行标准包括七(7)个主要部分
1.早期的客户交流
通过与客户的交流来确认渗透测试的目标范围,条件,工期,费用,预期目标,
等等。
2.情报收集阶段
收集所有有关目标的信息。可以说是渗透测试过程中最重要的一个阶段了。
信息收集有2种方法:
被动扫描(Passive Reconnaissance
)
在被动扫描中我们不会被目标发现,就好比如:我们想了解一个小姐姐的信息,我们去打听她那样。 常用工具:`Maltego` `chinaz` `Whois` `百度` `zoomEye` `Recon-NG` `shodan` 等等
主动扫描(Active footprint
)
使用专业的扫描工具来对目标进行扫描。可以得知目标的网络结构,目标网络使用的设备类型,目标主机上的操作系统,目标主机开放的端口,目标主机提供的服务等等。 常用工具:`nmap`等等
威胁建模阶段(Threat Modeling
)
收集相关文件 识别和分类主要和次要资产 识别威胁和威胁社区并进行分类 针对主要和次要资产
漏洞分析阶段(Vulnerability Analysis
)
漏洞测试是发现攻击者可以利用的系统和应用程序漏洞的过程。漏洞可能存在在目标的任何一个位置。 在这个阶段中我们根据情报收集阶段发现的目标的主机操作系统,开放端口,系统服务来查找和分析目标可能存在的漏洞。
一般我们使用自动工具和手工分析。
漏洞利用阶段(Exploitation
)
找到目标漏洞之后,我们就可以开始利用漏洞对目标进行测试了。 在这个阶段中我们要绕过目标的安全机制来控制目标或者目标资源。
后渗透阶段(Post Exploitation
)
权限提升 登录凭证盗取 重要信息盗取 利用目标作为跳板 建立长期的控制通道
报告阶段(Reporting
)
我们要把我们发现的所有以书面的形式提交给客户
以上就是一个渗透测试的所有流程了。这是一个粗略的文章,实际上会复杂得多多