ArcaneDoor 是一项由国家资助的攻击者针对多个供应商的外围网络设备发起的攻击活动的最新例子。对于这些行为者来说,外围网络设备是针对间谍活动的完美入侵点。作为数据进出网络的关键路径,这些设备需要定期、及时地修补;使用最新的硬件和软件版本及配置;并从安全角度进行密切监控。在这些设备上站稳脚跟后,参与者就可以直接进入组织、重新路由或修改流量并监控网络通信。在过去两年中,我们看到这些设备针对电信提供商和能源部门组织等领域的攻击持续急剧增加,这些关键基础设施实体可能是许多外国政府感兴趣的战略目标。
思科作为全球领先的网络基础设施供应商的地位使 Talos 的情报和拦截团队能够深入了解网络健康状况的总体状况。这也使我们对这种性质的攻击具有独特的调查能力。 2024 年初,一位警惕的客户联系了思科产品安全事件响应团队 (PSIRT) 和思科 Talos,讨论其思科自适应安全设备 (ASA) 的安全问题。 PSIRT 和 Talos 联手发起调查以协助客户。最终,包括多个外部情报合作伙伴在内的调查持续了数月,在此过程中,我们发现了一个以前未知的攻击者,现在 Talos 追踪为 UAT4356,微软威胁情报中心追踪为 STORM-1849。该攻击者使用定制工具,表现出对间谍活动的明确关注以及对其目标设备的深入了解,这是成熟的国家资助攻击者的标志。
UAT4356 部署了两个后门“Line Runner”和“Line Dancer”作为该活动的组成部分,它们共同用于对目标进行恶意操作,包括配置修改、侦察、网络流量捕获/渗透和潜在的横向移动。
可用的关键修复程序
思科与受害者和情报合作伙伴合作,发现了一个复杂的攻击链,该攻击链用于植入自定义恶意软件并在一小部分客户中执行命令。虽然我们无法识别初始攻击向量,但我们已经识别了两个漏洞(CVE-2024-20353 和 CVE-2024-20359),我们将在下面详细介绍。强烈建议客户遵循下面讨论的安全公告中发布的指南。
此外,来自情报合作伙伴的网络遥测和信息表明,攻击者对 Microsoft 和其他供应商的网络设备感兴趣,并可能对其进行攻击。无论您的网络设备提供商如何,现在都是确保设备正确修补、登录到中央安全位置并配置为具有强大的多因素身份验证 (MFA) 的时候了。此处提供了针对思科的其他建议。
时间线
思科最初于 2024 年初收到关于 ASA 设备上可疑活动的警报。随后的调查发现了更多受害者,所有受害者都涉及全球政府网络。在调查过程中,我们发现了攻击者控制的基础设施可以追溯到 2023 年 11 月上旬,其中大多数活动发生在 2023 年 12 月至 2024 年 1 月上旬之间。此外,我们还发现了证据表明这种能力早在 2023 年 7 月就开始测试和开发。
思科发现了此活动中被滥用的两个漏洞(CVE-2024-20353 和 CVE-2024-20359)今天发布的思科安全公告中详细介绍了这些漏洞的补丁
初始访问
我们尚未确定此活动中使用的初始访问向量。迄今为止,我们尚未发现预身份验证利用的证据。我们的调查正在进行中,如有必要,我们将在安全公告或本博客中提供更新。
Line Dancer:内存植入技术细节
恶意软件植入有几个关键组件。第一个是纯记忆植入物,称为“Line Dancer”。该植入程序是一个驻留在内存中的 shellcode 解释器,使攻击者能够上传和执行任意 shellcode 有效负载。
在受损的 ASA 上,攻击者通过主机扫描回复字段提交 shellcode,然后由 Line Dancer 植入程序进行解析。请注意,使用此字段并不表示对 CVE-2018-0101 的利用,CVE-2018-0101 并未用作此活动的组成部分。主机扫描回复字段通常在 SSL VPN 会话建立过程的后续部分中使用,由为 SSL VPN、具有“客户端服务”或 HTTPS 管理访问权限的 IPsec IKEv2 VPN 配置的 ASA 设备进行处理。参与者覆盖指针到默认的主机扫描回复代码,而不是指向 Line Dancer shellcode 解释器,这允许参与者使用 POST 请求与设备交互,而无需直接通过任何传统管理界面进行身份验证和交互。
Line Dancer 用于在受感染设备上执行命令。在我们的调查过程中,Talos 能够观察到威胁行为者使用 Line Dancer 恶意软件植入来:
禁用系统日志。
运行并提取命令 show configuration。
创建并窃取数据包捕获。
执行 shellcode 中存在的 CLI 命令;这包括配置模式命令以及将它们保存到内存(写入内存)的能力。
挂钩故障转储进程,这会强制设备跳过故障转储生成并直接跳转到设备重新启动。这样做的目的是为了逃避取证分析,因为故障转储将包含妥协的证据,并向调查人员提供额外的取证详细信息。
挂钩 AAA(身份验证、授权和计费)功能以实现幻数身份验证功能。当攻击者尝试使用此幻数连接到设备时,他们能够绕过配置的 AAA 机制建立远程访问 VPN 隧道。作为访问的替代形式,会生成 P12 blob 以及关联的证书,并与基于证书的隧道配置一起渗透到参与者。
Host-Scan-Reply 挂钩概述
在 Line Dancer 植入程序的进程内存中,我们发现了一个函数(详细信息如下),用于检查 32 字节令牌是否与模式匹配。如果是,它会对有效负载进行 Base64 解码,将其复制到攻击者的可写可执行内存区域,然后调用新解码的函数。不管怎样,它都会以调用结束processHostScanReply()。 通常通过表中与字符串关联的函数指针来访问
该函数。在捕获的内存中,应该指向now 的条目改为指向攻击者解码并运行其有效负载的函数。由于此更改位于内存的数据部分,因此它不会显示在文本的哈希/转储中。 解码并运行其有效负载的攻击者函数具有以下反编译: processHostScanReply()elementArrayhost-scan-replyprocessHostScanReply()
Line Runner:持久化机制
威胁行为者利用受感染 ASA 设备上的第二个持久性后门(称为“Line Runner”)来维持持久性,该后门使用与允许在设备上预加载 VPN 客户端和插件的旧功能相关的功能。启动时,ASA 旨在查找 disk0 上是否存在文件:与 Lua 正则表达式匹配:
^client_bundle[%w_-]*%.zip$
如果该文件存在,它将解压缩并执行脚本 csco_config.lua。处理完成后,ZIP 文件将被删除。此问题已分配 CVE-2024-20359,此思科安全通报中提供了更多详细信息。
至少在一种情况下,攻击者会滥用另一个漏洞 CVE-2024-20353 来促进这一过程。攻击者能够利用此漏洞导致目标 ASA 设备重新启动,从而触发解压缩并安装威胁参与者的恶意软件植入程序的第二个组件 Line Runner。
威胁发起者的 ZIP 文件包含以下文件:
zip 文件中的脚本允许威胁行为者维护 ASA 的持久的基于 HTTP 的 Lua 后门,该后门在重新启动和升级后仍然存在。据观察,UAT4356 使用 Line Runner 来检索通过使用 Line Dancer 上演的信息。
csco_config.lua
• Create disk0:/csco_config/97/webcontent/ if it doesn't already exist
• Create disk0:/csco_config/97/webcontent/1515480F4B538B669648B17C02337098 from hash.txt
• Append index.txt to disk0:/csco_config/97/webcontent/index_bp.ini and put the result in disk0:/csco_config/97/webcontent/index.ini
• Move the original client_bundle.zip file to /run/lock/subsys/krbkdc6
• Prepend umtfc.txt to /etc/init.d/umountfs
• Copy stgvdr.txt to /asa/scripts/lina_cs
• Backup /asa/scripts/lina_exe_cs.sh to /asa/scripts/lina_exe_cs_bp.sh
• Replace /asa/scripts/lina_exe_cs.sh with laecsnw.txt
• Copy csco_config2.lua over csco_config.lua
• Disable the importPlugin function for the next call only
csco_config2.lua
csco_config2.lua 文件清除 csco_config.lua(上面)所做的修改并删除自身。
hash.txt
用作的内容disk0:/csco_config/97/webcontent/1515480F4B538B669648B17C02337098
拦截对 ASA 的 HTTP 请求。威胁参与者的代码会查找带有一组与受害者相关的 32 个字符的参数的 HTTP 请求。如果它们匹配,则这些参数之一中包含的有效负载将被写入 Lua 脚本并执行。这就是后门的命令和控制机制。
index.txt
添加 webContent 信息,以便处理 hash.txt。
laecsnw.txt
暂时代替/asa/scripts/lina_exe_cs.sh。
/asa/scripts/lina_cs作为后台进程执行(见下文)。自行移除。然后恢复备份/asa/scripts/lina_exe_cs_bp.sh。
stgvdr.txt
运行为/asa/scripts/lina_cs.
休眠 30 秒后,将预期所有者和时间设置为/etc/init.d/umountfs。删除哈希API端点index.ini,并恢复备份index.ini或完全删除webcontent目录。最后,自行移除。
umtfc.txt
前置到 /etc/init.d/unmountfs。
unmountfs 脚本在关闭时调用以卸载文件系统。威胁参与者的修改执行以下功能:
如果disk0:/csco_config/97/webcontent/1515480F4B538B669648B17C02337098存在,则将其删除并index.ini。
复制/run/lock/subsys/krbkdc6 to disk0:client_bundle_install.zip
这会将 zip 文件设置为在下次启动时执行,从而保持持久性。
Forensic Recovery and Identification of Line Runner
要确定 ASA 上是否存在 Line Runner,可以使用以下方法。另请注意,设备应升级到第一种方法中确定的固定版本。
方法一:
将设备更新到包含 CVE-2024-20359 修复程序的软件版本后,应检查 disk0: 的内容。如果更新后 : 上出现新文件(例如“client_bundle_install.zip”或任何其他不寻常的 .zip 文件),disk0则表明相关设备上存在 Line Runner。请注意,由于更新的软件不易受到 CVE-2024-20359 的影响,Line Runner 将不再在设备上处于活动状态。
方法二:
要检测(并删除)Line Runner,以下一系列命令将创建一个扩展名为 .zip 的无害文件。请注意,它不会创建有效的 zip 文件,但 ASA 在重新启动时仍会读取该文件。执行以下命令后,如果重新加载后 disk0: 上出现新的 .zip 文件,则表明相关设备上存在 Line Runner。删除“client_bundle_install.zip”文件将删除 Line Runner。请注意,包含 Line Runner 功能的恶意 ZIP 可能具有符合前面概述的命名模式的其他名称。
如果您发现新创建的 .zip 文件,请使用复制命令将该文件从设备上复制下来,并联系psirt@cisco.com(引用 CVE-2024-20359)。包括来自设备的dir disk0:和show version命令的输出以及从设备中提取的 .zip文件。
Anti-Forensics/Anti-Analysis Capabilities
UAT4356 采取了明确且深思熟虑的步骤来尝试防止恶意工件的取证捕获。此技巧建议您全面了解 ASA 本身以及思科通常为网络设备完整性验证执行的取证操作。我们根据具体情况采取了额外的步骤来隐藏在设备上执行的操作。这些步骤包括挂钩设备的 AAA(身份验证、授权和计费)功能,以允许攻击者绕过正常的 AAA 操作。我们还发现了一些实例,其中 UAT4356 禁用日志记录以在 ASA 上或从 ASA 执行操作,但不会记录这些操作或操作。
《排舞者》似乎被故意置于记忆中难以触及的区域。此外,它还挂钩诸如核心转储功能之类的功能,该功能通常用于收集用于调试和取证目的的信息,这些信息是在内存中生成的,因此该功能只需跳转到重新启动即可。这意味着重新启动后,Line Dancer 本身将不再存在,并且核心转储函数中存在的任何集合都不会被执行,所有这些都会导致调试信息和基于内存的取证工件完全丢失。
归因
作为我们正在进行的调查的一部分,我们还对该活动的可能归因进行了分析。我们的归因评估基于受害者学、在能力开发和反取证措施方面使用的间谍技术的显着水平,以及 0day 漏洞的识别和随后的链接。出于这些原因,我们非常有信心地评估这些行为是由国家资助的行为者执行的。
建议
如果客户怀疑自己可能成为此活动的目标,可以寻找一些已知的妥协指标。首先,组织应查找进出 ASA 设备到本博客底部提供的 IOC 列表中存在的任何 IP 地址的任何流量。这表明有必要进行进一步调查。
此外,组织可以发出命令show memory region | include lina来识别另一个妥协指标。如果输出指示多个可执行内存区域(具有r-xp权限的内存区域,请参阅输出示例),特别是如果这些内存部分之一恰好是 0x1000 字节,则这是潜在篡改的迹象。
受感染设备(顶部)与干净设备(底部)的“显示内存区域”命令的输出
请注意,即使在没有多个可执行内存区域的情况下,仍然可以遵循前面提供的识别 Line Runner 是否存在的步骤,因为我们已经看到了 Line Runner 存在但 Line Dancer 不存在的情况。即使客户认为他们的设备没有受到损害,我们仍然建议按照以下步骤升级到修补版本。
接下来,按照适用于急救人员的 Cisco ASA 取证调查程序中详细说明的步骤进行操作。当遵循这些过程时,第一响应者不应尝试收集核心转储(步骤 5),或者如果他们根据 Lina 内存区域输出认为设备已受到损害,则不应重新启动设备。应遵循前面的步骤,直至并包括内存文本部分的集合。此外,我们还发布了一些 Snort 签名来检测线路上的活动,包括访问尝试。签名 63139、62949 和 45575 已发布,用于检测植入物或相关行为。请注意,设备必须设置为解密 TLS 才能使这些签名生效。
UAT4356基础设施
用于此操作的参与者控制的基础设施的关键组件与 SSL 证书存在有趣的重叠,这些证书与以下模式匹配,同时也作为 ASA 出现,在同一时期,外部扫描引擎(如 CPE 报告的 Shodan 和 Censys)与所指出的 SSL 证书位于同一端口上的数据。 SSL 证书信息表明该基础设施正在利用 OpenConnect VPN 服务器 ( https://ocserv.openconnect-vpn.net ),攻击者似乎通过该服务器对目标执行操作。
证书模式: :issuer = O=ocserv,CN=ocserv VPN :selfsigned = true :serial = 0000000000000000000000000000000000000002 :subject = O=ocserv,CN=ocserv VPN :version = v3
CPE 标识符: cpe:2.3:a:cisco:http:*:*:*:*:*:*: :cpe:2.3:h:cisco:adaptive_security_appliance:*:*:*:*:*:*:*: * cpe:2.3:o:cisco:adaptive_security_appliance_software:*:*:*:*:*:*:*:*
妥协指标(IOC)
正如本文前面所述,防御者在评估其 ASA 设备是否因此次攻击而受到损害时可以寻找几个已知的损害指标。例如,如果观察到日志记录中存在任何间隙或最近发生任何意外重新启动,则应将其视为可疑活动,需要进一步调查。另外,下面是我们确定已被 UAT4356 使用的 IP 地址列表。请注意,其中一些 IP 是众所周知的匿名基础设施的一部分,并不由攻击者本身直接控制。如果您的组织确实找到了与所提供的参与者 IP 的连接,并且故障转储功能已被更改。
可能由参与者控制的基础设施:
192.36.57[.]181
185.167.60[.]85
185.227.111[.]17
176.31.18[.]153
172.105.90[.]154
185.244.210[.]120
45.86.163[.]224
172.105.94[.]93
213.156.138[.]77
89.44.198[.]189
45.77.52[.]253
103.114.200[.]230
212.193.2[.]48
51.15.145[.]37
89.44.198[.]196
131.196.252[.]148
213.156.138[.]78
121.227.168[.]69
213.156.138[.]68
194.4.49[.]6
185.244.210[.]65
216.238.75[.]155
多租户基础设施:
5.183.95[.]95
45.63.119[.]131
45.76.118[.]87
45.77.54[.]14
45.86.163[.]244
45.128.134[.]189
89.44.198[.]16
96.44.159[.]46
103.20.222[.]218
103.27.132[.]69
103.51.140[.]101
103.119.3[.]230
103.125.218[.]198
104.156.232[.]22
107.148.19[.]88
107.172.16[.]208
107.173.140[.]111
121.37.174[.]139
139.162.135[.]12
149.28.166[.]244
152.70.83[.]47
154.22.235[.]13
154.22.235[.]17
154.39.142[.]47
172.233.245[.]241
185.123.101[.]250
192.210.137[.]35
194.32.78[.]183
205.234.232[.]196
207.148.74[.]250
216.155.157[.]136
216.238.66[.]251
216.238.71[.]49
216.238.72[.]201
216.238.74[.]95
216.238.81[.]149
216.238.85[.]220
216.238.86[.]24
参考链接: https://blog.talosintelligence.com/arcanedoor-new-espionage-focused-campaign-found-targeting-perimeter-network-devices/
图片来源网络侵权可联系删除