今天才知道渗透测试原来是这么一回事

渗透测试

渗透测试(Penetration Testing)(Pen Testing)是一种通过模拟攻击的技术与方法,挫败目标系统的安全控制措施并获得控制访问权的安全测试方法。
网络渗透测试主要依据CVE(Common Vulnerabilities and Exposures)已经发现的安全漏洞,模拟入侵者的攻击方法对网站应用、服务器系统和网络设备进行非破坏性质的攻击性测试。

APT攻击

定义

即高级可持续威胁攻击,也称为定向威胁攻击,指某组织对特定对象展开的持续有效的攻击活动。这种攻击活动具有极强的隐蔽性和针对性,通常会运用受感染的各种介质、供应链和社会工程学等多种手段实施先进的、持久的目有效的威胁和攻击。

APT四个要素

对于APT攻击比较权威的定义是由美国国家标准与技术研究所(NIST)提出的,该定义给出了APT攻击的4个要素,具体如下。

  1. 攻击者:拥有高水平专业知识和丰富资源的敌对方。
  2. 攻击目的:破坏某组织的关键设施,或阻碍某项任务的正常进行。
  3. 攻击手段:利用多种攻击方式,通过在目标基础设施上建立并扩展立足点来获取信息。
  4. 攻击过程:在一个很长的时间段内潜伏并反复对目标进行攻击,同时适应安全系统的防御措施,通过保持高水平的交互来达到攻击目的。

APT与渗透测试的区别(目的、手段、结果)

目的上
渗透测试目的是评估计算机网络系统的安全性。
APT的目的是对高价值目标进行的有组织、长期持续性的控制。
手段方法上
渗透测试通过被允许的行为模拟黑客攻击来对目标系统进行测试。
APT则是利用任何高技术手段(包括0day漏洞、欺骗性的钓鱼邮件等)进行攻击。
结果上
渗透测试提高了目标系统的安全级别。
APT在达成目的过程中一般会给目标系统带来严重损失。

渗透测试必要性

目的
侵入系统并获取机密信息并将入侵的过程和细节产生报告提供给用户,由此确定用户系统所存在的安全威胁,并能及时提醒安全管理员完善安全策略,降低安全风险。
为什么要进行渗透测试(重要性)4点

  1. 百密一疏,新系统可能存在未知的风险
  2. 未雨绸缪,而不是亡羊补牢
  3. 专业的渗透测试后,即使是系统未被攻破,也可以以此证明先前实行的防御是有效的
  4. 专业的渗透测试可以有效评估系统的安全状况,并提出合理的改进方案

渗透测试分类

根据渗透测试方法分类(3类)
● 黑盒测试
● 白盒测试
● 灰盒测试

黑盒测试

在进行黑盒测试时,安全审计员在不清楚被测单位的内部技术构造的情况下,从外部评估网络基础设施的安全性。在渗透测试的各个阶段,黑盒测试借助真实世界的黑客技术,暴露目标的安全问题,甚至可以揭露尚未被他人利用的安全弱点。
渗透测试人员应能理解安全弱点,将之分类并按照风险等级(高、中、低)对其排序。通常来说,风险级别取决于相关弱点可能形成的危害的大小。老练的渗透测试专家应能够确定可引发安全事故的所有攻击模式。当测试人员完成黑盒测试的所有测试工作之后,他们会把与测试对象安全状况相关的必要信息进行整理,并使用业务的语言描述这些被识别出来的风险,继而将之汇总为书面报告。黑盒测试的市场报价通常会高于白盒测试。

白盒测试

白盒测试的审计员可以获取被测单位的各种内部资料甚至不公开资料,所以进行白盒测试的渗透测试人员的视野更为开阔。若以白盒测试的方法评估安全漏洞,测试人员可以以做小的工作量达到最高的评估精准度。白盒测试从被测系统环境自身出发,全面消除内部安全问题。黑盒测试起不到这样的作用。另外,若能将白盒测试与常规的研发生命周期相结合,就可以在入侵者发现甚至利用安全弱点之前,尽可能最早地消除全部安全隐患。这使得白盒测试的时间、成本,以及发现、解决安全弱点的技术门槛都全面低于黑盒测试。

灰盒测试

介于白盒与黑盒之间,是基于对测试对象内部细节有限认知的软件测试方法。

根据渗透测试目标分类(6类)

● 主机操作系统渗透测试
● 数据库系统渗透测试
● 应用系统渗透测试:对渗透测试目标提供的各种应用,如ASP、PHP等组成的WWW应用进行渗透测试。
● 网络设备渗透测试:对各种防火墙、入侵检测系统、网络设备进行渗透测试。
● 内网渗透测试:模拟客户内部违规操作者的行为(绕过了防火墙的保护)。
● 外网渗透测试:模拟对内部状态一无所知的外部攻击者的行为。包括对网络设备的远程攻击,口令管理安全性测试,防火墙规则试探、规避,web及其它开放应用服务的安全性测试。
根据Web服务体系架构的渗透测试分类(4类)
● 服务器渗透测试:对服务器自身的安全性(如操作系统、数据库是否存在弱口令等)进行检测。
● 中间件渗透测试:对 Apache 、IIS、Tomcat、Nginx 等Web中间件的漏洞(如配置缺陷、文件解析、反序列化漏洞等)进行检测。
● Web应用渗透测试:对CMS、Blog等Web应用程序的漏洞(如SQL注入、XSS、CSRF、文件上传与解析、文件包含、命令执行等)进行检测。
● 业务逻辑渗透测试:对业务逻辑安全性(如验证逻辑问题、会话管理问题、权限控制问题等)进行检测。

渗透测试原则

渗透测试过程的最大的风险:测试过程中对业务产生影响。
● 渗透测试是一个渐进的并且逐步深入的过程。
● 渗透测试是选择不影响业务系统正常运行的攻击方法进行的测试。
合规性:符合规范和法律要求也是执行业务的一个必要条件(渗透测试工具必须使用一些通过规范审核后的工具)。

脆弱性评估与渗透测试

脆弱性评估:脆弱性评估通过分析企业资产面临安全威胁的情况和程度,评估内部和外部的安全控制的安全性。这种技术上的信息系统评估,不仅揭露出现有的防范措施里存在的风险,而且要提出多重备选的补救策略,并将这些策略进行比较。内部的脆弱性评估可以保证内部系统的安全性,而外部的脆弱性则是验证边界防护(perimeter defenses)的有效性。无论进行内部脆弱性评估还是进行外部脆弱性评估,评估人员都会采用各种攻击模式来严格测试网络资产的安全性,从而验证信息系统处理安全威胁的能力,进而确定应对措施的有效性。不同类型的脆弱性评估需要的测试流程、测试工具和自动化测试技术也不相同。这可以通过一体化的安全弱点管控(vulnerability management)平台来实现。现在的安全弱点管理平台带有可自动更新的漏洞数据库,能够测试不同类型的网络设备,而且不会影响配置管理和变更管理的完整性。
脆弱性评估和渗透测试最大的区别就是: 渗透测试不仅要识别目标的弱点,他还设计在目标系统上进行漏洞利用、权限提升和访问维护。换句话说,脆弱性评估虽然可以充分发现系统里的缺陷,但是不会去考虑衡量这些缺陷对系统造成的危害。另外,相比脆弱性评估,渗透测试更倾向于入侵,会刻意使用各种技术手段利用安全漏洞;所以渗透测试可能会对生产环境带来实际的破坏性影响。而脆弱性评估以非入侵的方式,定性、定量地识别已知的安全弱点。

安全测试方法论

渗透测试指南。
开发人员指南。
代码审计指南OWASP top 10 Web 十大安全漏洞。
CWE。
CVE。
渗透测试流程PTES。
渗透测试执行标准(Penetration Testing Execution Standard,PTES)。

渗透测试的流程(7步)

第一阶段:前期交互阶段(事前互动)
第二阶段:情报收集阶段
第三阶段:威胁建模阶段
第四阶段:漏洞分析阶段
第五阶段:渗透攻击阶段(漏洞利用)
第六阶段:后渗透阶段(深度利用)
第七阶段:报告阶段

第一阶段:前期交互阶段(事前互动)

在前期交互阶段,渗透测试团队与客服组织进行交互讨论,最重要的是确定渗透测试的范围、目标、限制条件以及服务合同细节。
该阶段通常涉及收集客户需求、准备测试计划、定义测试范围与边界、定义业务目标、项目管理与规划等活动。
客户书面授权委托,并同意实施方案是进行渗透测试的必要条件。渗透测试首先必须将实施方法、实施时间、实施人员、实施工具等具体的实施方案提交给客户,并得到客户的相应书面委托和授权。应该做到客户对渗透测试所有细节和风险的知晓,所有过程都在客户的控制下进行。

第二阶段:情报收集阶段

OSINT开源情报有三种形式:被动、半被动、主动。

被动信息收集

被动信息收集通常只有在有一个非常明确的要求,即信息收集活动永远不会被目标检测到时才有用。 这种类型的分析在技术上很难执行,因为我们从未通过互联网从我们的主机或“匿名”主机或服务向目标组织发送任何流量。 这意味着我们只能使用和收集存档或存储的信息。 因此,这些信息可能过时或不正确,因为我们仅限于从第三方收集的结果。

半被动信息收集

半被动信息收集的目标是用看起来像正常互联网流量和行为的方法来分析目标。 我们只查询已发布的名称服务器的信息,我们不执行深入的反向查找或强力DNS请求,我们不搜索“未发布”的服务器或目录。 我们没有运行网络级端口扫描或爬虫,我们只查看已发布文档和文件中的元数据;而不是主动寻找隐藏内容。 这里的关键是不要引起人们对我们活动的注意。 事后,目标可能能够回去发现侦察活动,但他们不应该能够将活动归因于任何人。

主动信息收集

主动信息收集应该被目标和可疑或恶意行为检测到。 在此阶段,我们积极映射网络基础设施(考虑全端口扫描nmap -p1-65535),积极枚举和/或漏洞扫描开放服务,我们积极搜索未发布的目录,文件和服务器。 大部分的活动福尔斯属于你典型的“侦察”或“扫描”活动,为您的标准渗透。
信息收集是每一步渗透攻击的前提,通过信息收集可以有针对性地制定模拟攻击测试计划,提高模拟攻击的成功率,同时可以有效地降低攻击测试对系统正常运行造成的不利影响。信息收集的方法包括DNS探测、操作系统指纹判别、应用判别、账号扫描、配置判别等。

第三阶段:威胁建模阶段

威胁建模主要使用在信息收集分析阶段所获取到的信息,来标识出目标系统上可能存在的安全漏洞与弱点。
在进行威胁建模时,将确定最为高效的攻击方法、所需要进一步获取信息,以及从哪里攻破系统。
在威胁建模阶段,通常需要将客户组织作为敌手看待,然后以攻击者的视角和思维来尝试利用目标系统的弱点。

第四阶段:漏洞分析阶段

漏洞分析阶段主要是从前面几个环节获取的信息中分析和理解哪些攻击途径会是可行的。
特别需要重点分析端口和漏洞扫描结果、攫取到的服务“旗帜”信息以及在信息收集分析环节中得到的其他关键信息。

第五阶段:渗透攻击阶段(漏洞利用)

精准打击
绕过检测机制
绕过防御机制
触发攻击响应控制措施
定制渗透攻击路径
渗透代码测试

第六阶段:后渗透阶段(深度利用)

后渗透攻击阶段队已经攻陷了客户组织的一些系统或取得域管理员板限之后开始,将以特定业务系统为目标,标识出关键的基础设施,并寻找客户组织最具价值和尝试进行安全保护的信息和资产,并需要演示出能够对客户组织造成最重要业务影响的攻击途径。主要包括:
基础设施分析
高价值目标识别
掠夺敏感信息
业务影响攻击
掩踪灭迹
持续性存在

第七阶段:报告阶段

报告是渗透测试过程中最为重要的因素,将使用报告文档来交流。

IT资产矩阵

IT资产矩阵将IT资产大致可分为五类:
● 物理资产
● 软件资产
● 数据资产
● 服务资产
● 人员资产

物理资产

在这里插入图片描述

软件资产

在这里插入图片描述

数据资产

在这里插入图片描述

服务资产

在这里插入图片描述

人员资产

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猿动力

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值