红蓝对抗实践下的十大网络安全配置错误

首页 / 业界 / 资讯 /  正文
作者:安全419
发布于:2023-11-09
美国国家安全局(NSA)和网络安全与基础设施安全局(CISA)最近联合发布了一份网络安全咨询,分享了大型组织中最常见的网络安全配置错误,该结果是由红蓝团队基于实践综合评估得出,咨询鼓励作为网络安全防御一方的组织实施缓解措施,以降低攻击者识别和利用配置错误信息,同时敦促制造商从开发阶段就引入安全设计和措施,避免被攻击者轻易利用。
 
 
十大最常见的网络配置错误如下:
 
1、软件和应用程序的默认配置
 
最主要的表现为“默认凭据”和“默认服务权限和配置设置”。比如一些网络设备或应用程序提供Web登陆,但包含默认的预定义凭据,攻击者则可以通过多种方式加以利用;在默认服务权限和配置设置方面,评估团队主要发现存在不安全的活动目录证书服务、不安全的旧协议/服务、不安全的服务器消息(SMB)服务,甚至观察到不安全的服务在生产环境中处于启用状态。
 
措施建议:
 
● 在部署于生产环境之前修改应用程序和设备的默认配置;
● 在安装或调试时更改或禁用供应商提供的服务、软件和设备的默认用户名和密码;重置密码时,强制使用“强”密码。
 
2、用户/管理员权限分离不当
 
管理员通常会为一个账户分配多个角色。这些账户可以访问各种设备和服务,允许恶意行为者使用一个受损账户在网络中快速移动,而不会触发横向移动和/或特权升级检测措施。评估团队发现的主要错误问题在于账户权限过多、提升的服务账户权限、非必要的高权限账户使用这三大方面。
 
措施建议:
 
● 实施身份验证、授权和记账(AAA)系统以限制用户可以执行的操作;并查看用户操作日志以检测未经授权的使用和滥用。将最小特权原则应用于仅允许执行授权操作的用户账户和组;
● 审核用户账户并定期删除不活动或不必要的用户账户。限制用户账户创建其他账户的能力;
● 限制使用特权账户执行常规任务;
● 限制组织内具有管理员权限的身份和访问管理(IAM)角色的用户数量;
● 为特权账户实现基于时间的访问;
● 限制域用户位于多个系统上的本地管理员组中;
● 尽可能使用非管理员账户运行被守护程序应用程序(服务);
● 仅为服务账户配置其控制的服务操作所需的权限;
● 禁用未使用的服务并实施 ACL 以保护服务。
 
3、内部网络监控不足
 
某些组织没有以最佳方式配置主机和网络以进行日志记录和流量收集。这些不充分的配置可能会导致未检测到的对抗性妥协。此外,不正确的配置限制了增强基线开发所需的流量收集能力,并影响了对异常活动的及时检测。
 
措施建议:
 
● 建立应用程序和服务的基线,并定期审核其访问和使用,特别是对于管理活动;
● 建立代表组织正常流量活动、网络性能、主机应用程序活动和用户行为的基线;
● 使用能够在企业系统中检测特权和服务滥用机会的审计工具,并纠正它们;
● 实现安全信息和事件管理(SIEM)系统,提供来自网络端点、日志系统、端点和检测响应(EDR)系统以及入侵检测系统(IDS)的日志聚合、关联、查询、可视化和警报。
 
4、缺少网络分段
 
网络分段用安全边界分隔网络的各个部分。缺乏网络分段使得用户网络、生产网络和关键系统网络之间没有安全边界,这将允许攻击者可以在各种系统之间无竞争地横向移动。缺乏网络隔离使组织更容易受到潜在的勒索软件攻击。IT 和运营技术(OT)环境之间缺乏分段会使 OT 环境面临风险。
 
措施建议:
 
● 实施下一代防火墙以执行深度数据包过滤、状态检查和应用程序级数据包检查;
● 设计网段以隔离关键系统、功能和资源;
● 实施单独的虚拟私有云(VPC)实例以隔离重要的云系统。在可能的情况下,实施虚拟机(VM)和网络功能虚拟化(NFV),以便在虚拟化环境和云数据中心中实现网络的微分段。
 
5、补丁管理不善
 
补丁管理不善仍是个老生常谈的问题,当供应商发布补丁和更新来解决安全漏洞时,糟糕的补丁管理和网络安全实践通常使攻击者能够发现公开的攻击媒介并利用关键漏洞。糟糕的补丁管理包括:缺乏定期修补、使用不受支持的操作系统(OS)和过时的固件。
 
措施建议:
 
● 确保组织实施和维护高效的补丁管理流程;
● 采用补丁管理来定期更新软件,优先修补已知的被利用漏洞;
● 尽可能自动执行更新过程,并使用供应商提供的更新;
● 如果由于限制而无法修补,请对网络进行分段以限制易受攻击的系统或主机的暴露;
● 评估不受支持的硬件和软件的使用情况,并尽快停止使用。如果无法停止,请实施额外的网络保护以降低风险;
● 修补基本输入/输出系统(BIOS)和其他固件以防止利用已知漏洞。
 
6、绕过系统访问控制
 
攻击者可以通过破坏环境中的备用身份验证方法来绕过系统访问控制。如果攻击者可以在网络中收集哈希,则他们可以使用哈希通过非标准方式进行身份验证,例如传递哈希。通过模仿没有明文密码的账户,攻击者可以在不被发现的情况下扩展和加强其访问权限。Kerberoasting 也是提升权限和在整个组织网络中横向移动的最省时的方法之一。
 
措施建议:
 
● 限制系统之间的凭据重叠,以防止凭据泄露并降低恶意参与者在系统之间横向移动的能力。通过主机日志监视实现监视非标准登录事件的方法;
● 实施有效的常规补丁管理流程;
● 启用 PtH 缓解措施,以便在网络登录时将用户账户控制(UAC)限制应用于本地账户;
● 拒绝域用户在多个系统上的本地管理员组中的能力;
● 限制工作站到工作站的通信。所有工作站通信都应通过服务器进行,以防止横向移动;
● 仅在需要这些权限的系统上使用特权账户。
 
7、弱或配置错误的多因素身份验证(MFA)方法
 
某些网络要求账户使用令牌,而这种多因素要求可能会配置错误,因此账户的密码哈希永远不会更改。即使不再使用密码本身,账户仍有密码哈希可用作身份验证的备用凭据。另外某些形式的 MFA 容易受到网络钓鱼、“推送轰炸”协议漏洞和“SIM 交换”技术的攻击。如果成功,这些尝试可能会允许攻击者访问 MFA 身份验证凭据或绕过 MFA 并访问受 MFA 保护的系统。
 
措施建议:
 
● 在 Windows 环境中:禁用新技术 LAN 管理器(NTLM)和其他旧式身份验证协议。通过 Windows Hello for Business 或组策略对象(GPO)使用内置功能,定期重新随机化与需要智能卡的账户关联的密码哈希;
● 作为一项长期工作,使用现代开放标准实现云主体身份验证解决方案;
● 普遍实施防网络钓鱼 MFA,以访问敏感数据以及尽可能多的其他资源和服务。
 
8、网络共享和业务的访问控制列表(ACL)不足
 
数据共享和存储库是攻击者的主要目标。网络管理员可能会不正确地配置 ACL,以允许未经授权的用户访问共享云端存储上的敏感数据。攻击者可以使用命令、开源工具或自定义恶意软件来查找共享文件夹和存储器。评估团队经常发现有关网络共享的敏感信息,这些信息可能促进后续活动或提供敲诈勒索机会。即使收集的信息不能进一步获取访问权限,但也可能用于提高目标网络的态势感知能力,包括网络的拓扑、服务票证或漏洞扫描数据。
 
措施建议:
 
● 对所有存储设备和网络共享进行安全配置,只允许授权用户访问;
● 对重要的信息资源应用最小特权原则,以减少未经授权的数据访问和操作的风险;
● 对文件和目录应用限制性权限,并防止攻击者修改ACL;
● 对包含敏感私钥的文件和文件夹设置限制性权限,以防止意外访问;
● 启用Windows组策略安全设置,“不允许匿名枚举安全账户管理器(SAM)账户和共享”,以限制可以枚举网络共享的用户。
 
9、凭据安全状况不佳
 
较差的凭据安全性有助于攻击者获取用于初始访问、持久性、横向移动和其他后续活动的凭据,尤其是在未启用防网络钓鱼 MFA 的情况下。较差的凭据安全性主要包括:易于破解的密码、明文密码泄露。其中短密码安全性极差,攻击者可以使用开源工具Hashcat结合密码表进行尝试,在另外一个评估项目中,评估团队更是在12小时内破解了AD中超过80%的用户密码,破解方式各不相同,但至少获取了数百个有效凭据。当然,评估团队还经常能够发现明文密码,这方面也有开源工具(Snaffler)可利用。另外,评估团队在大多数评估项目中遇到的针对性的深度防御和零信任限制几乎很少,这说明组织在身份安全方面还有很多工作要做。
 
措施建议:
 
● 创建密码策略时,请遵循相关标准与指南,应强制使用无法破解的“强”密码。考虑使用密码管理器来生成和存储密码;
● 不要跨系统重复使用本地管理员账户密码;
● 对私钥使用“强”密码短语;
● 确保 Windows 服务账户有足够的密码长度(理想情况下为25+个字符)和复杂性要求,并定期更换;
● 对文件和系统实施审阅过程,以查找明文账户凭据。
 
10、不受限制地代码执行
 
如果允许未经验证的程序在主机上执行,则攻击者可以在网络内运行任意恶意负载。攻击者通常在获得对系统的初始访问权限后执行代码。例如,在用户陷入网络钓鱼诈骗后,参与者通常会说服受害者在其工作站上运行代码以获得对内部网络的远程访问。此代码通常是未经验证的程序,没有合法目的或业务理由在网络上运行。在这方面,评估团队经常使用各种方式绕过限制,这说明攻击者同样可以做到。
 
措施建议:
 
● 启用系统设置,防止运行从不可信来源下载的应用程序;
● 使用默认限制程序执行的应用程序控制工具,也称为allowlisting;
● 阻止已知有漏洞的驱动程序的执行,攻击者可能利用这些驱动程序在内核模式下执行代码;
● 约束脚本语言以防止恶意活动、审核脚本日志并限制环境中未使用的脚本语言;
● 尽可能使用只读容器和最小映像来防止命令运行;
● 定期分析边界和主机级别的保护,包括垃圾邮件过滤功能,以确保它们在阻止恶意软件方面的持续有效性。