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

admin 2022年11月9日11:35:10评论37 views字数 9336阅读31分7秒阅读模式

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


渗透测试:后渗透攻击阶段

利用后阶段的目的是确定受损计算机的价值,并保持对计算机的控制以供以后使用。机器的价值取决于存储在其上的数据的敏感性以及机器在进一步危害网络方面的有用性。此阶段中描述的方法旨在帮助测试人员识别和记录敏感数据,识别配置设置、通信通道以及与可用于进一步访问网络的其他网络设备的关系,并在以后设置一种或多种访问计算机的方法。如果这些方法与商定的接洽规则不同,则必须遵守接战规则。

接洽规则

以下接洽规则特定于渗透测试的开发后阶段,旨在确保客户的系统不会因测试人员的(直接或间接)操作而受到不必要的风险,并确保在项目的开发后阶段遵循双方商定的程序。

保护客户端

以下规则将用作与客户建立的规则指南,以确保客户的日常操作和数据不会面临风险:

除非事先达成一致,否则客户认为对其基础设施“至关重要”的服务不会进行任何修改。修改此类服务的目的是向客户端演示攻击者如何:

o提升权限

o访问特定数据

o导致拒绝服务

必须记录针对系统执行的所有修改,包括配置更改。完成修改的预期目的后,如果可能,所有设置都应返回到其原始位置。更改列表应在参与后提供给客户,以允许他们确保正确撤消所有更改。无法恢复到其原始位置的更改应与成功撤消的更改明确区分开来。

必须保留对受损系统所采取措施的详细列表。该清单应包括所采取的行动和发生的时间。完成后,该清单应作为最后报告的附录列入。

只有在满足以下条件的情况下,在渗透测试过程中发现的任何和所有私人和/或个人用户数据(包括密码和系统历史记录)都可以用作获得进一步权限或执行与测试相关的其他操作的杠杆:

o客户端的“可接受使用策略”声明所有系统都归客户端所有,存储在这些系统上的所有数据都是客户端的属性。

o“可接受使用策略”指出,与客户端网络的连接被视为同意对要搜索和分析所连接的计算机(包括所有现有数据和配置)。

o客户确认所有员工均已阅读并理解可接受使用政策。

密码(包括加密形式的密码)将不会包含在最终报告中,或者必须被屏蔽到足以确保报告的收件人无法重新创建或猜测密码。这样做是为了保护密码所属用户的机密性,并保持它们所保护的系统的完整性。

未经客户事先书面同意,不得实施任何用于保持对受感染系统的访问的方法或设备,这些方法或设备可能会影响系统的正常运行或其删除可能导致停机。

用于保持对受感染系统的访问的任何方法或设备都必须采用某种形式的用户身份验证,例如数字证书或登录提示。与已知受控系统的反向连接也是可以接受的。

测试人员收集的所有数据都必须在测试人员使用的系统上进行加密。

报表中包含的可能包含敏感数据(屏幕截图、表格、图形)的任何信息都必须使用使报表收件人永久无法恢复的数据的技术进行清理或屏蔽。

一旦客户接受最终报告,所有收集的数据将被销毁。使用的方法和销毁证明将提供给客户。

如果收集的数据受任何法律管制,则所使用的系统及其位置将由客户提供,以确保收集和处理的数据不违反任何适用法律。如果系统将是渗透测试团队的系统,则数据可能不会下载并存储在其系统上,并且只会显示访问证明(文件权限,记录计数,文件名。.等)。

未经客户事先同意,不会使用第三方密码破解服务,也不会与第三方共享任何其他类型的数据。

如果在评估环境中发现先前妥协的证据,则渗透团队在评估期间记录的所有日志以及操作和时间将被保存,散列并提供给客户。然后,客户端可以确定如何最好地响应和处理事件响应。

除非客户在参与合同/工作说明中特别授权,否则不应删除,清除或修改任何日志。如果获得授权,则必须在进行任何更改之前备份日志。

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

保护自己

由于渗透测试的性质,必须确保在与客户打交道时涵盖所有基础以及将要执行的任务。在开始任何工作之前,与客户讨论以下内容,以确保清楚地了解客户和提供者的角色和责任。

确保由客户和提供商签署的合同和/或工作说明,即对被测试的系统执行的操作代表并代表客户。

在开始参与计划之前,获取管理用户使用公司系统和基础结构的安全策略(通常称为“可接受的使用”策略)的副本。验证策略是否涵盖:

o个人使用设备并在客户系统上存储个人员工数据以及该数据的所有权和权利。

o存储在公司设备上的数据的所有权。

确认管理客户在其系统上管理和使用的数据的法规和法律以及对此类数据施加的限制。

对将接收和存储客户端数据的系统和可移动媒体使用全驱动器加密。

与客户讨论并确定在发现第三方妥协的情况下应遵循的程序。

检查有关捕获和/或存储音频和视频的法律,因为在利用后使用此方法可能被视为违反当地或国家/地区的窃听法。

基础设施分析

网络配置

受感染计算机的网络配置可用于识别其他子网、网络路由器、关键服务器、名称服务器和计算机之间的关系。此信息可用于识别其他目标,以进一步渗透客户端的网络。

接口

标识计算机上的所有网络接口及其 IP 地址、子网掩码和网关。通过识别接口和设置,可以确定网络和服务的优先级以进行定位。

路由

可以利用对其他子网、过滤或寻址方案的了解来逃避分段网络,从而导致需要探测和枚举的其他主机和/或网络。这些数据可能来自部分主机或网络上的各种来源,包括:

接口

路由表,包括静态和动态路由

用于服务和主机发现的 ARP 表、网络生物或其他网络协议。

对于多宿主主机,请确定它们是否充当路由器。

域名解析服务器

通过评估主机设置来标识正在使用的所有 DNS 服务器。然后,可以使用 DNS 服务器和信息来制定和执行在目标网络上发现其他主机和服务的计划。在 DNS 服务器遭到入侵的情况下,DNS 数据库将提供有关主机和服务的有价值信息,这些信息可用于确定评估剩余部分目标的优先级。修改和添加新记录可用于根据 DNS 拦截服务数据。

缓存的DNS条目

标识缓存中的高价值 DNS 条目,其中可能包括内部网站点、管理接口或外部站点的登录页。缓存接口提供受感染主机使用的最新和最常用的主机的信息,提供主机关系和交互的视图,提供可用于确定目标优先级的信息,以便进一步渗透目标网络和基础结构。如果允许,修改缓存条目可用于捕获身份验证凭据,身份验证令牌或获取有关受感染主机使用的服务的更多信息,从而进一步渗透目标网络。

代理服务器

标识网络和应用程序级代理服务器。代理服务器在客户端的企业范围内使用时是良好的目标。对于应用程序代理,可以识别、修改和/或监控流量或流量本身。代理攻击通常是向客户展示影响和风险的有效手段。

断续器条目

枚举缓存的 ARP 表条目和静态 ARP 表条目,这些条目可以显示与受感染计算机交互的其他主机。静态 ARP 条目可能表示关键计算机。如果评估范围允许拦截和修改 ARP 条目,则很容易显示以通常未检测到或保护的方式中断、监视或危害服务的可能性。

网络服务

监听服务

标识目标计算机提供的所有网络服务。这可能会导致发现未通过初始扫描识别的服务以及发现其他计算机和网络。扫描中未显示的服务的识别还可以提供有关在网络和/或主机中实现的可能的过滤和控制系统的信息。此外,测试人员可能能够利用这些服务来破坏其他机器。大多数操作系统都包含一种识别与计算机之间建立的 TCP 和 UDP 连接的方法。通过检查与受感染计算机之间的连接,可以找到以前未知的关系。除了主机之外,还应考虑服务,这可能会显示侦听非标准端口的服务,并指示信任关系,例如SSH的无密钥身份验证。

虚拟专用网络连接

应识别进出目标计算机或网络的所有 VPN 连接。出站连接可以提供以前可能未标识的新系统的路径。入站和出站都可以识别新系统和可能的业务关系。VPN连接通常绕过防火墙和入侵检测/防御系统,因为它们无法解密或检查加密的流量。这一事实使VPN成为发起攻击的理想选择。任何新目标在对其发动攻击之前,都应在范围内进行验证。目标主机上存在 VPN 客户端或服务器连接也可能提供对以前未知的凭据的访问,这些凭据可用于面向其他主机和服务。

目录服务

运行目录服务的目标主机可能会提供枚举可用于其他攻击的用户帐户、主机和/或服务的机会,或者提供以前在漏洞分析阶段可能未发现的其他目标。此外,在目录服务中找到的用户的详细信息可用于社交工程和网络钓鱼活动攻击,从而提供可能更高的成功率。

邻居

在当今的网络中,许多服务和操作系统使用许多协议进行邻居发现,以使服务的访问,故障排除和配置更加方便。协议因目标主机的类型而异。网络设备可以使用 CDP(Cisco 发现协议)和 LLDP(链路层发现协议)等协议来识别直接连接到它们或位于同一子网中的主机的系统、配置和其他详细信息。同样,桌面和服务器操作系统可以使用 mDNS(多播域名服务)和 NetBios 等协议来查找同一子网中主机和服务的详细信息。

掠夺

掠夺是指从目标主机获取与预评估阶段定义的目标相关的信息(即包含个人信息、信用卡信息、密码等的文件)。可以获得这些信息以满足目标的目的,也可以作为枢轴过程的一部分来进一步访问网络。此数据的位置将根据数据类型、主机的角色和其他情况而有所不同。对常用应用程序、服务器软件和中间件的知识和基本熟悉程度非常重要,因为大多数应用程序都以许多不同的格式和位置存储其数据。可能需要特殊工具才能从某些系统中获取、提取或读取目标数据。

已安装的程序

启动项

大多数系统都有可以在系统启动或用户登录时运行的应用程序,这些应用程序可以提供有关其交互的系统,软件和服务的用途的信息。此信息可能会揭示可能已实施的潜在对策,这些措施可能会阻碍进一步利用目标网络及其系统(例如 HIDS/HIPS、应用程序白名单、FIM)。应收集的信息包括:

系统上安装的应用程序及其关联版本的列表。

应用于系统的操作系统更新列表。

已安装的服务

特定主机上的服务可以为主机本身或目标网络中的其他主机提供服务。有必要创建每个目标主机的配置文件,注意这些服务的配置,它们的用途,以及它们如何潜在地用于实现评估目标或进一步渗透网络。

安全服务

安全服务包括旨在使攻击者远离系统并确保数据安全的软件。这些包括但不限于网络防火墙、基于主机的防火墙、IDS/IPS、HIDS/HIPS 和防病毒。识别单个目标主机上的任何安全服务,可以了解在以网络中的其他计算机为目标时会发生什么。它还提供了在测试期间可能触发的警报的概念,可以在项目汇报期间与客户讨论,并可能导致安全策略,UAC,SELinux,IPSec,Windows安全模板或其他安全规则集/配置的更新。

文件/打印机共享

文件和打印服务器通常包含目标数据或提供进一步渗透目标网络和主机的机会。应针对的信息包括:

文件服务器提供的共享 - 应检查目标系统提供的任何文件共享。即使只是股票的名称和评论也可能泄露有关内部应用程序或项目名称的重要信息(即,如果只有“Fred”和“Christine”有权访问“会计”文件夹,也许他们都是会计员工)。

访问控制列表和共享的权限。- 从客户端,如果可以连接到共享,则应检查连接是只读还是读/写。请记住,如果共享包含目录,则不同的权限可能适用于不同的目录。从服务器端应检查服务器配置和文件/目录权限。

文件共享文件和内容列表

从文件共享列表中标识感兴趣的文件。寻找有趣或有针对性的项目,例如:

o源码

o备份

o安装文件

o机密数据(电子表格中的财务数据、TXT/PDF 中的银行报告、密码文件等)

放置特洛伊木马或自动运行文件 - 使用巧妙的命名,或通过模仿已经在使用的命名约定,可以鼓励用户执行这些有效负载,允许测试人员进一步渗透网络。如果可以获得文件服务器日志,则甚至可能成为目标特定用户。

数据库服务器

数据库包含大量信息,这些信息可能是评估的目标。

数据库 - 数据库名称列表可以帮助评估者确定数据库的用途以及数据库可能包含的数据类型。在具有许多数据库的环境中,这将有助于确定目标的优先级。

表 - 表名和元数据(如注释、列名和类型)也可以帮助评估员选择目标并查找目标数据。

表内容,管控内容的行计数

列 - 在许多数据库中,可以使用单个命令搜索所有表的所有列名。这可以利用它来查找目标数据(例如,如果信用卡数据以Oracle数据库为目标,请尝试从all_tab_columns中执行选择*,其中name = '%CCN%';

数据库和表权限

数据库用户、密码、组和角色

托管在数据库上的信息也可用于显示风险,实现评估目标,确定服务的配置和功能或进一步渗透客户端网络和主机。

目录服务器

目录服务的主要目标是向服务和主机提供信息以供参考或/和身份验证。此服务的危害可能允许控制依赖于该服务的所有主机,并提供可用于进一步攻击的信息。要在目录服务中查找的信息包括:

对象列表(用户、密码、计算机等)。等)

与系统的连接

识别协议和安全级别

名称服务器

名称服务器根据其服务器的记录类型向主机和服务提供解析。记录和控件的枚举可以提供目标和服务的列表,以优先处理和攻击以进一步渗透客户端网络和主机。修改和添加记录的能力可用于显示拒绝服务的风险,并有助于拦截客户网络上的流量和信息。

部署服务

部署服务的标识允许访问和枚举:

无人参与的答案文件

文件权限

包含的更新

应用程序和版本

此信息可用于进一步渗透客户端网络和主机。修改存储库和服务配置的能力允许

后门安装

修改服务以使其容易受到攻击

证书颁发机构

在受感染的客户端主机上标识证书颁发机构服务将允许访问

根卡

代码签名证书

加密和签名证书

对服务的控制也将允许

为多个任务创建新证书

证书吊销

修改证书吊销列表

插入根 CA 证书

对服务的控制显示了风险,并允许在客户端的网络和主机上破坏数据和服务。

源代码管理服务器

通过受感染主机上运行的服务或服务的客户端部分来识别源代码管理系统,从而为以下情况提供了以下机会:

枚举项目 - 项目名称可以提供有关公司项目的敏感信息。

验证对源代码文件的访问权限

修改源代码文件 - 如果允许在范围内修改源代码,则修改源代码证明攻击者可以进行会影响系统的更改

枚举开发人员 - 开发人员详细信息可用于社交工程攻击以及用于攻击系统其他区域的输入

枚举配置

动态主机配置服务器

识别动态主机配置服务或受感染主机对服务的使用允许:

给定的枚举租约

枚举配置

枚举选项

修改配置

所有租约的消耗

对服务的控制可用于显示拒绝服务的风险,并用于受感染网络上主机和服务的中间人攻击。

虚拟化

识别虚拟化服务或客户端软件允许:

枚举虚拟机(名称、配置、操作系统)

枚举管理系统的密码和数字证书。

枚举虚拟化软件配置

主机配置

通过控制 VM 状态显示拒绝服务的风险

访问虚拟机上托管的数据

拦截受感染主机上托管的虚拟主机或服务的流量

消息

识别用于消息传递的服务或客户端软件提供了以下机会:

识别目录服务

凭据泄露

访问机密信息

识别网络上的主机

系统和业务关系

所有这些信息和操作都可以用来显示风险,并进一步渗透到客户的网络和主机中。

监控和管理

用于监视和/或管理目的的服务或客户端软件的标识可以提供对目标网络上附加服务器和服务的标识,此外,获得的配置参数可以提供对其它目标主机的访问并确定由测试者执行的哪些操作可以被客户端检测到。要查找的一些服务:

SNMP(简单网络管理协议)

系统日志

要查找某些管理服务和软件以获取凭据、识别主机和访问其他服务,这些服务和软件可能是:

固态混合硬盘服务器/客户端

远程登录服务器/客户端

RDP(远程桌面协议)客户端

终端服务器

虚拟环境管理软件

备份系统

识别用于备份数据的服务或客户端软件为攻击者提供了一个很好的机会,因为这些系统需要访问它们需要备份的数据和系统,从而为攻击者提供:

主机和系统的枚举

服务枚举

托管和/或服务的凭据

访问备份数据

从服务中获得的信息可用于显示对系统及其信息的机密性,完整性和访问权限的风险。访问备份还可以提供机会,将配置错误、易受攻击的软件或后门引入客户机系统。

网络服务(半径,塔卡克斯。等)

识别服务或使用网络服务允许:

枚举用户

主机和系统的枚举

凭据泄露

如果不存在替代方法,则显示拒绝服务的风险

敏感数据

按键记录

通过监控击键,可以检测包括密码和PII在内的敏感信息 - 如果用户说在私人IM上聊天同时使用公司软件,谁知道这是什么合法性?如果公司说网络上的所有数据都可以被监控,那么这应该没问题。如果“保护自己”中的第二个要点存在,并且它指出可以监控设备的使用,并且不允许个人使用,是的,如果政策不涵盖个人用户或数据所有权,则不可以。它也应该扩展到包括网络。

屏幕捕获

屏幕捕获可用于显示妥协的证据以及访问可以显示在屏幕上的信息,并且无法通过其他方式进行访问。应非常小心地处理通过屏幕截图收集的数据,以免显示客户员工的私人数据。

网络流量捕获

根据网络上的控件,可以使用网络流量捕获,用于捕获的媒体可用于:

识别网络上的主机

拦截数据

识别服务

确定网络中主机之间的关系

凭据的捕获

应注意仅捕获参与范围内涵盖的流量,并且捕获的信息不受当地法律的控制,例如捕获IP语音呼叫。应过滤保留和显示的信息,以保护客户的客户和/或员工的个人和机密数据。

以前的审计报告

用户信息

在本节中,主要重点是目标系统上存在的与用户帐户相关的信息,这些用户帐户要么存在于系统上,要么已远程连接并留下了一些痕迹,执行评估的人员可以收集和分析以进一步渗透或提供评估的预期目标。

在系统上

可以在受感染的系统上收集的一般信息包括:

历史记录文件 - 历史记录文件存储用户最近执行的命令。通读这些可以揭示系统配置信息,重要应用程序,数据位置和其他系统*敏感信息。

加密密钥(固态混合、断续器/通用技术)

有趣的文档 (.doc/x、 .xls/x 、 密码.*) - 用户经常将密码和其他敏感信息存储在明文文档中。可以通过两种方式找到它们:在文件名中搜索有趣的单词(如密码.txt)或搜索文档本身。索引服务可以帮助解决这个问题,例如Linux定位数据库。

用户特定的应用程序配置参数

单个应用程序历史记录(仅限 MRU 视窗,历史记录文件。等)

枚举可移动媒体

枚举网络共享/域权限(gpresult)

网络浏览器

可以从Web浏览器收集的信息可用于识别其他主机和系统,以及提供进一步渗透客户端网络和主机的信息是:

浏览器历史记录

书签

下载历史记录

凭据

代理

插件/扩展

应该非常小心,只捕获参与范围内的数据,因为来自Web浏览器的信息可能包含客户的员工的机密和私人数据。应从返回的数据和报表中筛选出此数据。

即时通讯客户端

可以从受感染系统上的 IM 客户端收集的信息包括:

枚举帐户配置(用户、密码、服务器、代理)

聊天记录

应该非常小心,只捕获参与范围内的数据,因为来自Web浏览器的信息可能包含客户的员工的机密和私人数据。应从返回的数据和报表中筛选出此数据。

系统配置

密码策略

通过枚举系统密码策略,暴力破解密码的能力变得更加高效,例如,知道最小密码长度为8个字符,您可以从字典中删除任何少于8个字符的单词。

安全政策

已配置的无线网络和按键

通过查找目标无线信息,可以在现场通过公司的wifi发起物理攻击。它还允许设置一个假AP来诱使目标在离开现场时进行连接。

高价值/轮廓目标

通过分析从受感染系统收集的数据以及这些系统以及在其上运行的服务之间的交互,可以识别高价值/配置文件目标,并从参与前会议中确定的目标进一步扩展这些高价值/配置文件目标的操作和交互视图有助于识别和衡量可能对业务产生的影响数据和流程以及客户基础设施和服务的整体完整性。

数据泄露

映射所有可能的渗漏路径

从已实现进入的每个区域,应创建完整的渗漏路径。这包括进入外部世界的二级和三级方式(通过不同的可访问子网等)。一旦提供了映射,就应该开始实际的渗滤测试。

测试渗出路径

根据外泄路径映射,数据应从被测试的组织中渗透。这应该已经在参与前范围中涵盖,并且应该已经设置了足够的基础设施,该基础架构遵循客户可接受的参与策略(即,被泄露的数据通常被泄露到测试人员完全控制的服务器,并将访问和所有权给被测试的组织)。外泄本身应模拟威胁参与者使用的真实世界外泄策略,这些策略对应于与组织相关的威胁建模标准(即,如果犯罪分子主要是使用网络内的暂存区域进行“标准”外泄,其中数据存档在zip/7z加密文件中,然后发送到Internet上的FTP/HTTP服务器, 如果一个更复杂的威胁行为者,那么使用模拟这种策略和战术的手段用于渗透)。

测量控制强度

在执行外泄测试时,测试的主要目标是查看当前用于检测和阻止敏感信息离开组织的控制措施是否实际有效,以及如果检测到任何内容,则对响应团队进行锻炼,以了解他们对此类警报的反应以及如何调查和缓解事件。

坚持

安装需要身份验证的后门。

安装和/或修改服务以重新连接到系统。用户和复杂密码应作为最低使用;在可能的情况下,最好使用证书或加密密钥。(固态混合酶、新浪汉、断续器)。可以使用限制为单个 IP 的反向连接。

创建具有复杂密码的备用帐户。

如果可能,后门必须在重新启动后继续存在。

进一步渗透到基础设施领域

Pivoting 是测试人员将利用他在受感染系统上的存在来进一步枚举和访问客户端基础结构上其他系统的操作。此操作可以使用本地资源或上传到受感染系统的工具从受感染的主机本身执行。

从受损系统

可以从受感染的系统执行的操作:

上传工具

使用本地系统工具

断续器扫描

平扫

内部网络的 DNS 枚举

目录服务枚举

暴力破解攻击

通过管理协议和泄露的凭据(WinRM、WMI、中小型企业、SNMP..等)

滥用泄露的凭据和密钥(网页、数据库等)。等)

执行远程攻击

将要执行的操作将取决于显示特定风险和/或进一步穿透客户端网络和主机所需的信息。建议定期举行规划会议,以重新评估收集的信息,并确定继续利用后的最佳方法,直到达到既定目标。

通过受损系统

通过受感染的系统可以采取的操作:

端口转发

代理到内部网络 (SSH)

VPN 到内部网络

执行远程利用

滥用泄露的凭据和密钥(网页、数据库等)。等)

将要执行的操作将取决于显示特定风险和/或进一步穿透客户端网络和主机所需的信息。建议定期举行规划会议,以重新评估收集的信息,并确定继续利用后的最佳方法,直到达到既定目标。

清理

清理过程涵盖了在渗透测试完成后清理系统的要求。这将包括在测试期间使用的所有用户账户和二进制文件。

从受感染的系统中删除所有可执行文件,脚本和临时文件。如果可能,请使用安全删除方法删除文件和文件夹。

返回到原始值系统设置和应用程序配置参数(如果在评估期间对其进行了修改)。

卸下所有已安装的后门和/或 rootkit。

删除为连接回受损系统而创建的所有用户账户。


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

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

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

发表评论

匿名网友 填写信息