创建了新的 MSSQL 实例,无法执行命令

创建了新的 MSSQL 实例,无法执行命令

我按照以下步骤创建了一个新的 MSSQL 实例视频。我的目的是教我的学生如何从 Linux 机器攻击 MSSQL 实例,但是当我连接时我无法在服务器上执行任何命令。

我尝试使用impacket-mssqlclientsqsh连接到服务器,并且连接成功,但是我的查询没有输出。

例如下面是我通过连接本地 MSSQL 服务器impacket-mssqlclient并执行 SELECT 语句进行枚举。

# impacket-mssqlclient "sa":"Password1"@192.168.68.139
Impacket v0.12.0.dev1+20231114.165227.4b56c18 - Copyright 2023 Fortra

[*] Encryption required, switching to TLS
[*] ENVCHANGE(DATABASE): Old Value: master, New Value: master
[*] ENVCHANGE(LANGUAGE): Old Value: , New Value: us_english
[*] ENVCHANGE(PACKETSIZE): Old Value: 4096, New Value: 16192
[*] INFO(SQL02): Line 1: Changed database context to 'master'.
[*] INFO(SQL02): Line 1: Changed language setting to us_english.
[*] ACK: Result: 1 - Microsoft SQL Server (160 3232)
[!] Press help for extra shell commands
SQL (sa  dbo@master)> SELECT SYSTEM_USER;
SQL (sa  dbo@master)> SELECT @@VERSION;
SQL (sa  dbo@master)>

另外,同样与sqsh

# sqsh -S 192.168.68.139 -U "sa" -P "Password1"
sqsh-2.5.16.1 Copyright (C) 1995-2001 Scott C. Gray
Portions Copyright (C) 2004-2014 Michael Peppler and Martin Wesdorp
This is free software with ABSOLUTELY NO WARRANTY
For more information type '\warranty'
1> SELECT SYSTEM_USER;
2> GO;
3> SELECT @@VERSION;
4> GO;

同样奇怪的是,从netexec(new crackmapexec) 执行的语句可以工作!

# netexec mssql 192.168.68.139 -u 'sa' -p 'Password1' -q 'SELECT @@VERSION' --local-auth
MSSQL       192.168.68.139  1433   SQL02            [*] Windows 10 / Server 2019 Build 17763 (name:SQL02) (domain:VILNSEC.LOCAL)
MSSQL       192.168.68.139  1433   SQL02            [+] SQL02\sa:Password1 (Pwn3d!)
MSSQL       192.168.68.139  1433   SQL02            Microsoft SQL Server 2022 (RTM) - 16.0.1000.6 (X64)
    Oct  8 2022 05:58:25
    Copyright (C) 2022 Microsoft Corporation
    Developer Edition (64-bit) on Windows Server 2019 Standard 10.0 <X64> (Build 17763: ) (Hypervisor)

此外,如果我使用 HeidiSQL 之类的东西从 Windows 机器进行连接,我的语句就可以工作并执行。

这里有什么问题?我需要设置一些神奇的设置才能允许执行基本查询吗?我希望能够执行任何 SQL 语句,即使它是低权限用户(任何域帐户)...

相关内容