执行摘要
本文讨论了我们使用 Advanced WildFire 的内存扫描工具在客户系统上发现的一种名为 Splinter 的新型后漏洞利用红队工具。渗透测试工具包和对手模拟框架通常可用于识别公司网络中的潜在安全问题。然而,这些工具有时会落入犯罪分子手中,这凸显了持续跟踪和检测它们的必要性。
通过Advanced WildFire及其不同的内存分析功能, Palo Alto Networks 客户可以更好地抵御 Splinter 后漏洞利用工具的攻击。Advanced WildFire 机器学习模型和分析技术已根据本研究中分享的 IoC 进行了审查和更新。Advanced WildFire 将本文讨论的 Splinter 恶意软件样本归类为恶意软件。
Cortex XDR 和 XSIAM有助于检测和阻止已知样本,行为威胁防护可监控后利用活动。
Splinter 简介
今年早些时候,我们的 Advanced WildFire 内存扫描工具在客户系统上发现了一种新的后漏洞利用红队工具。通过搜索我们的样本遥测数据库,我们发现有几位客户受到了影响。
样本中的几个字符串工件以及功能集合表明 Splinter 是一个红队工具。此工具的名称是其内部项目名称,留在调试工件中。我们还不知道谁开发了 Splinter——我们只有一些线索,但无法得出重要结论。
如果使用得当,渗透测试工具包和对手模拟框架可以显著提高公司的安全性。它们的主要目的是在攻击者利用漏洞之前识别公司网络中的潜在漏洞。
许多工具包都包含后利用功能。后利用工具通常是定制开发的,目的是扩大获得的初始访问权限并模拟对目标系统的长期访问。
此类工具包最著名的例子是 Cobalt Strike。尽管它是只有合法客户才能获得的专有软件,但有时它最终会落入犯罪分子手中。
在我们的分析过程中,我们没有发现与 Splinter 工具集相关的威胁行为者活动。
技术分析
Splinter 是用Rust开发的,Rust 是一种相对较新的编程语言,推荐用于开发内存安全软件。然而,它的运行时代码层次密集,占程序代码的 99%。这种密度使分析成为恶意软件逆向工程师面临的真正挑战。
在客户系统上发现的样本(SHA-256:1962cef10cf737300d04a23139122abcc8e8803e54dfcb63054140fbe549bed0)是一个 64 位可执行文件,它链接了调试信息,具有以下 PDB 路径:
-
C:gitlab-runnerbuilds_fUzhMf8i�h3upperboundsred-teamimplantsplinter_coretargetreleasedepsimplant_exe.pdb
从文件路径可以看出,这个后利用工具的项目名称是 Splinter。单个样本被定义为植入物,这是红队后利用工具的典型术语。其他样本被编译为 DLL,其 PDB 路径以plant_dll.pdb结尾。
Rust 样本通常很大,从几百 KB 到几兆字节不等,而典型的 Splinter 样本则异常大,大约 7 MB。这主要是由于其使用和静态链接到文件中的大型外部库。在 Rust 术语中,这些被称为crate。
该示例使用以下板条箱:
-
indexmap (2.2.3)
-
futures-channel (0.3.30)
-
tracing-core (0.1.32)
-
matchers (0.1.0)
-
hyper-rustls (0.24.2)
-
regex-syntax (0.6.29, 0.8.2)
-
tokio-util (0.7.10)
-
hashbrown (0.14.3, 0.14.0)
-
tracing-subscriber (0.3.18)
-
tokio-rustls (0.24.1)
-
parking_lot (0.12.1)
-
once_cell (1.19.0)
-
sharded-slab (0.1.7)
-
socket2 (0.5.5)
-
windows-core (0.51.1)
-
sct (0.7.1)
-
url (2.5.0)
-
percent-encoding (2.3.1)
-
lazy_static (1.4.0)
-
smallvec (1.13.1)
-
serde (1.0.196)
-
spin (0.9.8)
-
tinyvec (1.6.0)
-
ring (0.17.7)
-
regex-automata (0.4.5, 0.1.10)
-
backtrace (0.3.69)
-
crossbeam-channel (0.5.11)
-
serde_json (1.0.113)
-
anyhow (1.0.79)
-
ipnet (2.9.0)
-
encoding_rs (0.8.33)
-
reqwest (0.11.24)
-
rustc-demangle (0.1.23)
-
want (0.3.1)
-
tracing-appender (0.2.3)
-
mio (0.8.10)
-
unicode-normalization (0.1.22)
-
rustls-pemfile (1.0.4)
-
mime (0.3.17)
-
parking_lot_core (0.9.9)
-
bytes (1.5.0)
-
httparse (1.8.0)
-
futures-util (0.3.30)
-
thread_local (1.1.7)
-
rustls-webpki (0.101.7)
-
time (0.3.34)
-
h2 (0.3.24)
-
untrusted (0.9.0)
-
rmp-serde (1.1.2)
-
tracing-log (0.2.0)
-
futures-core (0.3.30)
-
regex (1.10.3)
-
log (0.4.20)
-
idna (0.5.0)
-
uuid (1.7.0)
-
tokio (1.36.0)
-
http (0.2.11)
-
base64 (0.21.7)
-
slab (0.4.9)
-
hyper (0.14.28)
-
rustls (0.21.10)
与许多其他后漏洞利用工具一样,Splinter 使用 JSON 格式的配置数据结构,其中包含其操作所需的信息。该数据结构内部名为ImplantConfig,包含以下信息:
-
id(旧样本中的correlation_id):植入物 ID [字符串]
-
strength_uuid:未知 ID(可能与被利用的漏洞有关)[字符串]
-
endupd_uuid:目标端点 ID [字符串]
-
is_test_implant:该文件是否为测试样本 [布尔值]
-
c2_server_address:命令和控制(C2)服务器地址 [字符串]
-
c2_port:C2 服务器端口 [int]
-
c2_user:C2 用户名 [字符串]
-
c2_password:C2 用户密码 [字符串]
-
log_path:日志文件的路径[字符串]
-
log_env:日志级别[字符串]
例如,我们的 Splinter 样本包含以下数据:
与许多其他后漏洞利用工具一样,Splinter 使用 JSON 格式的配置数据结构,其中包含其操作所需的信息。该数据结构内部名为ImplantConfig,包含以下信息:
id(旧样本中的correlation_id):植入物 ID [字符串]
strength_uuid:未知 ID(可能与被利用的漏洞有关)[字符串]
endupd_uuid:目标端点 ID [字符串]
is_test_implant:该文件是否为测试样本 [布尔值]
c2_server_address:命令和控制(C2)服务器地址 [字符串]
c2_port:C2 服务器端口 [int]
c2_user:C2 用户名 [字符串]
c2_password:C2 用户密码 [字符串]
log_path:日志文件的路径[字符串]
log_env:日志级别[字符串]
例如,我们的 Splinter 样本包含以下数据:
执行后,样本将解析配置数据,并使用网络信息通过 HTTPS 和登录凭据连接到 C2 服务器。Splinter 植入程序由基于任务的模型控制,该模型在后利用框架中很常见。它从攻击者定义的 C2 服务器获取任务。Splinter 任务具有以下后利用功能:
-
执行 Windows 命令
-
通过远程进程注入执行模块
-
将文件从受害者的系统上传到攻击者的服务器
-
将文件从攻击者的服务器拖放到受害者的系统
-
从某个云服务账户收集信息
-
自我删除
Splinter 使用经典的进程注入方法作为运行附加模块的选项。
图 1 显示了远程进程中线程的创建,该进程运行 PE 加载程序 shellcode,进而执行有效载荷。PE 加载程序和有效载荷均写入攻击者定义的远程进程。
图 1. 远程进程注入以运行额外的有效载荷。
Splinter 使用攻击者的 C2 服务器上的以下 URL 路径来同步任务、维持心跳连接以及下载或上传文件:
-
/implant/task_created_events:用于任务同步
-
/implant/task_completed_events:用于任务状态处理
-
/implant/files/:用于下载/上传文件
-
/implant/heartbeat:用于检查植入物是否存活并与 C2 服务器建立连接
所有网络通信均使用 HTTPS 加密。
结论
在本文中,我们将介绍 Splinter,这是我们在多个客户端系统上发现的一种新的后漏洞利用红队工具。它具有渗透测试工具中常见的一组标准功能,其开发人员使用 Rust 编程语言创建了它。虽然 Splinter 不如 Cobalt Strike 等其他知名的后漏洞利用工具那么先进,但如果被滥用,它仍然会对组织构成潜在威胁。
这一发现强调了可用的红队工具数量正在不断增加。因此,组织环境可以反映威胁行为者式活动的方式越来越多样化。多样性的增加凸显了保持最新预防和检测能力的重要性,因为犯罪分子可能会采用任何有效危害组织的技术。
Palo Alto Networks 客户可通过Advanced WildFire更好地防御此类威胁。Advanced WildFire 机器学习模型和分析技术已根据本研究中所分享的 IoC 进行了审查和更新。
Cortex XDR 和 XSIAM有助于检测和阻止已知样本,行为威胁防护可监控后利用活动。
SHA-256
1962cef10cf737300d04a23139122abcc8e8803e54dfcb63054140fbe549bed0
原文始发于微信公众号(Ots安全):Splinter:新的漏洞利用后红队工具
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论