昨天中午打开电脑,对着菜刀在那翻啊翻,找到一个64bit的os。

因为这个ip不在曾经提权过的主机列表里面,心想这应该是个低权限的网站,顺手打个whoami试试,结果给我返回了"nt authoritysystem"。看来这是一条"漏网之鱼"啊,于是就有了下面一段颇为蛋疼的经历。

查看系统信息,这是一台装了win server 2008 r2企业版的服务器,跑在VMware虚拟机上。

然后翻了下目录,web环境是Tomcat 5.5.7,搭的是SQL Server 2008的数据库。看起来这是一台正常的服务器啊,而且3389也是开着的,那当初为神马没有秒掉呢?

由于是system权限,可以直接REG SAVE服务器本地的hash。分析过后,发现两个管理员账号的密码LM HASH值为空,看来管理员安全意识挺高的。(我记得LM为空意味着密码是8位以上,不知道有木有记错- -)

接着尝试用工具抓取登录过服务器的用户密码,把wce传上去,执行的时候提示超时了。刷新了一下目录,发现wce消失了。到这里大概已经明白了,一定是装了360!

还挺全面的嘛,安全卫士+杀毒。。。
对于我这种菜鸟来说,基本上装了360,工具这条路就走不下去了,因为360的强大不是我这种菜鸟能够解决的。没办法只能使出绝招了,尝试把Guest提为管理员:
net user Guest 12345
net user Guest /active:yes

这两步都顺利执行了,不过在把Guest加入到administrators组的时候碰到问题了:
net localgroup administrators Guest /add

竟然超时了,列下administrators组的成员,也没发现有Guest的身影,看来命令没执行成功。
我想有可能是shell执行命令不稳定,于是连续执行了几次,结果还是一样的:

而且连续执行了几次,所有命令都不返回了= =
这时候我打算用nc做一个反弹shell试试,不过一传上去就马上被360干掉了。。然后又考虑用metasploit做一个jsp的反弹shell,不过我的BT5装在了虚拟机里面,网站肯定弹不进去。(不过现在想了一下,其实可以用lcx做下端口转发,不过得跳2次,略麻烦= =)
到这里常用的思路基本都断了,果然是搞不下啊~无聊着就去翻系统磁盘,希望找到点什么有用的软件。翻着翻着,突然想起这服务器上还有一个mssql 2008呢,如果能搞到sa的权限或许还有点希望。马上转向web目录看配置文件,在一个小站里面找到了sa的密码(目测是测试中的一个站),尝试连接却提示密码错误。看了下配置文件的修改日期是2011年,好吧,看来管理员已经改过了。很快web目录所有的config都看完了,还是没找到可用的sa密码。有点不甘心啊,继续翻之。。过了5分钟,不经意间找到一个主站目录的备份zip,时间是12年8月的。有100多M ,好吧不管了,先down下来看看。功夫不负有心人啊,在这个备份里面找到了一个sa密码,跟之前密码的区别是多了一个逗号!

马上祭出Navicat尝试连接一下,居然成功了!

顺利连接上去,但是没看到有master这个库。(既然是sa登录,为啥木有master库呢,难道一定要用企业管理器登录才看到么- -求解释!)不管那么多了,直奔重点去。这里要用到的就是xp_cmdshell这个存储过程,算是mssql有sa权限下的提权利器,不过有经验的管理员一般都会用各种牛逼的方法去禁止普通用户使用它。尝试用正常的方法打开xp_cmdshell:

EXEC sp_configure 'show advanced options', 1; RECONFIGURE; EXEC sp_configure 'xp_cmdshell', 1; RECONFIGURE; exec sp_configure

错误代码"5″,马上google之。由于xp_cmdshell是严格用%systemroot%system32cmd.exe去执行所提交的命令的,提示"5″,意思是cmd的权限不足,就是说system32下的cmd.exe被降权了。当然也有绕过的方法,比如启用沙盒模式执行shell命令:

exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWAREMicrosoftJet4.0Engines','SandBoxMode','REG_DWORD',1; select * from openrowset('microsoft.jet.oledb.4.0',';database=iasdnary.mdb','select shell("whoami")');

"microsoft.jet.oledb.4.0″这个接口没有跑起来,网上的资料表示mssql 2008用的是12.0了,又试了一下,提示12.0接口尚未注册。那看来要用到OLE DB的绕过方法都行不通了,那意味着所有思路又都断了= =
无奈之下,只好把现在的情况在一个交流群里面发了,希望大牛们指导我一下。有大牛指出可以用sqlmap尝试一下,如果网站是sa权限的话,可以直接用–os-shell生成一个shell。马上按照他所说的去做,还真返回了一个os的shell。看了下sqlmap给出的信息,用的也应该是xp_cmdshell,看来希望不大。先来个简单的whoami看看,结果等了一分钟返回一个"No output"= =

把情况给群里面的人一说,有人提示我说"没有返回没有关系,直接执行命令"。好吧这都行。。那直接执行命令试试。。不过试了好几次都还是no output,管理员组里面还是没有Guest的出现。这时候看到一个被我忽略的提示"do you want to retrieve the command standard output?",之前我都是直接回车的,默认选择的Yes。既然不用管是否返回,那试下选个no会怎么样,结果还真返回了不一样的info。再去查下administrators的成员,发现Guest出现了!!

额,sqlmap真乃神器也,当时就想跪拜了。。由于3389是打开着的,connect it:

到这里整个提权过程终于告一段落了,前后折腾了我快4个小时。。。看了下管理员的密码,一个18位的"数字+字母+符号"的超NB密码,顺便膜拜一下~
这次提权过程,最大的感悟就是贵在坚持,如果当初木有坚持这一说,可能连sa密码都没找到呢。然后是思路一定要广,这次要不是有高人指点,根本就成功不了。最后是"软件报错"有时候也意味着成功~

BT提权wind2008R2的更多相关文章

  1. 使用powershell提权的一些技巧

    原文:http://fuzzysecurity.com/tutorials/16.html 翻译:http://www.myexception.cn/windows/1752546.html http ...

  2. Linux文件权限;ACL;Setuid、Setgid、Stick bit特殊权限;sudo提权

    相关学习资料 http://blog.sina.com.cn/s/blog_4e2e6d6a0100g47o.html http://blog.csdn.net/aegoose/article/det ...

  3. WINDOWS渗透与提权总结(1)

    旁站路径问题: 1.读网站配置. 2.用以下VBS: 01 On Error Resume Next 02   03 If (LCase(Right(WScript.Fullname, 11)) = ...

  4. 【原创】深入分析Ubuntu本地提权漏洞CVE-2017-16995

    *本文首发阿里云先知安全技术社区,原文链接https://xz.aliyun.com/t/2212 前言: 2018年3月中旬,Twitter 用户 @Vitaly Nikolenko 发布消息,称 ...

  5. iOS冰与火之歌(番外篇) - 基于PEGASUS(Trident三叉戟)的OS X 10.11.6本地提权

    iOS冰与火之歌(番外篇) 基于PEGASUS(Trident三叉戟)的OS X 10.11.6本地提权 蒸米@阿里移动安全 0x00 序 这段时间最火的漏洞当属阿联酋的人权活动人士被apt攻击所使用 ...

  6. CVE-2016-1240 Tomcat 服务本地提权漏洞

    catalogue . 漏洞背景 . 影响范围 . 漏洞原理 . 漏洞PoC . 修复方案 1. 漏洞背景 Tomcat是个运行在Apache上的应用服务器,支持运行Servlet/JSP应用程序的容 ...

  7. linux一句话轻松提权

    linux命令:‍ [b@fuckks~]$ printf "install uprobes /bin/sh" > exploit.conf; MODPROBE_OPTI** ...

  8. Android提权漏洞CVE-2014-7920&CVE-2014-7921分析

    没羽@阿里移动安全,更多安全类技术干货,请访问阿里聚安全博客 这是Android mediaserver的提权漏洞,利用CVE-2014-7920和CVE-2014-7921实现提权,从0权限提到me ...

  9. 用MSF进行提权

    在WEB渗透中当我们拿到webshell了,我们可以试试用MSF(metasploit)来进行提权,在MSF里meterpreter很强大的! 我们先用msfvenom生成一个EXE的木马后门. ms ...

随机推荐

  1. Android6.0内核移植(2):kernel编译内核

    普通步骤是:用来编译整个Android源码 source build/envsetup.sh lunch sabresd_6dq-user make -j20 不过每次这样太繁琐,下面来单独编译ker ...

  2. python之virtualenv的简单使用

    什么是virtualenv? virtualenv可以创建独立Python开发环境,比如当前的全局开发环境是python3.6,现在我们有一个项目需要使用django1.3,另一个项目需要使用djan ...

  3. thinkphp htmlspecialchars_decode

    一  百度编辑器 与 htmlspecialchars_decode *Thinkphp百度编辑器 存的时候为了安全把进行了字符转换,数据库: <p>&nbsp;测试测试</ ...

  4. Skype坑爹报错:“旧版本无法删除,请联络您的技术支持小组 ”的解决办法

    真是恶心的让人想吐的报错.现在终于解决了,跟大家分享一下方法. 先给问题截个图,如下 首先当我去搜解决办法之前,我已经在[控制面板]的[卸载程序]里把Skype删除了,真是让我后悔不已的操作啊!!因为 ...

  5. Quartz大致介绍(一)

    1. 介绍 Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,是完全由java开发的一个开源的任务日程管理系统,“任务进度管理器”就是一个在预先确定(被纳 ...

  6. mysql分表,批量生成数据

    一.mysql的分表策略 根据经验,Mysql表数据一般达到百万级别,查询效率会很低,容易造成表锁,甚至堆积很多连接,直接挂掉: 1,水平分割: 水平(横向)拆分:将同一个表的数据进行分块保存到不同的 ...

  7. Linux-debian系统 /etc/network/interface 文件解读

    原文 http://wiki.slimdevices.com/index.php/SqueezeOS_networking 话说Debian系的网卡配置跟Redhat系很不一样,Redhat是放在/e ...

  8. Hibernate入门(三)—— 一对多、多对多关系

    一.一对多关系 1.概念 ​ 一对多关系是关系型数据库中两个表之间的一种关系.通常在数据库层级中,两表之间是有主外键关系的.在ORM中,如何通过对象描述表之间的关系,是ORM核心. 2.Hiberna ...

  9. Visual studio 2013打开报异常"Exception has been thrown by the target of an invocation"

    最近遇到一个问题,打开VS2013和SQL Server2014都会出报错,错误信息如下: 以前都是好好的,重启了机子也不行,能打开两个VS,再打开第三个VS还是会报错,百度无果,还是在google上 ...

  10. select实现三级联动

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...