美国国家安全局(NSA)和网络安全与基础设施安全局(CISA)发布一个联合网络安全公告(CSA),强调大型企业中最常见的网络安全错误配置,并详细介绍了威胁活动者利用这些错误配置的战术、技术和程序(TTPs)。
通过NSA和 CISA 红蓝队的评估,以及通过NSA和CISA威胁狩猎和事件响应团队的活动,这些机构确定了以下 10 个最常见的网络配置错误:
-
软件和应用的默认配置 (Default configurations of software and applications)
-
用户/管理员权限划分不当 (Improper separation of user/administrator privilege)
-
内部网络监控不足 (Insufficient internal network monitoring)
-
缺乏网络分段 (Lack of network segmentation)
-
补丁管理不善(Poor patch management)
-
饶过系统访问控制 (Bypass of system access controls)
-
多因素身份验证 (MFA) 方法薄弱或配置不当 (Weak or misconfigured multifactor authentication (MFA) methods)
-
网络共享和服务的访问控制列表 (ACL) 不充分 (Insufficient access control lists (ACLs) on network shares and services)
-
不良的凭证使用习惯 (Poor credential hygiene)
-
不受限制的代码执行 (Unrestricted code execution)
这些错误配置说明: (1) 许多大型组织(包括那些拥有成熟网络态势的组织)存在的系统性弱点的趋势;(2) 软件制造商必须采用安全设计原则,以减轻网络防御者的负担的重要性:
-
训练有素,人员配备适当,资金充足的网络安全团队可以针对这些弱点实施已知的缓解措施。
-
软件制造商必须将安全设计和默认原则(https://www.cisa.gov/securebydesign)与策略纳入软件开发实践,从而减少这些错误配置的发生,为客户加强安全态势。
NSA 和 CISA 鼓励网络防御者实现本公告缓解(https://www.cisa.gov/news-events/cybersecurity-advisories/aa23-278a#_Mitigations)章节的建议,以降低恶意行为者利用这些误配置的风险,包括以下建议:
-
删除默认凭据并加固配置
-
禁用未使用的服务并实现访问控制
-
定期更新并自动修补漏洞,优先修补已知可被利用的漏洞(https://www.cisa.gov/known-exploited-vulnerabilities-catalog)
-
减少,限制,审计和监控管理员帐户和权限
NSA和CISA强烈建议软件开发商自主使用secure-by-design and-default的策略,提升客户的网络及软件安全,包括:
-
从开发之初就将安全控制嵌入产品架构,并贯穿整个软件开发生命周期 (SDLC)。
-
消除默认密码
-
免费为客户提供高质量的审计日志。
-
强制要求特权用户使用 MFA(最好是防网络钓鱼功能,https://www.cisa.gov/sites/default/files/publications/fact-sheet-implementing-phishing-resistant-mfa-508c.pdf),并将 MFA 设为默认功能,而不是可选功能。
公告的PDF版本可从如下链接下载:
https://media.defense.gov/2023/Oct/05/2003314578/-1/-1/0/JOINT_CSA_TOP_TEN_MISCONFIGURATIONS_TLP-CLEAR.PDF
多年来,NSA和 CISA 团队对国防部 (DoD)、联邦文职行政部门 (FCEB)、联邦和地方政府(SLTT)以及私营部门的许多网络环境的安全态势进行了如下评估:
-
根据评估需求,NSA防御网络运营(DNO)团队具备红队(对手模拟)、蓝队(战略漏洞评估)、狩猎(目针对性狩猎)和/或定制缓解(防御对策开发)的能力。
-
CISA 漏洞管理 (VM) 团队已对 1,000 多个网络环境的安全状况进行了评估。CISA 漏洞管理团队包括风险与漏洞评估 (RVA) 和 CISA 红队评估 (RTA)。RVA 团队提供远程和现场评估服务,包括渗透测试和配置审查。RTA 与组织协调,模拟威胁活动者,来评估组织的网络检测和响应能力。
-
CISA 威胁狩猎和事件响应团队分别对组织网络进行主动和被动的检测评估,以识别和检测对美国基础设施的网络威胁。
在这些评估过程,NSA和 CISA 确定了 10 个最常见的网络配置错误,详情如下。这些错误配置(非优先级)是许多网络环境中共有的系统性弱点。
这些评估多数是针对微软的Windows和活动目录环境。本公告提供了在评估过程发现的特定问题的详细信息和缓解措施,因此主要侧重于这些产品。然而,需要指出的是,许多其他环境也存在类似的错误配置。网络所有者和运营者应检查其网络是否存在类似的错误配置,即使使用的是本文未提及的其他软件。
系统、服务和应用程序的默认配置可能导致未授权的访问或者其他恶意活动。常见的默认配置包括:
-
默认的凭据
-
默认的服务权限和配置设置
默认凭据
许多软件制造商发布的现成商用(COTS)网络设备(通过应用程序或门户网站提供用户访问)都为其内置管理账户预设了默认凭据。恶意行为者和评估团队经常通过以下方式滥用默认凭据:
-
通过简单的网络搜索查找凭证[T1589.001],并使用凭证[T1078.001]获得对设备的访问。
-
通过可预测的忘记密码问题重置内置管理帐户 [T1098]。
-
利用默认的VPN 凭据访问内部网络 [T1133]。
-
利用公开可用的安装配置文档来查找WEB应用程序的内置管理凭据,并获得对WEB应用及其底层数据库的访问权限。
-
利用软件部署工具上的默认凭据 [T1072] 实现执行代码和横向移动。
除了提供网络访问的设备外,打印机、扫描仪、安全摄像头、会议室视听(AV)设备、网络电话(VoIP)和物联网(IoT)设备通常都包含默认凭据,这些凭据也可用来未授权访问这些设备。使问题更加复杂的是,为了使用户可以轻松扫描文档并将其上传到共享驱动器或通过电子邮件发送,打印机和扫描仪可能加载了特权域账户。使用默认凭据访问打印机或扫描仪的恶意行为者可以使用加载的特权域账户从设备横向移动并入侵整个域 [T1078.002]。
默认服务权限和配置设置
某些服务在默认情况下可能具有过于宽松的访问控制或脆弱的配置。此外,即使提供商默认情况下不启用这些服务,但如果用户或管理员启用了这些服务,恶意行为者也能轻易滥用这些服务。
评估团队经常发现以下情况:
-
不安全的活动目录证书服务
-
不安全的旧协议/服务
-
不安全的Server Message Block (SMB)服务
不安全的活动目录证书服务
Active Directory 证书服务 (ADCS) 是一项用于管理 Active Directory (AD) 环境中的公钥基础设施 (PKI) 证书、密钥和加密的功能。ADCS 模板用于为组织网络中不同类型的服务器和其他实体创建证书。
恶意行为者可利用 ADCS 和/或 ADCS 模板配置错误,操纵证书基础设施签发虚假证书和/或将用户权限升级为域管理员权限。这些证书和域权限提升路径可能会让恶意行为者未经授权持续访问系统和关键数据,伪冒合法实体,并绕过安全措施。
评估团队曾发现组织存在以下错误配置:
-
ADCS启用了web-enrollment功能。如果启用了web-enrollment,未经认证的行为者可以强制服务器向行为者控制的计算机进行认证,后者可以将认证转发给 ADCS 的web-enrollment注册服务,并为服务器的机器账户获取证书 [T1649]。这些虚假的受信任证书能让行动者使用adversary-in-the-middle 技术[T1557]伪装成网络上受信任的实体。行为者还可以使用证证书进行AD 身份验证并获取 Kerberos Ticket Granting Ticket (TGT) [T1558.001],并利用该票据入侵服务器,甚至整个域。
-
ADCS模板允许低权限用户注册,并且注册者可以提供subject alternative name。误错配置的ADCS 模板的各种元素可能导致未授权用户的域权限提升(例如,授予低权限用户证书注册权限、允许请求者在证书签名请求 [CSR] 中指定 subjectAltName、不要求 CSR 的授权签名、授予用户 FullControl 或 WriteDacl 权限)。恶意行为者可使用低权限用户账户申请具有特定主体替代名称(SAN)的证书,并获得 SAN 与权限账户的用户主体名称(UPN)相匹配的证书。
注:有关已知权限提升路径(包括 PetitPotam NTLM 中继技术(https://support.microsoft.com/en-us/topic/kb5005413-mitigating-ntlm-relay-attacks-on-active-directory-certificate-services-ad-cs-3612b773-4043-4aa9-b23d-b87910cd3429))的更多信息,请参阅:Domain Escalation: PetitPotam NTLM Relay to ADCS Endpoints (https://www.hackingarticles.in/domain-escalation-petitpotam-ntlm-relay-to-adcs-endpoints/) 和 Certified Pre-Owned, Active Directory Certificate Services (https://posts.specterops.io/certified-pre-owned-d95910965cd2)。
不安全的旧协议/服务
许多易受攻击的网络服务都是默认启用的,评估团队在生产环境中也发现了这些服务。具体来说,评估团队观察到本地链路多播解析协议(LLMNR)和 NetBIOS 名称服务(NBT-NS),它们是作为主机识别替代方法的 Microsoft Windows 组件。如果在网络中启用了这些服务,行为者就可以使用欺骗、投毒和中继技术 [T1557.001] 获取域哈希值、系统访问权限和潜在的管理系统会话。恶意行为者经常利用这些协议入侵整个 Windows 环境。
恶意行为者可以通过中间人攻击的方式,伪冒权威的名称解析源对名称解析请求进行响应,从而有效地对服务投毒(poisoning),使目标计算机与行为者控制的系统而不是预期的系统进行通信。如果请求的系统需要身份验证/认证,目标计算机就会将用户的用户名和哈希值发送给行为者控制的系统。然后,行动者收集哈希值并离线破解,以获取明文密码[T1110.002]。
不安全的SMB服务
服务器消息块服务是主要用于文件共享的 Windows 组件。其默认配置(包括最新版 Windows)不要求对消息进行签名以确保真实性和完整性。如果 SMB 服务器不强制SMB 签名,恶意行为者就可以使用machine-in-the-middle 技术,如 NTLM 中继。此外,恶意行为者可以将缺乏 SMB 签名与名称解析投毒问题(见上文)结合起来,访问远程系统 [T1021.002],而无需捕获和破解任何哈希值。
管理员经常为一个账户分配多个角色。这些账户可以访问各种设备和服务,使恶意行为者可以通过一个被入侵的账户在网络中快速移动,而不会触发横向移动和/或权限提升检测措施。
评估团队曾发现以下常见的账户权限配置错误:
-
帐户权限过大
-
高权限的服务账户
-
非必要使用高权限账户
帐户权限过大
账户权限用来控制用户对主机或应用资源的访问,以限制对敏感信息的访问或实现最小权限安全模型。当账户权限过于宽松时,用户就会看到和/或做一些本不应该看到和/或做的事情,这就成为一个安全问题,因为它增加了风险暴露和攻击面。
不断发展扩大的组织可能会在账户管理、人员和访问要求方面发生许多变化。这些变化通常会导致权限蔓延--授予过多的访问权限和不必要的账户权限。通过分析局部的和嵌套的 AD 组,恶意行为者可以找到被授予超出其知必所需(need-to-know)或最小权限的用户账户 [T1078]。不相干的访问权限容易导致未经授权访问数据和资源以及在目标域中导致权限提升。
高权限的服务账户
应用程序通常使用用户账户访问资源。这些用户账户被称为服务账户,通常需要提升的权限。当恶意行为者使用服务账户入侵应用程序或服务时,他们将拥有与服务账户相同的权限和访问权。
恶意行为者可以利用域内提升的服务权限,在未经授权的情况下访问和控制关键系统。服务账户之所以成为恶意行为者的目标,是因为此类账户往往因其服务性质而在域内被授予较高权限,而且任何有效域用户都可以请求访问该服务。由于这些因素,通过破解服务账户凭据来实现凭据访问的一种攻击技术--kerberoasting,是一种用于控制服务账户的常用技术[T1558.003]。
非必要使用高权限账户
IT 人员使用域管理员和其他管理员账户进行系统和网络管理,因为这些账户本身具有较高的权限。当管理员账户登录到被入侵主机时,恶意行为者可以窃取并使用该账户的凭证和 AD 生成的身份验证令牌 [T1528] 在整个域内使用提升的权限进行移动 [T1550.001]。在日常的非管理任务中使用高权限账户会增加该账户暴露的风险,从而增加其被入侵的风险和对网络的风险。
恶意行为者在要获得访问网络权时会优先获取有效的域凭据。使用有效的域凭据进行身份验证可以执行二次枚举技术,以获得目标域和 AD 结构的可见性,包括发现高权限账户和高权限账户的使用位置 [T1087]。
针对执行日常活动的高权限账户(如域管理员或系统管理员)提供了实现域权限提升的最直接路径。使用高权限的帐户访问系统和应用,极大地增加了攻击面,提供了攻击路径和权限提升选项。
在通过有管理员权限的帐户获得初始访问后,评估团队在一个工作日内获得了整个域的权限。评估团队首先通过网络钓鱼[T1566]获得了对系统的初始访问权限,他们诱使最终用户下载[T1204]并执行恶意有效载荷。目标终端用户的账户具有管理员权限,使该团队能够迅速入侵整个域。
一些组织没有最佳地配置主机和网络传感器来收集流量和终端日志。一些组织没有为流量收集和终端主机日志优化配置主机和网络传感器。这些不充分的配置可能会导致无法检测到入侵事件。此外,不适当的传感器配置会限制增强基线开发所需的流量收集能力,并影响对异常活动的及时检测。
评估团队曾利用监控不足的问题获得被评估网络的访问权限。例如:
-
评估团队曾观察到一个组织有主机基于的监控,但没有网络侧监控。基于主机的监控使防御团队可以看到单一主机的活动,而网络监控可以看到主机之间的活动[TA0008]。在这个例子中,该组织可以识别受感染的主机,但无法识别感染的来源,因此无法阻止将来的横向移动和感染。
-
评估团队曾获得了一个具有成熟网络态势的大型组织的持久性、深入的访问权限。该组织没有发现评估小组的横向移动、持久性和C2 活动,包括当评估团队试图通过嘈杂的活动触发安全响应时。有关此活动的更多信息,请参阅 CSA CISA 红队分享改进网络监控和加固的关键发现 (https://www.cisa.gov/news-events/cybersecurity-advisories/aa23-059a)。
网络分段将网络分割成有安全边界的不同的部分。缺乏网络分段会导致用户网络、生产网络和关键系统网络之间没有安全边界。不充分的网络分隔会让入侵网络资源的行为者轻易地在各种系统之间横向移动。缺乏网络分隔还会使企业更容易受到潜在勒索软件攻击和后渗透技术的影响。
IT 与operational technology (OT) 环境之间缺乏隔离,会使 OT 环境面临风险。例如,评估团队经常通过发现特殊用途、遗忘或甚至临时的网络连接,进入 OT 网络,尽管事先已保证网络完全物理隔离的,不可能与 IT 网络连接[T1199]。
供应商通过发布补丁和更新来解决安全漏洞。不良的补丁管理和网络运营习惯往往会让对手发现可用的攻击向量并利用关键漏洞。补丁管理不善包括:
-
缺乏定期的补丁更新
-
使用不支持的操作系统和过期的固件
缺乏定期的补丁更新
如果没有安装最新的补丁,系统就有可能被公开的漏洞攻击。由于这些系统很容易通过漏洞扫描[T1595.002]和开放源代码研究[T1592]被发现和利用,因此成为攻击者的直接目标。允许关键漏洞留在生产系统中而不应用相应的补丁,会大大增加攻击面。企业应优先修补其环境中已知被利用的漏洞。
评估团队观察到威胁行为者在面向公众的应用程序中利用了许多 CVE [T1190],其中包括:
-
CVE-2019-18935 in an unpatched instance of Telerik® UI for ASP.NET running on a Microsoft IIS server.
-
CVE-2021-44228 (Log4Shell) in an unpatched VMware® Horizon server.
-
CVE-2022-24682, CVE-2022-27924, and CVE-2022-27925 chained with CVE-2022-37042, or CVE-2022-30333 in an unpatched Zimbra® Collaboration Suite.
使用不支持的操作系统和过期的固件
使用供应商不再支持的软件或硬件会带来巨大的安全风险,因为新的和已经存在的漏洞将不再得到修补。恶意行为者可以利用这些系统中的漏洞,获取未经授权的访问、泄露敏感数据并破坏运行 [T1210]。
恶意行为者可以通过入侵环境中的其他身份验证方法来绕过系统访问控制。如果恶意行为者能在网络中收集哈希值,他们就能使用哈希值以非标准方式进行身份验证,如通过哈希传递(PtH)[T1550.002]。通过模仿没有明文密码的账户,行为者可以在不被发现的情况下扩大和强化其访问权限。Kerberoasting 也是提升权限和在组织网络中横向移动最省时省力的方法之一。
误配置的智能卡或者令牌(Misconfigured Smart Cards or Tokens)
一些网络(通常是政府或DoD网络)要求账户使用智能卡或令牌。多因素需求可能会被错误配置,从而使账户的密码哈希值永不改变。即使密码本身不再使用(因为需要使用智能卡或令牌),但账户的密码哈希值仍可用作身份验证的替代凭证。如果密码哈希值永不改变,那么一旦恶意行为者获得了某个账户的密码哈希值[T1111],只要该账户存在,行为者就可以通过 PtH 技术无限期地使用它。
缺乏防网络钓鱼的 MFA
某些形式的 MFA 容易受到网络钓鱼、"推送轰炸"[T1621]、利用信令系统 7 (SS7) 协议漏洞和/或 "SIM 卡交换 "技术的攻击。这些尝试一旦成功,威胁者就可以获取 MFA 身份验证凭证或绕过 MFA 访问受 MFA 保护的系统。(更多信息,请参阅 CISA 的《实施防网络钓鱼 MFA 的概况介绍》https://www.cisa.gov/sites/default/files/publications/fact-sheet-implementing-phishing-resistant-mfa-508c.pdf)。
例如,评估团队曾使用语音钓鱼来说服用户提供缺失的 MFA 信息 [T1598]。在一个案例中,一个评估小组知道用户的主要凭据,但他们的登录尝试被 MFA 要求阻止。随后,评估小组伪装成 IT 人员,说服用户通过电话提供 MFA 代码,使评估小组能够完成登录尝试并访问用户的电子邮件和组织的其他资源。
数据共享和存储库是恶意行为者的主要目标。网络管理员可能会不恰当地配置 ACL,允许未经授权的用户访问共享驱动器上的敏感数据或管理数据。
行为者可以使用命令、开源工具或自定义恶意软件来查找共享文件夹和驱动器 [T1135]。
-
在一次入侵事件中,曾观察到行为者使用 net share 命令(该命令可显示本地计算机上的共享资源信息)和 ntfsinfo 命令搜索被入侵计算机上的网络共享。在同一入侵事件中,行为者使用了一个自定义工具 CovalentStealer,该工具旨在识别系统上的文件共享,对文件进行分类[T1083],并将文件上传到远程服务器[TA0010]。
-
勒索软件行为者使用 SoftPerfect® 网络扫描器 netscan.exe(它可以 ping 计算机 [T1018]、扫描端口 [T1046] 和发现共享文件夹)和 SharpShares 来列举域中可访问的网络共享。
恶意行为者然后可以从共享驱动器和文件夹中收集和提取数据。然后,他们可以将这些数据用于各种目的,如勒索敲诈或在制定入侵计划以进一步入侵网络时作为情报使用。评估小组经常在网络共享中发现敏感信息[T1039],这些信息可能会为后续行动提供便利或为勒索提供机会。评估小组经常发现包含服务帐户、网络应用程序甚至域管理员明文凭据 [T1552] 的驱动器。
即使不能直接从文件共享中的凭证获得进一步的访问权限,也可以用来提高对目标网络态势感知,包括网络的拓扑结构、服务工单或漏洞扫描数据。此外,团队还会定期在共享驱动器上识别敏感数据和 PII(如扫描文件、社会保险号和纳税申报单),这些数据和 PII 可用于对组织或个人进行勒索或社交工程。
不良的凭证使用习惯会为威胁行为者获取凭据用于初始访问、持续访问、横向移动和其他后续行动提供便利,尤其是在未启用防网络钓鱼 MFA 的情况下。不良的凭证使用习惯包括:
-
易于破解的密码
-
明文密码泄漏
易于破解的密码
易破解密码是指恶意行为者可以利用相对廉价的计算资源在短时间内猜出的密码。网络上出现易破解密码通常是因为密码长度(即短于 15 个字符)和随机性(即不唯一或可被猜出)不足。这通常是由于组织密码策略和对用户培训要求不严格造成的。只要求简短密码的策略会使用户密码容易被破解。企业应提供或允许员工使用密码管理器,以便为每个账户生成安全、随机的密码并方便使用。
通常情况下,获得的凭证是密码的哈希值(单向加密),而不是密码本身。虽然有些哈希值可以直接使用 PtH 技术,但许多哈希值需要经过破解才能获得可用的凭据。破解过程需要获取用户明文密码的哈希值,并利用密码字典和规则集,通常会使用一个包含数十亿以前泄露的密码的数据库,试图找到匹配的明文密码[T1110.002]。
破解密码的主要方法之一是使用开源工具 Hashcat,结合已公开泄的漏的密码列表。一旦恶意行为者获取了明文密码,他们通常只会受到账户权限的限制。在某些情况下,高级纵深防御和零信任实施也会限制或检测到恶意行为者,但这在迄今为止的评估中还很少见。
评估小组曾经破解了 NTLM 哈希值、Kerberos 服务帐户票据、NetNTLMv2 和 PFX stores [T1555],使小组能够提升权限并在网络中内横向移动。在 12 小时内,一个小组破解了活动目录中 80% 以上的用户密码,获得了数百个有效凭证。
明文密码泄漏
以明文形式存储密码是一个严重的安全风险。可以访问包含明文密码[T1552.001]的文件的恶意行为者可以使用这些凭证,伪装成合法用户登录受影响的应用程序或系统。由于系统日志记录访问应用程序或系统的是有效的用户账户,因此在这种情况下会失去问责性。
恶意行为者搜索文本文件、电子表格、文档和配置文件,希望获取明文密码。评估团队经常会发现明文密码,这使他们能够迅速模拟从入侵普通域用户账户提升到域或企业管理员等特权账户。用于查找明文密码的常用工具是开源工具 Snaffler。
如果允许未经验证的程序在主机上执行,威胁行为者就可以在网络中运行任意的恶意payloads。
恶意行为者通常会在获得系统初始访问权限后执行代码。例如,恶意行为者通常会通过钓鱼的方式,说服受害者在其工作站上运行代码,以远程访问内部网络。这些代码通常是未经验证的程序,没有在网络上运行的合法目的或业务需求。
评估团队和恶意行为者经常利用可执行文件、动态链接库 (DLL)、HTML 应用程序和宏([T1059.005] 等形式的代码执行来建立初始访问、持久性和横向移动。此外,行为者经常使用脚本语言[T1059]来掩盖他们的行为[T1027.010],并绕过允许列表--即组织默认限制应用程序和其他形式的代码,只允许已知和可信的代码。此外,行为者可能会加载易受攻击的驱动程序,然后利用驱动程序的已知漏洞,以最高系统权限在内核中执行代码,从而完全入侵设备[T1068]。
上述误配置对应的缓解措施,下节内容再介绍。
原文始发于微信公众号(Desync InfoSec):NSA和CISA红蓝队共享的网络安全误配置TOP10 (上)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论