HFS (Http File Server) 是一个小型、轻量级、易使用的文件共享服务器软件。然而,HFS 存在一个严重的漏洞,使攻击者可以通过利用该漏洞来远程执行恶意命令或程序。该漏洞的存在导致服务器端对任意的HTTP请求都返回一些信息,使攻击者可以通过利用此漏洞将病毒或木马等恶意程序传输到服务器端,然后通过执行该程序造成服务器被攻陷的后果。
漏洞原理:
HFS 服务器对于任何 HTTP 请求都会返回一些 HTTP 响应头,例如 Date、Server、Content-Length 等,这个响应头是在 HFS 自身的逻辑判断完成之后才会返回的。
攻击者可以利用 POST 或者 GET 方法向 HFS 服务器发送恶意请求,由于 HFS 服务器对于任何请求都会返回 HTTP 响应头,攻击者可以自定义 HTTP 响应头的内容,包括设置如下的 Content-Type 和 Content-Disposition 头部:
Content-Type: application/octet-stream,
Content-Disposition: attachment; filename=xxx.exe。
这里的 xxx.exe 即为攻击者恶意程序的名称,这两个 HTTP 头部的设置将会强制浏览器将服务器端返回的数据,也就得到了攻击者要传输到服务器端的恶意程序。攻击者在传输完恶意程序之后,继续发送如下的 HTTP 报文头:
Authorization: anyuser\r\nCmd: getversion
其中,Authorization 和 Cmd 都是 HFS 自有的头信息,它们并不和 HTTP 头混淆,因此在接下来的数据传输中,HFS 服务器将会忽略它们,然而攻击者可以利用这些头信息传输任意恶意命令,这个命令将会被 HFS 解码并执行。
漏洞利用方法:
攻击者可以利用 Metasploit 的 exploit/windows/http/rejetto_hfs_exec 模块来利用此漏洞。该模块会自动扫描网络,搜索所有运行 HFS 的主机,并通过恶意的 HTTP 报文头来向该主机发送恶意的命令,从而得到此漏洞的利用。
1、首先运行 msfconsole,加载 exploit/windows/http/rejetto_hfs_exec 模块。
2、设置 paylod,payload中包含了将要在主机上运行的后门程序。
3、设置 RHOSTS,输入将要攻击的目标主机IP地址范围,例如:set RHOSTS 192.168.0.1-255。
4、设置时间延迟以及目标主机尝试连接到攻击者反向连接的地址和端口号。
5、执行攻击模块并等待反弹一个 Meterpreter shell,以控制目标主机的系统。
案例说明:
2018年10月,国内某机构的HFS服务器被黑客攻陷,导致该机构的数据库等敏感信息被盗取。经过调查,该机构发现黑客是通过利用了 HFS 的远程命令执行漏洞,将恶意代码传输到该机构的服务器上,最终通过该漏洞进入服务器控制整个系统的。
该漏洞因其简单易用和风险高等特点,已经成为黑客们攻击有 HFS 服务器的目标的首选漏洞之一。因此,所有使用 HFS 的用户都应该尽快升级 HFS 并安装最新的补丁程序来修复此漏洞,防止遭受到类似的攻击。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.ynyuzhu.com/
公司立足新的起点,迈上新的征程,开创新的辉煌。