[Meachines][Hard]Napper

💡 原文中文,约7400字,阅读约需18分钟。
📝

内容提要

该文章介绍了一种名为NAPLISTENER的恶意软件,旨在规避网络检测。文章提供了使用NAPLISTENER扫描工具的示例命令,并介绍了获取用户和管理员密码的方法。最后,文章提到了Elasticsearch分布式搜索和分析引擎。

🔎

延伸解读

NAPLISTENER 的隐蔽机制与检测难点

NAPLISTENER 通过内联执行将恶意请求重定向到注册的应用程序,避免在 IIS 日志中留下 404 错误,从而规避基于网络和日志的检测。其 MsEXGHealthd 类中的 Listener 方法创建 HttpListener 对象,处理传入请求并执行 Base64 编码的 .NET 程序集。这种设计使得传统安全工具难以发现异常,防御者需关注非标准 HTTP 头(如 Microsoft-HTTPAPI/2.0)和异常进程行为。

从 Elasticsearch 种子值到密码解密

攻击者利用 Elasticsearch 存储种子和加密数据。种子索引中的 seed 值用于生成 AES 密钥,而 user-00001 索引中的 blob 字段是 Base64 编码的密文。通过逆向 a.exe 可知,程序使用 math/rand 基于种子生成 16 字节密钥,再以 AES CFB 模式解密。掌握种子和密文即可还原备份用户密码,进而通过 RunasCs 提升权限。这凸显了保护密钥管理服务的重要性。

自定义 LAPS 方案的安全风险

文章中的内部文章提到,组织正用自定义方案替换 LAPS,将备份用户密码存储在本地 Elasticsearch 中。然而,该方案存在严重缺陷:种子和加密数据同库存储,且凭据以明文形式出现在 .env 文件中。攻击者一旦访问 Elasticsearch,即可解密密码。这提醒我们,自定义安全方案需经过严格审计,避免引入比原方案更弱的环节。

❓

Q&A

NAPLISTENER恶意软件的主要功能是什么?

NAPLISTENER旨在规避网络检测,处理传入请求并过滤恶意命令。

如何使用NAPLISTENER扫描工具?

可以在Linux或Windows平台上运行NAPLISTENER扫描工具,自动下载依赖程序并执行扫描命令。

NAPLISTENER在什么地区活跃?

NAPLISTENER主要在南亚和东南亚地区活跃。

NAPLISTENER如何处理HTTP请求?

NAPLISTENER通过创建HttpListener对象来处理HTTP请求,并执行Base64编码的.NET程序集。

Elasticsearch在NAPLISTENER中有什么作用?

Elasticsearch用于存储和检索数据,NAPLISTENER利用其数据库生成密钥并解密存储的密码。

如何获取用户和管理员密码?

通过Elasticsearch数据库中的种子值生成密钥,解密存储的密码后可以获取用户备份密码。

🏷️

标签

➡️

继续阅读