Multi-Remote Next Generation Connection Manager (mRemoteNG) 是一款免费软件,允许用户存储和管理多协议连接配置,以远程连接到系统。
mRemoteNG 配置文件可以以加密状态存储在磁盘上。mRemoteNG 版本 <= v1.76.20 及 <= 1.77.3-dev 在应用程序启动时会将配置文件的明文加载到内存中(必要时先解密),即使尚未建立任何连接。这使得攻击者能够通过内存转储访问配置文件的明文内容,从而在未设置自定义密码加密密钥时泄露用户凭证。同时,通过转储已解密配置,绕过了连接配置文件加密设置。
此漏洞被分配为 CVE-2023-30367。
已在 Windows 11 (德语版) 上使用 mRemoteNG 1.77.3.1784-NB 和 mRemoteNG 1.76.20 进行测试。
该发现已由 mRemoteNG 开发者之一 Dimitrij Gorodeckij 在此 确认。修复仍在开发中。再次感谢 Dimitrij Gorodeckij 的快速响应与合作!希望尽快修复!
1. 使用强(长)配置密码加密密码/密钥:
在内存转储情况下,攻击者可以访问配置文件的明文,但仍需暴力破解密码加密密钥。
不幸的是,启用连接文件加密选项无助于防止此攻击,因为 mRemoteNG 连接配置文件在运行时会被解密。
2. 当修复版本发布后,更新到大于 v1.77.3.1784-NB 的 mRemoteNG 版本。
3. 为防止恶意执行(如 mRemoteNGDumper.exe),应实施应用程序白名单。
请注意,配置密码加密和连接文件加密是不同的设置。配置密码加密仅用于加密配置文件中的密码,而连接文件加密用于加密整个配置文件本身。
此漏洞通过转储内存中已解密的配置来绕过连接文件加密。这些配置仍包含加密的密码,可以使用默认密钥 mR3m 解密。如果已设置自定义配置密码加密密钥/密码,攻击者仍需猜测自定义密钥。(请参见 mremoteng-decrypt.py 部分)
git clone https://github.com/S1lkys/CVE-2023-30367-mRemoteNG-password-dumper.git 或从 GitHub 下载mRemoteNG-password-dumper在 Windows 上手动测试此漏洞的最简单方法是使用 Windows 任务管理器,右键点击 mRemoteNG 进程并选择“创建转储文件”来创建进程转储。转储文件可以在 VisualStudio Code 中打开。然后搜索你配置的连接值。
mRemoteNG 密码转储器是一个简单的概念验证工具,用于从 mRemoteNG 的内存中转储配置文件。无需在目标系统上执行代码,只需内存转储即可。这是一个快速 POC,因此可能不太可靠和健壮。如果你发现任何问题并修复,请提交拉取请求。
配置文件目前硬编码如下:(\<Node)(.*)(?=\/>)\/>
mremoteng_decrypt.py 解密/暴力破解转储的文件或具有自定义密码的密码字符串(参见 mremoteng-decrypt.py 部分)我在 mremoteng-decrypt 中增加了暴力破解功能(见致谢)。可用于暴力破解自定义的 mRemoteNG 配置/密码加密密钥。如果未配置自定义密钥,脚本将使用默认密钥 mR3m 解密配置。该脚本也可用于解密具有自定义加密密码的配置文件。另见 演示。

使用自定义加密密码 123 解密配置文件:python3 mremoteng_decrypt.py -rf "C:\Users\mbzra\source\repos\mRemoteNG Dumper\dump\extracted_Configfile_mRemoteNG_0_09.07.2023.11.01_confCons.xml" -p 123
使用自定义加密密码 123 解密密码字符串:python3 mremoteng_decrypt.py -s "QHrcb7I0KHi6YLFXxv93jenrUmNj5qO30zTM9qXqRUd7ImVm5/ROU7CLQ5u7+7+iOiFrY2BtZSpJ8RrR3jV6LoE=" -p 123
使用无自定义加密密码解密密码字符串:python3 mremoteng_decrypt.py -s "yW0Ypq/cTcwfHwYxIiHgczcsIKU+jWlfnZBcTdKQImsMbBnP3SLv2h75Z7IAbkFOsD2YzBo2wGk2fhDLpRFH2y8="
暴力破解用法:python3 mremoteng_decrypt.py -s "[提取的加密配置密码]" -b y -w [字典路径]
暴力破解示例:python3 mremoteng_decrypt.py -s "QHrcb7I0KHi6YLFXxv93jenrUmNj5qO30zTM9qXqRUd7ImVm5/ROU7CLQ5u7+7+iOiFrY2BtZSpJ8RrR3jV6LoE=" -b y -w .\wordli.txt
取决于您的威胁模型。如果您的计算机已被恶意软件感染,且该恶意软件以您的用户权限在后台运行,那么这一发现并不会使您的情况变得更糟。 不过,恶意软件可能更容易隐藏并逃避杀毒软件,因为与 KeeTheft 或 KeeFarce 不同,无需进程注入或其他类型的代码执行。
如果您有理由怀疑有人可能获得对您计算机的访问权限并进行取证分析,那可能会很糟糕。
如果您使用强密码的配置文件加密并且系统是干净的,那么您应该没问题。仅凭这一发现,没有人能通过互联网远程窃取您的密码。
