数据库提权-mssql通过xp_cmdshell提权

实验思路:1.MSSQL在Windows server类的操作系统上,默认具有system权限。System权限在Windows server2003中权限仅比                         管理员小;而在2003以上的版本,则为最高权限。
            ⭐ 2.获取webshell之后可尝试在服务器各个站点的目录寻找sa的密码(某些站点直接在web应用程序中使用sa连接数据                             库),一般情况下,.net的站点数据库连接字符串在web.config或者和global.aspx也有可能是编译在DLL文件当中。
                  3.通过端口扫描查看1433(mssql默认端口)是否对外开放。如果对外开放则使用sql连接器进行提权,如果没有对外开                       放,则使用webshell自带的mssql数据库连接功能连接至mssql数据库。
                  4.Sa作为mssql的默认最高权限的账户,在正常情况下,可以通过xp_cmdshell等方式执行系统命令。
                  PS:除了上述2中的寻找Sa用户密码,还可以对1433端口进行爆破

实验前提:所谓利用数据进行提权,利用的其实是数据库的运行权限,所以只要我们满足以下条件即可进行提权
                 1.必须获得sa的账号密码或者与sa相同权限的账号密码,且mssql没有被降权。
                 2.必须可以以某种方式执行sql语句,例如:webshell或者是1433端口的连接。
                 PS:能够通过配置文件找到系统的登录账户密码

实验环境:windows2010

实验步骤:

一、利用nmap工具查看目标机开放的端口,是否开放了1433端口,可看到1433端口对外开放

二、利用华军1433弱口令扫描工具对1433端口进行爆破

 在D:\web渗透软件\华军1433弱口令扫描工具\exeHack中放入一个含有目标机ip的txt,一个密码txt进行爆破,将破解的密码写入1.txt中

三、利用navicat-sql server进行连接

四、利用xp_cmdshell执行系统命令

1.开启xp_cmdshell扩展存储过程,输入以下命令 

use master;
exec sp_configure 'show advanced options',1;
reconfigure;
exec sp_configure 'xp_cmdshell',1;
reconfigure;

2.执行系统命令

use master;
exec master..xp_cmdshell "whoami";

发布了63 篇原创文章 · 获赞 75 · 访问量 3856

猜你喜欢

转载自blog.csdn.net/cxrpty/article/details/104825968