欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-05-15 20:15:33
...

实验思路: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端口对外开放

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

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

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

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

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

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

四、利用xp_cmdshell执行系统命令

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

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

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

2.执行系统命令

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

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

相关标签: 后渗透