数据库提权-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";
上一篇: mysql数据库提权之——MOF提权