【漏洞与预防】MSSQL数据库弱口令漏洞预防

admin 2025年1月21日23:17:41评论18 views字数 3317阅读11分3秒阅读模式

1. 引言

近期,Unit 42 研究人员观察到 Mallox 勒索软件活动有所增加——与前一年相比增长了近 174%——利用 MSSQL 服务器分发勒索软件。Unit 42 事件响应人员观察到 Mallox 勒索软件使用暴力破解、数据泄露和网络扫描器等工具。此外,我们还发现该组织正在扩大其运营并在黑客论坛上招募合作伙伴。

1.1 典型案例

1.1.1 初始访问

以下案例为The DFIR Report官网所记录的真实案例,详情可看相关文章

初始访问是通过暴力破解攻击实现的,威胁行为者主要针对系统管理员(“sa”)账户。在入侵过程中,我们观察到在成功登录之前有超过 10,000 次失败的尝试。

SQL Server 事件 ID 18456 失败审计事件在 Windows 应用程序日志中:

【漏洞与预防】MSSQL数据库弱口令漏洞预防

Successful Login:  成功登录

【漏洞与预防】MSSQL数据库弱口令漏洞预防

1.1.2 执行

在下一个攻击阶段,攻击者通过扩展 SQL 存储过程(xp_cmdshell)建立了一个命令壳。此过程允许您直接向 Windows 命令壳发送操作系统命令。为此,他们启用了 MSSQL 配置功能:

【漏洞与预防】MSSQL数据库弱口令漏洞预防

威胁行为者随后执行了一个 Cobalt Strike 信标和一个之前被 Sophos 识别为用于部署 Tor2Mine 恶意软件的 PowerShell 脚本。

第一个 PowerShell 脚本执行了一个命令以下载 Cobalt Strike 信标:

【漏洞与预防】MSSQL数据库弱口令漏洞预防

这是随后进行的第二个 PowerShell 执行的:

【漏洞与预防】MSSQL数据库弱口令漏洞预防

往期文章中我们也介绍了相关案例,通过对服务器搭建的管理系统平台存在SQL注入进行利用,成功提权入侵并感染该机器,详情可见【成功案例】间隔数月双团伙先后利用某ERP0day实施入侵和勒索的解密恢复项目

2. 场景还原

2.1 场景设置

本次模拟攻击场景中,攻击者首先利用ncrack工具对MSSQL进行密码爆破,通过大字典暴力破解获取有效的账号和密码。成功登录后,攻击者使用Impacket中的mssqlclient工具建立数据库连接,并通过启用CLR(Common Language Runtime)功能,创建自定义程序集以执行恶意命令。随后,通过命令执行加载CS木马,实现对服务器的完全控制,并最终实施勒索病毒加密,完成整个攻击链的模拟。

2.2 攻击路线图

【漏洞与预防】MSSQL数据库弱口令漏洞预防

2.3 攻击复现

  • ncrack工具进行MSSQL数据库密码爆破;
【漏洞与预防】MSSQL数据库弱口令漏洞预防
  • 利用mssqlclient工具连接数据库;
【漏洞与预防】MSSQL数据库弱口令漏洞预防
  • 攻击者通过开启clr并创建程序集执行命令;

开启MSSQL数据库的CLR:MSSQL数据库默认是禁用CLR功能的,因为CLR允许在数据库中运行.NET代码(如C#编写的程序集)。攻击者通过修改数据库配置,将CLR功能启用,这样就能在数据库中运行自定义的.NET程序集。

创建程序集执行命令:程序集是指由.NET语言编写的代码文件(如C#程序),在启用CLR后,攻击者可以创建并加载自己编写的恶意程序集(即恶意代码),并在数据库中执行。这些恶意代码可以是任意命令,比如在目标服务器上执行系统命令、下载并执行恶意软件等。

【漏洞与预防】MSSQL数据库弱口令漏洞预防
  • 紧接着攻击者通过数据库执行命令,利用了无文件落地的加载方法加载了cobalt strike的木马,进一步获取了服务器的控制权限;
【漏洞与预防】MSSQL数据库弱口令漏洞预防

3. 工具介绍

工具名称 md5 sha1
Ncrack 56a9321073134d24b02f26ab42e3a538 6046f881ad77ee00a75a6c74d61f665fdf523174
mssqlclient f5fac8a584397e972621910ffb8b8832 cd3398899eb7cb0033a58e9b34ce736b8bc9bade

3.1 ncrack

Ncrack 是由 Nmap 项目团队开发的一款高性能网络认证破解工具,支持 Microsoft SQL Server (MSSQL),用于测试数据库的登录安全性。它通过尝试多种用户名和密码组合,帮助发现弱密码或配置漏洞,并且可以同时扫描多个 MSSQL 服务器。

3.2 impacket-mssqlclient

Impacket-mssqlclient 是一个功能强大的工具,用于连接和管理 Microsoft SQL Server (MSSQL)。它支持多种认证方式,包括 Windows 集成认证(Kerberos 和 NTLM)、SQL Server 认证以及基于哈希的认证,允许用户无需明文密码即可登录。该工具能够执行 SQL 查询、运行操作系统命令、管理数据库对象,并支持同时处理多个会话。

3.3 cobalt strike

Cobalt Strike 是一个强大的渗透测试和红队工具,用于模拟高级网络攻击。它提供直观的界面,方便用户管理命令与控制(C2)操作、部署可定制的载荷,并执行后渗透活动如权限提升和横向移动。Cobalt Strike 支持团队协作,允许多名成员同时操作和监控攻击进程。

4. 漏洞详情

4.1 漏洞名称

mssql弱口令

4.2 漏洞类型

弱口令

4.3 漏洞描述

MSSQL弱口令是指数据库账户使用简单、易猜测或容易通过暴力破解手段获得的密码。例如,使用“123456”、“admin”或“password”等常见密码,或使用数据库默认的密码,如“sa”账户的初始密码。这类弱口令容易被攻击者利用自动化工具进行快速破解,进而获取数据库的控制权限,造成数据泄露、篡改或系统损害的风险。

5. 应急响应排查

如果怀疑机器通过MSSQL爆破入侵,可以通过查询Windows系统日志来快速排查。具体方法是利用Windows自带的事件查看器,重点筛选与登录活动相关的事件ID,特别是事件ID 18456(登录失败)和18453(登录成功)。通过分析这些事件记录,可以识别异常的登录行为,特别是在短时间内出现大量连续的登录失败事件,且随之出现登录成功的记录时,这往往是暴力破解攻击的迹象。此外,还可以结合事件中的登录时间、来源IP地址、账户名称等信息,进一步分析是否存在来自未知或异常IP的非法登录活动。结合这些信息,可以有效地确认是否存在MSSQL暴力破解入侵的风险,并及时采取应对措施。

  • 登录失败日志,事件ID: 18456;
【漏洞与预防】MSSQL数据库弱口令漏洞预防
  • 登陆成功日志, 事件ID: 18453;
【漏洞与预防】MSSQL数据库弱口令漏洞预防
  • 更改程序集日志,事件ID:15457;
【漏洞与预防】MSSQL数据库弱口令漏洞预防
  • 各种详细日志可从mssql日志中的log.trc中看到,例如程序集更改事件,对应serverity为10,事件id为15457;
【漏洞与预防】MSSQL数据库弱口令漏洞预防

6. 防范措施

6.1 安全审计

  • 打开ssms--右键服务器--选择Facets;
【漏洞与预防】MSSQL数据库弱口令漏洞预防
  • 选择服务器审核,按图示将其修改为true、true、All,修改之后需要重启sqlserver以生效。
【漏洞与预防】MSSQL数据库弱口令漏洞预防

6.2 修改数据库的访问端口

  • 可以在SQL SERVER 配置管理器修改访问端口为不常见端口来防止一般性扫描。
【漏洞与预防】MSSQL数据库弱口令漏洞预防

6.3 对SA账户的处理

如使用混合身份验证模式,建议禁用掉SA账户,否则设置非常强的SA密码:

  • 右键sa--属性--状态--设置为图中所示,禁用sa用户;
【漏洞与预防】MSSQL数据库弱口令漏洞预防
  • 右键sa--属性--状态,在此处可修改密码,以及设置强制实施密码策略和密码过期;
【漏洞与预防】MSSQL数据库弱口令漏洞预防

6.4 修改角色

一个登陆用户关联一个数据库,设置强密码,并给予服务器以及对应数据库的特定角色:

  • 设置服务器角色;
【漏洞与预防】MSSQL数据库弱口令漏洞预防
  • 给予对应数据库角色;
【漏洞与预防】MSSQL数据库弱口令漏洞预防

6.5 禁用危险存储过程

禁用SQL Server中危险存储过程的步骤可以通过T-SQL命令或SQL Server Management Studio (SSMS) 来完成。常见的危险存储过程如 xp_cmdshellxp_regreadxp_regwrite 等,如果被攻击者滥用,可能会导致数据库被完全控制或执行恶意命令。因此,禁用这些存储过程是提高数据库安全性的重要措施。以下是禁用危险存储过程的具体步骤

例如,禁用xp_cmdshell

-- 启用高级选项
sp_configure 'show advanced options', 1;
RECONFIGURE;

-- 禁用 xp_cmdshell
sp_configure 'xp_cmdshell', 0;
RECONFIGURE;
【漏洞与预防】MSSQL数据库弱口令漏洞预防

7. 相关文章

https://thedfirreport.com/2023/12/04/sql-brute-force-leads-to-bluesky-ransomware/

 

原文始发于微信公众号(solar应急响应团队):【漏洞与预防】MSSQL数据库弱口令漏洞预防

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年1月21日23:17:41
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【漏洞与预防】MSSQL数据库弱口令漏洞预防https://cn-sec.com/archives/3654726.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息