进网络安全行业群
微信公众号 计算机与网络安全
回复 行业群
本文介绍红队的活动和TTP、相关的网络防御活动以及经验教训,为网络防御人员提供了改进其组织防御网络态势的建议。并向软件制造商提供建议,以加强其客户网络抵御恶意活动,并降低域受损的可能性。
在对手模拟阶段,红队通过利用未打补丁的web服务器中的已知漏洞,获得了对该组织的Solaris enclave的初始访问权。他们通过网络钓鱼获得了对Windows环境的单独访问,并能够危害整个域及其父域。
对手仿真阶段侦察、初始进入、指挥和控制
该漏洞在后端应用服务器(服务器1)上提供代码执行,该服务器处理来自面向公众的web服务器的传入请求。红队利用这个漏洞上传并运行了一个安全的Python远程访问工具(RAT)。因为应用服务器通过传输控制协议(TCP)端口拥有完全的外部互联网出口80和443。
注意:获得访问权限后,该团队立即将未打补丁的设备通知了该组织信任的代理,但该组织花了两周多时间才应用可用的补丁。此外,该组织没有对受影响的服务器进行彻底的调查,而调查本应发现IOC,并导致全面的事件响应。在该团队获得访问权限大约两周后,漏洞利用代码被公开发布到一个流行的开源漏洞利用框架中。发现该漏洞被一个未知的第三方利用。把这个CVE加入了它的已知被利用的漏洞目录2023年2月2日。
凭证访问、命令和控制以及权限提升
在服务器1上,红队探测了主机的文件和文件夹结构并确定了几个旧的和全球可访问的.tar备份文件,其中包括可读的/etc/shadow包含特权服务帐户(帐户1)哈希的文件。该团队使用一个常用单词列表。然后,他们通过TCP端口建立了一个出站安全外壳协议(SSH)连接80,并使用反向隧道通过SSH连接到服务器1,在服务器1上,他们被提示重置帐户1的过期密码。该团队发现该帐户在容器的一个子集上启用,但在相当长的时间内没有被积极使用;团队将此帐户的密码更改为强密码。
团队发现帐户1是一个本地管理员sudo/root访问,并用它来横向移动。
横向运动和持续性
Solaris enclave中的服务器不使用集中式身份验证,而是拥有一组几乎统一的本地帐户和权限。这允许红队使用帐户1通过SSH在大部分网段中移动。
一些服务器允许外部互联网访问,该团队在C2的一些主机上部署了rat。他们部署了几种不同的rat来使网络流量签名多样化,并模糊磁盘和内存足迹。这些工具通过TCP/与红队重定向器通信443、通过有效的HTTPS消息以及通过非标准端口(80和443)。许多流量没有被防火墙阻挡,并且组织缺乏能够检测公共端口上的协议不匹配的应用层防火墙。
然后,团队横向转移到多个不允许访问互联网的服务器,包括高价值资产。使用反向SSH隧道,团队进入环境并使用SOCKS代理在网络中前进。他们使用绑定到随机高端口的TCP bind监听器来配置植入,以直接与其中一些主机连接,而不创建新的SSH登录事件。
一旦在其他内部主机上,团队数据挖掘每个敏感信息和凭证。他们获得了个人身份信息(PII)、影子文件、可破解的密码短语保护的管理员SSH密钥和明文密码在用户的.bash_history。这些数据挖掘的凭证为通过网络的非特权访问提供了进一步的途径。该团队还使用SSH隧道远程挂载网络文件系统(NFS)文件共享,欺骗uid和gid值来访问所有文件和文件夹。
为了防止重启或其他中断,该团队主要使用cron命令,以及at命令,运行计划任务并融入环境。此外,SSH私有密钥提供了对内部pivot主机的持久访问,即使密码被轮换,也可以继续启用访问。
虽然帐户1允许团队横向移动到Solaris enclave的大部分区域,但是该帐户并不提供对网络中所有主机的特权访问,因为主机的子集已经更改了密码(这拒绝了通过该帐户的特权访问)。然而,该小组使用last命令并标识了一个网络安全设备扫描服务帐户(帐户2),,该帐户使用基于密码的身份验证定期登录到内部主机。作为定期漏洞扫描的一部分,ACCOUNT 2将通过SSH连接到每台主机并运行sudo用相对路径代替绝对路径/usr/local/bin/sudo。本地路径创建了一个路径劫持漏洞,允许红队劫持执行流并捕获帐户的密码。
获取的密码授予对整个Solaris enclave的无限制特权访问。
Windows域的利用
虽然Solaris enclave的危害促进了对敏感系统(包括web应用程序和数据库)数月的持续访问,但它并没有导致企业Windows环境的直接危害。进入Windows域后,红队发现了几个使用弱密码的服务帐户。对手很可能通过长时间的密码喷射攻击或利用从外部获得的凭证(例如,暗web凭证转储)继续Solaris攻击路径。
该团队通过其他访问途径利用了Windows域,并最终证明了在获得Windows凭据后,可以在域之间进行未检测到的转换。
侦察和初始访问
在尝试从Solaris转向Windows时,红队收集了有关该组织的开源信息。他们收集员工姓名并使用该信息根据目标的电子邮件命名方案得出电子邮件地址。在确定姓名、电子邮件和职位之后,该团队选择了几个经常与公众互动的网络钓鱼目标,一名用户触发了提供工作站初始访问权限的网络钓鱼有效负载。
然后,该团队在工作站上的用户可写文件夹中放置一个简单的初始访问RAT,并通过添加的注册表运行键获得用户级持久性,该注册表运行键通过HTTPS回调到红队重定向器。该团队从反病毒(AV)和端点检测和响应(EDR)的角度评估了主机上运行的内容,并使用植入将一个更有能力、更成熟的RAT直接注入内存,这指向了一个单独的重定向器。被评估组织的工具未能将C2流量归类为异常,即使其中一个植入中的错误导致一个下午有8 GB的连续网络流量。
凭证访问和权限提升
内部网络信息对无特权的、加入域的用户免费开放,该小组使用自定义重写的dsquery.exe在.NET和信标对象文件(BOF)ldapsearch从网络钓鱼用户的工作站。然后,该团队从众多内部文件服务器中挖掘可访问共享的数据。该团队在一个开放的管理IT共享上发现了一个前员工留下的密码文件,其中包含几个特权服务帐户的明文用户名和密码。利用收集到的轻量级目录访问协议(LDAP)信息,团队发现其中一个帐户(帐户3)拥有system center operations manager(SCOM)管理员权限和父域的域管理员权限。他们发现了另一个帐户(帐户4 ),该帐户也拥有域中大多数服务器的管理权限。这两个账户的密码已有八年多没有更新,也没有在本组织的身份管理系统中登记。
横向运动和持续性
该团队使用有效的账户和/或令牌以及各种技术进行横向移动。技术包括调度任务操作、服务创建和应用程序域劫持。对于凭据的使用,在组织网络中实施的IDM阻碍了红队的能力,因为它阻止了常见的凭据操作技术,如哈希传递和通行证。红队找到了绕过IDM的方法,包括使用明文密码创建真正的网络登录会话,对于未向IDM注册的某些帐户,以及假冒当前登录用户的令牌来盗用有效会话。
红队定制了有效载荷,使之与网络环境融为一体,并且没有重用像文件名或文件散列这样的IOC,特别是对于持久植入。对目录列表、计划任务、服务和运行进程的远程查询为红队伪装成合法活动提供了信息。
该小组通过在普通用户浏览网页的工作站上安装HTTPS信标代理,建立带有TCP绑定和SMB监听器的内部网络中枢,来模拟普通网络活动。他们主要依靠创建Windows服务作为他们的持久性机制。
红队使用帐户3的数据挖掘凭证从工作站横向移动到SCOM服务器,使用帐户4,团队瞄准了系统中心配置管理器(SCCM)服务器,因为它是一个有利的网络优势。SCCM服务器有已登录的服务器管理员,他们的用户名遵循可预测的命名模式(关联管理角色和权限级别),允许他们决定使用哪个帐户来转到其他主机。
该团队的目标是该组织的jump服务器,高度特权的管理帐户经常访问这些服务器。红队操作人员使用窃取的SCCM服务器管理员凭据来破坏该组织的一个服务器管理员跳转主机。他们了解到,组织将一些(但不是全部)帐户按角色划分到不同的跳转服务器上(例如,工作站管理员和服务器管理员有不同的跳转点,但服务器和域管理员偶尔会共享相同的跳转主机)。一旦域管理员登录,红队窃取管理员的会话令牌并横向移动到域控制器,在那里他们通过DCSync,获得完整的域污染。
转向外部可信合作伙伴
团队通过LDAP检查了组织与其他组织域的信任关系并查明了与多个外部伙伴组织的联系,其中一个组织后来被他们用来横向调动。
该团队从合作伙伴DC 1获取了LDAP信息,并对域进行了kerberoasted认证,产生了一个有效的服务帐户,他们很快破解了该帐户的弱密码,但该团队无法使用该帐户横向移动,因为它缺乏适当的权限。但是,伙伴1与第二个伙伴的域控制器(伙伴DC 2)有信任关系。使用获得的PARTNER 1凭证,红队发现PARTNER 2也有一个Kerberos表的高特权管理服务帐户,该帐户的密码被破解,允许该队从原来的受害者网络横向移动到PARTNER 2主机。
防御规避技术
Windows域的利用
由于缺乏应用程序许可列表,红队经常伪装成合法软件,以不被组织的网络防御人员发现。此外,缺省情况下,Solaris中的命令审计通过lastcomm命令仅捕获正在运行的程序—不记录完整的文件路径和任何命令行参数。例如:
- 真实文件:
/opt/splunkforwarder/bin/splunkd
- 恶意拷贝:
/opt/splunkforwarder/splunkd
- 命令审核日志:
splunkd
该团队还隐藏了常见的工件来混淆他们的操作活动,包括修改文件时间戳和权限touch和chmod/chown命令与环境中的其他文件混合。
Windows域
该团队利用各种账户、后门和C2渠道,通过不同的网络足迹来掩盖活动。
账户使用、后门和C2渠道的多样化进一步混淆了红队在该领域的活动。向新主机的横向转移以各种账户为特征,以降低被发现的风险。收集凭据时,团队为每个角色选择了几个备份帐户(例如,服务器管理员、工作站管理员、域管理员、服务帐户),以防目标帐户被锁定、禁用或标记为受损。
为了强调工具不可知/基于行为的检测的价值,red团队部署了超过7种不同的植入,以模拟真实世界对手对开源、商业现货(COTS)和定制rat的各种使用。每个都有不同的主机和网络签名,以逃避开箱即用的EDR检测,每个植入都有独特的工件在磁盘上和内存中。该团队还通过使用专有加载程序和信标对象文件(BOF)进行直接API调用并允许自我注入.NET运行附加功能的可执行文件。
所有部署的工具都有不同的网络C2通道足迹。一些信标代理通过HTTPS连接到红队拥有的合法域名。其他人使用域名前缀以利用通用内容交付网络(CDN)功能。发送到不属于红队的公共网站的出站流量Host告诉CDN提供商应该将流量重定向到红队控制的IP地址的报头。端口上使用SMB的内部枢轴445和TCP在短暂的高端口上绑定侦听器。该团队对这两者进行了定制,以模仿该领域中已有的命名管道和网络连接,并逃避检测。
协作阶段
评估进行了五个月后,红队正式向组织的安全运营中心(SOC)通报了正在进行的活动,并开始直接与SOC领导层接触。
在此阶段,避免提供TTP或IOC(如具体的主机、文件名或C2域),以允许该组织开发和测试自己的检测指标。该团队每周与组织的高级技术人员、SOC和系统管理员进行讨论,从而显著提高了已知技术和基于行为的检测的响应时间,从而发现了以前未知的技术。具体来说,红队与组织合作,协助他们综合以下数据源,以确定红队的妥协程度:
- EDR警报;
- YARA扫描;
- C2领域和技术;
- 内部枢纽主机;
- 用于透视的管理帐户;
- 内存转储,暴露传递凭据的企图;
- 记录通过网络钓鱼进行的初始违规的电子邮件日志。
每个网络威胁参与者都有一套独特的TTP。然而,几乎所有对手都执行相同的基本步骤:
- 命令执行(初始访问和横向移动);
- 建立C2渠道,导出数据;
- 建立持久性;
- 提升权限;
- 使用和滥用凭据。
此阶段讨论的主要主题提高了组织基于行为的检测能力,包括日志收集、取证分析、依靠IOC进行检测、监控和调查管理,以及Sysmon错误配置。
日志收集
接受评估的组织的日志无效且不充分,网络防御人员没有使用日志来主动检测异常行为。在红队的帮助下,该组织发现了由硬件故障、有限的备份、网络带宽以及有限的日志收集和保留策略(仅60–90天)导致的日志记录问题。
该组织的网络维护者在试图获取新的法医数据时发现了程序和其他障碍。例如,受影响的服务器无法离线进行映像制作,因为没有适当的流程可以在不影响组织运营的情况下做到这一点。此外,通过数据包捕获来捕获取证数据的尝试直接发生在被入侵的Solaris和Windows主机上,在这些主机上,红队观察到正在收集的数据,因此有机会中断收集、篡改证据文件,并更好地适应和规避他们的防御。
法医检定法
防御者没有通过DNS监控C2的出口。他们认为他们的父实体正在监控他们的DNS流量,从而免除了他们收集和监控日志以进行分析的需要。
取证分析师盲目地相信文件的时间戳和持久性机制,而没有意识到它们已经被篡改。持续机制(如计划任务)中添加的虚假时间会导致防御者误判入侵的时间。红队操作员定期调整文件和文件夹的最后修改时间戳—使用本机touch -r命令或植入timestomp命令来伪装在输出中捕获的上次修改时间戳ls –la。用标识的辅助文件时间戳ls -lu或者ls -lc除了在适当的取证调查期间发现的更可靠的异常之外,还会揭示异常的文件属性。
对已知IOC的依赖
红队在对手模拟阶段使用了多样化的TTP来反映网络威胁参与者绕过传统的已知不良检测策略的能力。网络防御者没有检测到团队的大部分活动。例如:
- 在确定了红队的有效载荷后,网络卫士编写了定制的YARA规则,为红队加载程序的特定行为签名,这些规则发现了几个类似的有效载荷,但未能捕捉到其他六个C2框架中的任何一个。
- 组织网络维护者使用自定义和开源检测规则的组合(例如
CommandLine=kerberoast*
或文件称为
bloodhound.zip
)并且没有检测到团队的kerberoasting活动。
与SOC领导层的对话揭示了几个程序问题,这些问题导致对红队入侵和活动的分析缓慢或不完整。例如:
- 虽然EDR产品检测并隔离了红队的几个工具,包括最初的网络钓鱼负载,但该组织的日常程序并不总是包括审查EDR警报。红队与该组织合作,确保对EDR警报的快速响应成为网络维护者日常工作流程的基本组成部分。这使得SOC人员能够识别横向移动的新尝试。
- Solaris网络所有者发现几个防火墙无意中被错误配置或禁用。该组织的技术团队直接与红队合作,修复错误并重新组织和验证网络拓扑。
- 网络维护者的操作安全性很差,并提醒红队进行调查。例如:
- IT团队被孤立于SOC之外,他们对系统管理员对异常网络行为长达数周的调查一无所知。
- 虽然该组织将其大部分威胁搜寻和事件响应划分到单独的域中,但工作人员仍然使用受损的公司域帐户来传达主动调查和评估的详细信息。
-
在一个实例中,在收到来自明显是沙盒环境的传入信标后,有效载荷没有从其原始文件进行重命名,这使得红队能够立即确定他们的访问权限有多少受到了审查。组织必须确保沙盒环境安全可靠,并且完全沙盒化。
红队观察到系统管理员审查与该队的Solaris有效载荷相关的取证工件——搜索文件、运行出站C2流量的数据包捕获,以及端口扫描C2重定向器。团队成员简单地用新的重定向器和文件路径重新安装了他们的持久性,避开了非正式的调查。
红队与组织就他们的Sysmon配置进行了富有成效的交流,团队在整个评估中滥用了Sysmon配置。红队发现了几个错误的配置:
- 部署团队将规则集存储为
.xml
文件)转换为全局可读的
C:\Windows
目录。没有适当的规则来捕捉从磁盘或注册表读取配置的对手。因此,红队提供了明确的文件路径,以安全地放置他们的有效载荷。
- 规则针对单一的、特定于工具的IOC,而不是技术(例如,
sc.exe
而不是服务创建事件)。
- 例外过于宽松,例如,排除
C:\Program Files (x86)\Google\Update\*
红队注意到以下与被评估组织的网络安全相关的经验教训和主要发现。这些具体的发现有助于团队获得跨组织网络的持续访问能力。有关如何解决这些问题的建议,请参见缓解部分。
经验教训:接受评估的组织没有足够的控制措施来防止和发现恶意活动。
调查结果#1:组织的外围网络与其内部网络之间没有足够的防火墙,这无法限制出站流量。
该组织的大多数主机(包括域控制器)都可以连接到广泛的AWS EC2范围,允许r红队发出出站web请求,而不会触发IDS/IPS响应。这些成功的连接揭示了缺乏能够检测公共端口上的协议不匹配的应用层防火墙。
调查结果#2:被评估的组织没有足够的网络分段.
网络分段的缺乏使得红队可以在Solaris和Windows域之间来回移动。这也使他们能够收集关于组织及其系统的大量数据。内部服务器可以访问几乎任何其他域主机,而不管其类型(服务器与工作站)、用途(用户笔记本电脑、文件服务器、IDM服务器等),或者物理位置。在网络的不同部分之间使用网络地址转换(NAT)进一步混淆了数据流,阻碍了事件响应。
调查结果#3:组织与多个伙伴组织有信任关系,
这与薄弱的凭证和网络连接相结合,使得红队能够利用并横向转移到合作伙伴域控制器。这凸显了盲目允许第三方网络连接的风险,以及定期监控特权访问和可传递可信凭证材料的重要性
.
调查结果#4:组织的防御性员工没有充分隔离他们的防御性调查活动。
组织应始终在带外交流与可疑事件相关的信息,而不是在他们知道受到威胁的域内交流。当防御系统被分流到另一个具有正确(单向)信任的域时,红队发现了一个可能的攻击媒介,通过同一个先前被入侵的IDM服务器进入该域。一些分析师还从互联网连接的沙箱中对可疑的植入进行了动态分析,向红队提供了正在调查的特定文件和主机。
调查结果#5:网络维护者不熟悉他们的IDM解决方案的复杂性。
红队发现了未在IDM中注册的帐户,并成功使用这些帐户和现有的用户访问令牌绕过IDM。该设备在其活动配置中,并未针对常见的凭据处理技术进行全面测试,也未监控任何异常行为警报。
调查结果#6:该组织有一些基于角色的主机划分,但不够精细。
该组织使用明确定义的角色(服务器管理员和域管理员),但没有将帐户充分隔离到他们自己的服务器或系统,从而允许权限提升。
调查结果7:防御性分析师没有他们需要的信息
由于收集、存储和处理日志的一系列问题。其他政策收集了太多无用的数据,产生噪音并减缓调查。
调查结果8:网络卫士的日常程序并不总是包括对EDR警报的分析
,并且安装的工具仅为隔离文件提供30天的保留期。因此,调查人员无法获得及时的信息,而这些信息可能有助于更早地发现红队的活动。
调查结果#9:取证分析师信任可能被对手修改过的主机工件。
特别是,文件时间戳和数据包捕获被仔细检查,而没有考虑恶意篡改的可能性。
发现#10:组织的技术人员分散在分散的团队中。
孤立的团队结构意味着IT、安全和其他技术团队缺乏与他们的工具的一致性,这给防御者制造了太多的噪音。
调查结果# 11:SOC团队缺乏通过分散的IT团队快速更新或部署规则集的机构
。该组织将诸如Sysmon之类的单个工具的责任分散到多个小组,这妨碍了防御态势的及时性和维护。
调查结果#12:该组织的取证团队制作了一份事件响应报告,记录了红队最初利用Solaris飞地的情况。然而,该报告范围有限,没有充分记录红队扩大和坚持的能力
红队第一阶段的成功使用了众所周知的TTP,说明了所有Solaris主机以及Windows环境的业务风险。此外,该组织的内部报告仅关注易受攻击的服务器,而没有说明网络威胁参与者在Solaris飞地中扩张和持续存在的能力。
-
Solaris管理员对红队的调查既没有出现在报告中,也没有出现在SOC冲突中。管理员对异常和可能的恶意活动的调查,尤其是在调查已确认的邻近主机违规的过程中,应该在报告中被视为横向移动的证据。
调查结果#13:捍卫者高度关注特定的IOC,如文件属性、特定的C2框架或C2域。
调查结果#14:检测规则在受损系统中是可见的
允许红队回避基于硬编码规则和例外的检测。
调查结果#15:对管理工具的限制不够。
技术人员缺乏一套标准化的管理工具,使得所有远程管理协议可供管理员、CISA红队或对手使用。这也为防御者有效筛选以确定预期活动和异常活动制造了过多的噪音。
发现#16:没有足够的软件跟踪
接受评估的组织迅速计划并解决了多个已确定的问题,包括:
Windows服务帐户
该组织取消了30%以上被认为不必要的服务帐户。目前正在努力更改服务帐户密码,并应用国防部建议的STIG合规性(自该报告发布以来,已有超过85%的密码被更改)。
特发性心肌病
:组织正在研究如何改进其IDM实施,并针对可能的凭据滥用应用额外的安全警报和预防措施。他们计划在零层资产前实施额外的基于身份的监控功能。
出口
组织实施了新的流程来检测和防止服务器异常地从网络外部进入互联网。
基于主机的解决方案
主机
在发现大量不可修复的问题和错误配置后,该组织停用了服务器群集,并完全从头开始重建它们。
Solaris凭据
组织更改了密码,删除了SSH密钥,限制了权限,并删除了不必要的帐户。
发现 | 建议 |
---|---|
外围设备和内部设备之间的防火墙不足 |
|
网络分段不足 |
|
域之间的信任关系过于宽松 |
|
防御活动没有被充分隔离 |
|
IDM解决方案没有被充分理解和利用 |
|
基于角色的主机细分不足 |
|
未能每天监测EDR警报 |
|
主机工件被过度信任 |
|
官僚主义和网络维护者的分散化阻碍了沟通和一致性 |
|
内部事故响应报告不足 |
|
关注已知/常见的IOC |
|
检测规则在受损系统中是可见的 |
|
管理工具的限制不足 |
|
软件跟踪不足 |
|
建议组织实施表2中的建议,以减轻通过传统渗透测试或红队评估发现的其他问题。
问题 | 建议 |
---|---|
帐户权限过高,组织的网络包含不必要的服务帐户 |
|
EDR配置不足 |
|
不安全和不充分的凭证 |
|
注意:上述缓解措施适用于具有内部或混合环境的关键基础架构组织。
网络安全攻防
(防御加固、威胁情报、渗透测试、漏洞、代码审计、勒索病毒、CTF、逆向)
相关资料自助下载
↓
责任编辑: