SIESTAGRAPH 开发了新的恶意软件 NAPLISTENER

在监控 REF2924 团伙时,研究人员发现攻击者将注意力从数据窃取转移到持久化。2023 年 1 月 20 日,攻击者使用类似于 Microsoft 分布式事务处理协调服务(msdtc.exe)的合法二进制文件的命名约定,创建并安装了一个新的可执行文件 wmdtc.exe 作为 Windows 服务。

Wmdtc.exe 是一个用 C# 编写的 HTTP 监听程序,被命名为 NAPLISTENER。与 SIESTAGRAPH 开发的其他恶意软件类似,NAPLISTENER 旨在逃避各种形式的网络检测。根据遥测分析,NAPLISTENER 主要活跃在南亚与东南亚地区。

技术分析 

NAPLISTENER 中包含一个名为 MsEXGHealthd 的 C# 类,该类有三个函数:Main、SetRespHeader 和 Listener。主要建立一个 HTTP 请求监听服务,处理来自互联网的请求,针对恶意命令和合法的 Web 流量进行相应的处理。如下所示:

MsEXGHealthd 类 

HTTP 请求监听服务 

SetRespHeader 函数用于设置 HTTP 响应的响应标头,采用 HttpListenerResponse 对象作为参数并定义 HTTP 头,例如 Server、Content-Type 和 X-Powered-By。例如 IIS 返回的 404 响应,响应头中表明 Microsoft-IIS/10.0,如下所示:

正常响应 

但攻击者的 404 响应中增加了 Content-Type: text/html; charset=utf-8。不仅如此,在安装 NAPLISTENER 后,头中还会增加 Microsoft-HTTPAPI/2.0 字符串。这可能是为了避免被网络扫描或者其他探测技术发现。

用户可能会在 IIS 服务日志中检索这些错误响应,但 NAPLISTENER 会将这些请求重定向到已注册的应用程序。确保这些错误响应永远也不会被分析人员在 Web 服务日志中看到,而且提取 Web 服务日志的安全工具也无法识别。

  攻击者的响应

如果由于某种原因(例如请求无效或丢失数据)而产生失败,则将会发送 404 Not Found 的响应,而响应体为空。在发送任一响应后,流会被刷新并关闭连接,然后循环返回以等待更多传入请求。

 POC 先决条件

为了正确运行 NAPLISTENER,必须生成 SSL 证书并注册应用程序以使用。生成自签名证书如下所示:

 证书信息

每个证书都包含一个指纹,下图为示例证书的指纹:

证书指纹 

指纹是注册应用程序所必须的,如下所示:

 注册指纹命令

攻击者使用其证书的指纹替换 certhash,而 appid 是程序的 GUID。正确配置了环境后,就可以从任何有权限的终端运行恶意软件。

分析人员创建的 Python 脚本演示了可用于触发 NAPLISTENER 的方法,如下所示:

演示脚本 

在 POC 中,运行 Python 脚本就会调用计算器:

 成功执行

来源归因 

调查 NAPLISTENER 期间,研究人员发现 SharpMemshell与 NAPLISTENER 类似。代码存在相似的逻辑和相同的调试字符串,NAPLISTENER 可能参考了 SharpMemshell 的代码。 

猜你喜欢

转载自blog.csdn.net/m8330466/article/details/129883852