检测 Sliver 框架横向平移的机会
2023-2-13 08:51:50 Author: www.freebuf.com(查看原文) 阅读量:37 收藏

freeBuf

主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

Sliver 框架迅速蹿红,被越来越多的攻击者所使用。该框架是 Golang 编写的,开源且经常更新。Sliver 支持控制失陷主机的所有基本功能,对检测也构成了巨大的挑战。

恶意软件

与各种 C&C 框架相同,攻击者需要在失陷主机上运行恶意软件,并且在后端的攻击基础设施进行监听。

配置 HTTPS 通信,只需要两个命令:https 与 generate。https 命令会启动 Web 服务器来监听 443 端口,generate 命令编译生成恶意软件。

image.png-873.7kB配置命令

测试环境由三台机器组成,一台 Windows 10 主机、一台 Windows 7 主机和一台 Windows Server 2019。恶意软件被执行后,如下图所示。OUTSTANDING_DOUBTER.exe 立即连接到 C&C 服务器,根据 net view 命令也能看出。

image.png-1755kB恶意软件运行

横向平移

攻击者要通过横向平移来控制最重要的基础设施,如域控和数据库等。Sliver 也可以进行横向平移,从一台主机转移到另一台主机。

攻击者使用 use 命令进入会话中,再利用 gengrate --format service 命令创建新的恶意软件。完成后,就可以通过执行 psexec 命令来进行横向平移。主要分为三个步骤:(1)将恶意软件复制到远程系统;(2)创建系统服务;(3)启动执行。

image.png-1410.9kB操作记录

psexec 命令以 acidm.exe 的形式执行服务植入,连接到 C&C 服务器的 HTTPS 监听端口。攻击者使用 use 命令连接并控制恶意软件,info 命令显示恶意软件确实在 Windows 7 机器上运行了。

image.png-1937kB作为服务运行的恶意软件

检测

尽管使用了 SSL,但并不总是能够对 C&C 通信协议进行指纹识别。相反的,横向平移更容易检测。借助 psexec 进行横向平移时,攻击者需要(1)复制文件;(2)发起 CreateServiceW 请求;(2)使用 StartServiceW 调用启动服务。这是常见的方式,Emotet 恶意使用了这种方法进行传播。

image.png-2553.9kB通过 SMB 的横向平移流量

每次 psexec 执行,Sliver 都会随机生成一个文件名。远程服务名称、服务描述以及可执行文件上传到的目录都是可配置的,但默认服务名称为 Sliver、默认目标目录为 Windows\Temp)。在检测横向移动时,不能依赖网络流量中的特定字符串或二进制序列,重要的是依赖一系列不变的事件。

Sliver 除了依赖内置的 psexec 命令之外,还支持多种方式使用第三方组件进行横向平移。这都可以通过 armory 进行安装。例如 SharpWMI 能够通过 WMI 创建远程进程;ServiceMove-BOF 能够滥用 Windows 感知模拟服务;SCShell 能够依赖 ChangeServiceConfigA 运行命令等等。由于所采用的技术差异很大,不同的方法需要量身定制的检测技术。

结论

本文介绍了攻击者如何使用 Sliver 生成恶意软件,以及如何利用其进行横向平移。根据活动产生的网络流量,指出可能的检测模式方法。

目前 Sliver 已经成为仅次于 Cobalt Strike 和 Metasploit 的第三大 C&C 框架。Sliver 的成功主要有三方面:开源、发布频率快与有效且不冗余的代码。

参考来源

VMware


文章来源: https://www.freebuf.com/articles/network/357393.html
如有侵权请联系:admin#unsafe.sh