渗透测试的种类
(1) 黑盒测试
定义:渗透测试人员除了知道被测试的目标之外,其余与目标相关的信息一无所知。
特点:这种类型的渗透测试属于外部渗透测试。在前期需要对目标进行大量的信息收集,耗时较长。但是这种类型的渗透测试更有利于挖掘出系统潜在的漏洞、以及脆弱环节、薄弱点等。
(2) 白盒测试
定义:渗透测试人员可以通过正常渠道向被测试单位取得各种资料,包括网络拓扑、员工资料甚至网站程序的代码片段,也可以和单位其他员工进行面对面沟通。
特点:这种类型的渗透测试在前期已经对目标系统有了一个初步的了解。这类测试的地点可以分为“从组织内部”与“从组织外部”两种大环境。在这种测试下可以充分发挥“社会工程学的力量”,对企业内部雇员的越权操作进行测试。
(3) 灰盒测试
定义:灰盒测试介于白盒测试与黑盒测试之间
特点:属于较为隐秘的测试。在测试当中,被测试单位只有少数人知晓测试的存在,因此能够较好的检验单位中的信息安全事件监控、响应等是否到位。
脆弱性评估与渗透测试
脆弱性评估通过分析企业资产面临威胁的情况和程度,评估内部和外部的安全控制的安全性,这种技术上的信息系统评估不仅要揭露现有防范措施里存在的风险,而且要提出多重备选的补救策略,并将这些策略进行比较。内部脆弱性评估可以保证内部系统的安全性,而外部的脆弱性评估则用于验证边界防护的有效性。无论是内部脆弱性评估还是进行外部脆弱性评估,评估人员都会采用各种攻击模式严格测试网络资产的安全性,从而验证信息系统处理安全威胁的能力,进而确定应对措施的有效性。
脆弱性测试与渗透测试的区别在于:渗透测试不仅要识别目标的弱点,它还涉及在目标系统上进行漏洞利用、权限提升和访问维护。换句话说,脆弱性评估虽然可以充分的发现系统里的缺陷,但是不会考虑去衡量这些缺陷对系统造成的危害。另外,相对于脆弱性评估,渗透测试更倾向于入侵,会刻意的使用各种技术手段利用安全漏洞;所以渗透测试可能对生产环境带来实际的破坏性影响。而脆弱性评估则是以非入侵性的方式、定性、定量的识别已知的安全弱点。
安全测试方法论
- 开源安全测试方法论(OSSTMM)
- 信息系统安全评估框架
- 开放式Web应用程序安全项目
- Web应用安全联合威胁分类
渗透测试执行标准
- 事前互动
- 情报收集
- 威胁建模
- 漏洞分析
- 漏洞利用
- 深度利用
- 书面报告
通用渗透测试框架
- 范围界定
- 信息收集
- 目标识别
- 服务枚举
- 漏洞映射
- 社会工程学
- 漏洞利用
- 提升权限
- 访问维护
- 文档报告