5、渗透测试:渗透攻击阶段(Pentest-Standard)

admin 2022年11月5日10:58:15评论35 views字数 4609阅读15分21秒阅读模式

关注公众号,回复“河南等保1101” 获取“Metasploit渗透测试指南:修订版”PDF版 


渗透攻击阶段

渗透测试的利用阶段仅侧重于通过绕过安全限制来建立对系统或资源的访问。如果前一阶段,漏洞分析执行得当,这个阶段应该计划周密,并进行精确打击。主要重点是确定进入组织的主要切入点,并确定高价值的目标资产。

如果漏洞分析阶段已正确完成,则应遵守高价值目标列表。最终,攻击媒介应考虑成功概率和对组织的最大影响。

对策

对策被定义为阻碍成功完成漏洞利用途径的能力的预防性技术或控制措施。该技术可能是基于主机的入侵防御系统、安全防护、Web 应用程序防火墙或其他预防方法。执行漏洞利用时,应考虑几个因素。在采用预防技术的情况下,应考虑使用翻墙技术。在无法做到这一点的情况下,应考虑其他利用方法。

总的来说,目的是在攻击组织时保持隐身,如果警报被触发,评估水平可能会降低。如果可能,应在触发漏洞利用之前枚举对策。这可以通过进行攻击的试运行或枚举技术来完成。

防病毒

防病毒是一种旨在防止恶意软件部署在系统上的技术。作为渗透测试人员,我们应该能够识别这些类型的防病毒技术并能够防范它们。防病毒是可以实施的所有不同预防措施的一小部分,例如基于主机的入侵防御系统、Web 应用程序防火墙和其他预防技术。

编码

编码是一种对数据进行模糊处理的方法,其方式使部署的代码段看起来不一样。使用编码时,混淆通常是通过对信息进行加扰并重新排列以隐藏应用程序实际执行的操作的事实。

包装

打包在某种意义上类似于编码,因为它尝试重新排列数据以压缩应用程序或“打包”它。这样做的希望是,正在交付的可执行文件或代码段被混淆,其方式不会被防病毒技术拾取。

加密

加密,如编码和打包,是另一种操作预期可运行代码的方法,使其无法识别或可用于检查。只有在内存中解密(使用类似于打包的方法)后,实际代码才会首次公开 - 希望在安全机制允许它通过并在解密后立即执行。

白名单绕过

白名单技术对一次在给定系统上看到的应用程序利用了受信任的模型。该技术采用系统的基线,并确定在系统上正常运行的内容与外部运行的内容。渗透测试人员应该能够绕过白名单技术。最常见的方法之一是通过直接内存访问。白名单不具有实时监控内存的能力,如果内存驻留程序正在运行并且不接触磁盘,则可以在不被给定技术检测到的情况下运行。

注入

进程注入只是注入到已在运行的进程的方法。通过注入到进程中,应用程序的信息可以隐藏在通常本质上受信任的进程中。预防措施技术很难检查正在运行的进程,并且几乎总是隐藏在应用程序认为是受信任的不同进程中。

纯内存驻留

内存驻留攻击通常是首选,因为大多数技术不检查内存。作为攻击者,找到一种纯粹存在于记忆中的方式是最可取的。写入磁盘时,大多数应用程序将对潜在的恶意软件进行扫描、基线和其他识别。写入磁盘时被检测的能力明显增强。

执行漏洞利用时,通过直接利用或应用程序缺陷并不总是最佳途径。有时,人为因素可能是攻击组织的更好方式。重要的是要了解正确的攻击途径,并确保我们利用的方法是正确的途径。

数据执行保护 (DEP)

在进行剥削时,许多预防措施可以发挥作用。数据执行保护是在大多数操作系统中实施的一种防御措施,可在内存中发生覆盖时阻止执行权限。DEP 背后的思维过程是阻止攻击者重写内存,然后执行该代码。有多种方法可以绕过数据执行保护,稍后在 PTES 的开发阶段将对此进行讨论。

地址空间布局随机化

在缓冲区溢出漏洞(或我们控制内存的任何漏洞)期间,内存地址被硬编码,以便将执行流重定向到我们的shellcode。在 ASLR 的情况下,某些字节是随机的,以防止攻击者预测他/她总是可以去哪里执行shellcode。

Web 应用程序防火墙 (WAF)

Web 应用程序防火墙是一种与应用程序内联的技术,用于防止基于 Web 的应用程序攻击。Web 应用程序防火墙尝试识别针对给定 Web 应用程序的潜在危险或恶意格式攻击并阻止它们。Web 应用程序防火墙有许多绕过技术,应在渗透测试期间进行测试。

5、渗透测试:渗透攻击阶段(Pentest-Standard)

规避

逃避是在渗透测试期间用于逃避检测的技术。这可能是绕过不被警卫看到的摄像头系统,混淆您的有效载荷以逃避入侵检测系统 (IDS) 或入侵防御系统 (IPS),或者对请求/响应进行编码以绕过 Web 应用程序防火墙。总体而言,在利用之前,应制定识别规避技术或人员的低风险场景的需求。

精确打击

渗透测试的主要重点是模拟攻击者,以表示对组织的模拟攻击。通过渗透测试带来的价值通常不是通过粉碎和抓取技术,其中攻击本质上是嘈杂的,并且试图尝试每个漏洞。这种方法在渗透测试结束时可能特别有用,以衡量组织的事件响应级别,但在大多数情况下,利用阶段是对目标的特定研究的积累。

定制开发途径

每次攻击在利用途径的发生方式上通常都不一样。为了在此阶段取得成功,应根据场景定制和定制攻击。例如,如果进行了无线渗透测试,并且正在使用特定技术,则需要根据现有的技术来识别和攻击这些技术。清楚地了解每种情况和漏洞利用的适用性是渗透测试此阶段最重要的方面之一。

量身定制的漏洞利用

在许多情况下,互联网上公开的漏洞利用可能需要一些工作才能成功完成。在大多数情况下,如果漏洞利用是为 Windows XP SP2 设计的,则需要对漏洞进行特定修改,以便通过 Windows XP SP3 成功攻击。渗透测试人员应具备能够自定义漏洞利用的知识以及动态更改以成功完成攻击的能力。

漏洞利用定制

在发生攻击时,通常需要模拟受害者的基础设施,以确保利用阶段成功。在信息收集阶段利用的技术总是可以帮助做到这一点,但是,拥有有效的基础设施和系统将使解释阶段变得更加容易。如果发生定制的漏洞利用,渗透测试人员应该能够自定义已经公开的漏洞,以便成功攻击系统。攻击的一个常见主题是针对特定版本的操作系统或应用程序。原因是内存地址根据服务包和/或操作系统的新版本而更改。测试人员应该能够自定义这些漏洞,以成功部署到不同的操作系统并成功破坏系统。

零日视角

在大多数情况下,零日角度通常是大多数渗透测试人员的最后手段。这种类型的攻击通常代表一个高度先进的组织,可以通过正常的攻击方法处理针对组织的集中攻击。在某些情况下,可能会进行研究,以便对尚未发现的漏洞进行逆向工程、模糊处理或执行高级发现。如果此类攻击适用,请确保重现攻击者所知的最佳环境,以包括对策技术。

为了使零日漏洞利用(或任何与此相关的漏洞利用)成功,拥有相同的操作系统、补丁和对策对于成功非常重要。有时,根据已发生的访问级别或枚举,此信息可能不可用。

模糊

模糊测试是重新创建协议或应用程序并尝试在应用程序上发送数据以希望识别漏洞的能力。通常,模糊器的希望是识别应用程序中的崩溃并从中构建特定的漏洞。在模糊测试的情况下,攻击者试图从以前未发现的内容中创建特定漏洞。作为渗透测试的一部分,如果在参与期间没有发现任何途径,或者参与需要零日研究;应利用模糊测试技术来识别潜在的脆弱暴露。

源代码分析

渗透测试人员可用的其他途径是源代码是否可用或开源。如果测试人员能够查看源代码并识别应用程序中的缺陷,则也可以通过这些方法识别零日暴露。

漏洞利用的类型

在渗透测试期间可以识别出几种类型的漏洞,这些漏洞可以归类为零日漏洞。本节列出了一些。

缓冲区溢出

由于编码技术不当而发生缓冲区溢出。具体来说,当程序将数据写入缓冲区,然后溢出缓冲区的边界并开始覆盖部分内存时,通常会发生这种情况。在缓冲区溢出漏洞利用中,攻击者的目标是控制崩溃并获得给定系统上的代码执行。在缓冲区溢出漏洞中,更常见的技术之一是覆盖给定的寄存器并“跳转”到shellcode。

SEH 覆盖

当结构化异常处理程序开始正常关闭应用程序时,会发生 SEH 覆盖。攻击者可以操纵 SEH 的工作方式,覆盖 SEH 处理程序的基址,并通过 SEH 获得对执行流的控制。这是一种常见的攻击,利用缓冲区溢出漏洞和已遵守 SEH 的应用程序。

面向回报的编程

面向返回编程 (ROP) 是一种在用户控制执行流但数据执行保护 (DEP) 或其他排除防御机制可能到位的部分中使用的技术。在启用 DEP 的情况下,攻击者没有直接访问权限来执行特定的程序集指令,因此攻击者构建 ROP 小工具以准备某些 Windows API 调用或技术来禁用 DEP 或规避 DEP。一种常见的方法是利用 WriteProcessMemory 调用将数据从堆栈复制到可写内存空间,然后可以执行该空间。

流量分析

流量分析是识别正在发送的信息类型以及理解和操纵该流量的能力的技术。渗透测试人员应该能够了解协议的工作原理以及如何操纵它以利用攻击。

物理访问

渗透测试期间的物理访问可能是尝试绕过物理安全控制并获得未经授权的访问的可行攻击方法。在渗透测试期间,评估员应该能够识别可能存在缺陷的物理安全控制,并在范围内尝试访问设施。

人的角度

在物理渗透测试期间,一些最明显的方法是通过社会工程进入设施并获得访问权限。这需要对组织如何开展业务的大量了解,以及您从情报收集阶段学到的一切。

电脑访问

如果授予对PC的物理访问权限,渗透测试人员应该能够攻击PC并通过允许访问系统的多种方法获得访问权限。

近距离访问(无线上网)

无线通信是攻击通过RF类型通信获得访问权限的途径。渗透测试人员应查看FCC射频列表,以查看目标是否已使用注册频谱频率。

无线局域网攻击

无论协议如何,有许多攻击可用于WEP,WPA,WPA2,EAP-FAST,EAP-LEAP和其他途径。攻击者应该熟悉各种加密协议和标准,并能够有效地测试围绕所实施的控制来实现。

攻击用户

利用流氓接入点来攻击受害者通常是一种有益且可行的攻击方法。在无线评估期间,应利用恶意接入点引诱受害者以利用漏洞利用或窃取敏感信息。有几种常见的技术可以使用它,但最常见的是攻击者会设置一个具有相同名称或诱人名称的无线接入点,以便受害者进行连接。

攻击途径示例

在任何情况下,攻击都应基于参与范围内的方案组成。下面列出了根据场景要考虑的几种攻击途径,但绝不是全面的列表。

Web 应用程序攻击 社会工程 物理攻击途径 基于内存的攻击(即缓冲区/堆溢出、内存损坏、释放后使用)。中间人 VLAN 跳频 USB/闪存驱动器部署 逆向工程 零日角 攻击用户 加密破解 图形处理单元 (GPU) 破解 流量分析 火线 路由协议 带有借口的网络钓鱼 员工冒充

同样,这些示例只是基于您为组织执行的方案进行攻击的基本途径。渗透测试的价值来自创造力和识别暴露并以精确方式利用它们的能力。

总体目标

在与客户的参与前交互阶段,应该传达渗透测试总体目标的明确定义。在开发阶段,最大的挑战是在未被发现的情况下确定进入组织的阻力最小的路径,并对组织产生收入的能力产生最大影响。

通过正确执行前面的阶段,应该相对清楚地了解组织如何运作和赚钱。从利用阶段到利用后阶段,攻击媒介应完全依赖于规避安全控制的任务,以表示组织如何通过针对组织的针对性攻击而遭受重大损失。


人为因素越来越多,黑客渗透测试驱动的安全发展

专业人士使用的 11 种渗透测试工具
渗透测试过程中所需工具
什么是渗透测试?
渗透测试:信息安全测试和评估技术指南NIST SP 800-115
Offensive Security渗透测试报告模板
渗透测试过程中所需工具
影响渗透测试成本的7大因素
渗透测试过程中的情报收集
渗透测试是检查安全操作的引擎灯
应用程序安全渗透测试指南

原文始发于微信公众号(河南等级保护测评):5、渗透测试:渗透攻击阶段(Pentest-Standard)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年11月5日10:58:15
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   5、渗透测试:渗透攻击阶段(Pentest-Standard)http://cn-sec.com/archives/1392492.html

发表评论

匿名网友 填写信息