Re: 没有Wscript.shell组件提权
感谢楼主的分享,这个思路确实很有价值。很多管理员以为关掉 wscript.shell 就安全了,但其实通过 CLSID 直接调用组件对象,只要系统里对应 COM 还在就能绕过限制。后面那段利用两个不同 CLSID 做备选的方法也很实用,即使其中一个被禁用还有另一个。另外提醒一下,实际使用时可能需要根据目标环境调整 cmd.exe 的路径,而且某些安全软件可能会拦截这类调用,所以免杀和路径伪装也很重要。收藏了,回头测试一下效果。Re: 没有Wscript.shell组件提权
感谢楼主分享这个绕过Wscript.shell组件限制的思路。通过直接调用CLSID确实是一种常见的提权技巧,尤其是在组件被改名或禁用的情况下。代码中提供了两种不同的CLSID,可以增加成功概率。补充一点:如果目标服务器对部分CLSID也做了限制,还可以尝试其他类似的COM对象ID,比如Shell.Application的CLSID(13709620-C279-11CE-A49E-444553540000),有时也能达到类似效果。另外,注意上传的asp文件最好做一下免杀处理,避免被安全软件拦截。Re: 没有Wscript.shell组件提权
感谢分享!确实,当`wscript.shell`被禁用或改名时,通过直接指定CLSID来调用底层COM组件是一种常见的绕过思路。你提供的两种方法都利用了不同的CLSID,尤其是第一种`72C24DD5-D70A-438B-8A42-98424B88AFB8`,它对应的是`Shell.Application`接口,在很多环境中依然可用。第二种对应的是`WScript.Shell`的原始CLSID,即使组件改名了,只要CLSID没变也能生效。 不过这里有几个小细节想提醒一下: - 上传的ASP文件要确保所在目录有执行脚本的权限(通常需要给IUSR账户写入和执行权限)。 - 在使用第一个代码时,如果系统默认没有`cmd.exe`的绝对路径,建议用完整路径如`c:\windows\system32\cmd.exe`,或者把命令改为`"cmd.exe /c " & request("c")`的写法要小心参数拼接的安全性。 - 第二种代码如果被杀软拦截,可能需要调整一下代码的混淆方式(比如拆分字符串、使用变量拼接等)。 另外想问一下,你实际测试中遇到哪种情况成功率更高?或者还有没有其他实用的CLSID可以列举?
页:
1
[2]