渗透测试的介绍

来源:互联网 发布:测绘工程就业前景知乎 编辑:程序博客网 时间:2024/04/20 05:24

1 定义

    渗透测试 (penetration test)并没有一个标准的定义,国外一些安全组织达成共识的通用说法是:渗透测试是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法。这个过程包括对系统的任何弱点、技术缺陷或漏洞的主动分析,这个分析是从一个攻击者可能存在的位置来进行的,并且从这个位置有条件主动利用安全漏洞。

    我们认为渗透测试还具有的两个显著特点是:渗透测试是一个渐进的并且逐步深入的过程。渗透测试是选择不影响业务系统正常运行的攻击方法进行的测试。

2 渗透测试是安全评估的方法之一

    安全评估通常包括工具评估、人工评估、顾问访谈、问卷调查、应用评估、管理评估、网络架构评估、渗透测试等

渗透测试与其他评估方法的区别:通常评估方法是根据已知信息资产或其他被评估对象,去发现所有相关的安全问题。渗透测试是根据已知可利用的安全漏洞,去发现是否存在相应的信息资产,通常评估方法对评估结果更具有全面性,渗透测试则更注重安全漏洞的严重性。

    渗透测试一方面可以从攻击者的角度,检验业务系统的安全防护措施是否有效,各项安全策略是否得到贯彻落实;另一方面可以将潜在的安全风险以真实事件的方式凸现出来,从而有助于提高相关人员对安全问题的认识水平。渗透测试结束后,立即进行安全加固,解决测试发现的安全问题,从而有效地防止真实安全事件的发生。

3 凸现最严重的安全问题

    安全评估通常会发现许多安全问题,而通过渗透测试这种“真实的”黑客事件,能从中找出最急需解决的部分

4 白盒子(White Box)

已经获取了尽可能多的各种信息 
通常包括从组织外部和从组织内部两种地点进行渗透测试 

黑盒子(Black Box) 
除了被测试目标的已知公开信息外,不提供任何其他信息 
通常只从组织的外部进行渗透测试 

灰盒子(Gray Box) 
介于以上两者之间

5 信息收集、分析

制订渗透方案并实施 
前段信息汇总、分析 
提升权限、内部渗透 
渗透结果总结 
输出渗透测试报告 
提出安全解决建议

6 客户提供

该部分主要来源于客户所提供的一些实际网络结构,安全等级制度等一系列的已有安全体制。 
工具扫描 
该部分主要利用一系列现有的安全产品或黑客工具对目标网络进行全方位的安全扫描,其中包括服务,端口等其他,使用的工具包括:Nessus Scanner、Nmap、SnmpScanner等。 
智能判断 
利用工程师积累的渗透测试以及其他安全经验,对目标主机进行信息收集和分析。 
本地扫描 
为了能更好的渗透其网络的安全性,在客户允许的范围内对本地进行实地扫描。通过短时间的模拟攻击扫描结合客户提供的详细情况,迅速寻找出目标网络中的薄弱环节,保证了制定的渗透测试方案的整体效率。 
建立信息池 
汇总以上各方面的信息,建立信息池

7 渗透方案制订考虑因素

网络规模 
业务组成 
网络分布 
其他因素 
渗透方案内容 
目标、范围 
计划 
流程 
风险规避 
保密

8 验证信息池内容

试探、获取权限 
根据具体信息相应实施过程调整

9 信息综合、汇总

分析、归类、筛选、整理 
信息池更新 
确定渗透实施重点 
制定下一步实施方案

10 纵向权限提升

读权限提升为写权限 
应用系统权限提升为操作系统权限 
普通用户权限提升为管理员权限 
横向权限提升 
通过本地权限获取远程主机权限 
获取本地局域网、设备等访问权限 
获取远程网络、设备的访问权限 
递归操作 
在需要的情况下,从第一阶段重新进行

11 渗透成果汇总

重大安全问题及时告知客户 
成功、失败的经验总结 
清除渗透过程中间文件

12 渗透测试成果汇报、交流

渗透过程 
渗透深度(纵向、横向) 
渗透结果 
正式渗透测试报告 
综合方案、过程、成果汇报 
保密 
文挡移交、销毁 
信息池移交、销毁 
渗透成果保密

13 备份系统

紧急响应小组 
禁止高危操作 
操作过程记录 
中间文件处理 
“收尾”工作处理


14 扫描

工具扫描:漏洞、端口、帐户穷举 
人工试探:系统版本、应用服务信息、网络信息 
本地权限 
口令猜测 
远程漏洞、应用漏洞 
……
权限提升 
本地溢出、进程注入 
事件触发 
…… 
关联攻击 
网络嗅探、会话劫持、中间人攻击