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

时间: 2025-01-21 13:00:01 浏览量:441

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 应用程序日志中:

  Successful Login: 成功登录

1.1.2 执行

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

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

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

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

  往期文章中我们也介绍了相关案例,通过对服务器搭建的管理系统平台存在SQL注入进行利用,成功提权入侵并感染该机器,详情可见003.【成功案例】某房地产公司的mallox最新变种勒索病毒rmallox解密恢复项目

2. 场景还原

2.1 场景设置

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

2.2 攻击路线图

2.3 攻击复现

  • ncrack工具进行MSSQL数据库密码爆破;

  • 利用mssqlclient工具连接数据库;

  • 攻击者通过开启clr并创建程序集执行命令;

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

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

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

3. 工具介绍

工具名称md5sha1
Ncrack56a9321073134d24b02f26ab42e3a5386046f881ad77ee00a75a6c74d61f665fdf523174
mssqlclientf5fac8a584397e972621910ffb8b8832cd3398899eb7cb0033a58e9b34ce736b8bc9bade

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;

  • 登陆成功日志, 事件ID: 18453;

  • 更改程序集日志,事件ID:15457;

  • 各种详细日志可从mssql日志中的log.trc中看到,例如程序集更改事件,对应serverity为10,事件id为15457;

6. 防范措施

6.1 安全审计

  • 打开ssms--右键服务器--选择Facets;

  • 选择服务器审核,按图示将其修改为true、true、All,修改之后需要重启sqlserver以生效。

6.2 修改数据库的访问端口

  • 可以在SQL SERVER 配置管理器修改访问端口为不常见端口来防止一般性扫描。

6.3 对SA账户的处理

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

  • 右键sa--属性--状态--设置为图中所示,禁用sa用户;

  • 右键sa--属性--状态,在此处可修改密码,以及设置强制实施密码策略和密码过期;

6.4 修改角色

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

  • 设置服务器角色;

  • 给予对应数据库角色;

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;

7. 相关文章

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

4.安全建议

1. 风险消减措施

  资产梳理排查目标: 根据实际情况,对内外网资产进行分时期排查

  服务方式: 调研访谈、现场勘查、工具扫描

  服务关键内容: 流量威胁监测系统排查、互联网暴露面扫描服务、技术加固服务、集权系统排查

2. 安全设备调优

目标

  通过对安全现状的梳理和分析,识别安全策略上的不足,结合目标防御、权限最小化、缩小攻击面等一系列参考原则,对设备的相关配置策略进行改进调优,一方面,减低无效或低效规则的出现频次;另一方面,对缺失或遗漏的规则进行补充,实现将安全设备防护能力最优化。

主要目标设备

  网络安全防护设备、系统防护软件、日志审计与分析设备、安全监测与入侵识别设备。

3. 全员安全意识增强调优

目标:

  通过网络安全意识宣贯、培训提升全方位安全能力

形式:

  培训及宣贯

线下培训课表

  若无法组织线下的集体培训,考虑两种方式:

    1.提供相关的安全意识培训材料,由上而下分发学习

    2.组织相关人员线上开会学习。线上培训模式。

线上学习平台

  以下是solar安全团队近期处理过的常见勒索病毒后缀:后缀.360勒索病毒,.halo勒索病毒,.phobos勒索病毒,.Lockfiles勒索病毒,.stesoj勒索病毒,.src勒索病毒,.svh勒索病毒,.Elbie勒索病毒,.Wormhole勒索病毒.live勒索病毒, .rmallox勒索病毒, .mallox 勒索病毒,.hmallox勒索病毒,.jopanaxye勒索病毒, .2700勒索病毒, .elbie勒索病毒, .mkp勒索病毒, .dura勒索病毒, .halo勒索病毒, .DevicData勒索病毒, .faust勒索病毒, ..locky勒索病毒, .cryptolocker勒索病毒, .cerber勒索病毒, .zepto勒索病毒, .wannacry勒索病毒, .cryptowall勒索病毒, .teslacrypt勒索病毒, .gandcrab勒索病毒, .dharma勒索病毒, .phobos勒索病毒, .lockergoga勒索病毒, .coot勒索病毒, .lockbit勒索病毒, .nemty勒索病毒, .contipa勒索病毒, .djvu勒索病毒, .marlboro勒索病毒, .stop勒索病毒, .etols勒索病毒, .makop勒索病毒, .mado勒索病毒, .skymap勒索病毒, .aleta勒索病毒, .btix勒索病毒, .varasto勒索病毒, .qewe勒索病毒, .mylob勒索病毒, .coharos勒索病毒, .kodc勒索病毒, .tro勒索病毒, .mbed勒索病毒, .wannaren勒索病毒, .babyk勒索病毒, .lockfiles勒索病毒, .locked勒索病毒, .DevicData-P-XXXXXXXX勒索病毒, .lockbit3.0勒索病毒, .blackbit勒索病毒等。

  勒索攻击作为成熟的攻击手段,很多勒索家族已经形成了一套完整的商业体系,并且分支了很多团伙组织,导致勒索病毒迭代了多个版本。而每个家族擅用的攻击手法皆有不同,TellYouThePass勒索软件家族常常利用系统漏洞进行攻击;Phobos勒索软件家族通过RDP暴力破解进行勒索;Mallox勒索软件家族利用数据库及暴力破解进行加密,攻击手法极多防不胜防。

  而最好的预防方法就是针对自身业务进行定期的基线加固、补丁更新及数据备份,在其基础上加强公司安全人员意识。如果您想了解有关勒索病毒的最新发展情况,或者需要获取相关帮助,请关注“solar专业应急响应团队”。

5.团队介绍

  团队坚持自主研发及创新,在攻防演练平台、网络安全竞赛平台、网络安全学习平台方面加大研发投入,目前已获得十几项专利及知识产权。团队也先后通过了ISO9001质量管理体系、ISO14000环境管理体系、ISO45001职业安全健康管理体系 、ITSS(信息技术服务运行维护标准四级)等认证,已构建了网络安全行业合格的资质体系;

6.我们的数据恢复服务流程

  多年的数据恢复处理经验,在不断对客户服务优化的过程中搭建了"免费售前+安心保障+专业恢复+安全防御"一体化的专业服务流程。

① 免费咨询/数据诊断分析

​   专业的售前技术顾问服务,免费在线咨询,可第一时间获取数据中毒后的正确处理措施,防范勒索病毒在内网进一步扩散或二次执行,避免错误操作导致数据无法恢复。

​   售前技术顾问沟通了解客户的机器中毒相关信息,结合团队数据恢复案例库的相同案例进行分析评估,初步诊断分析中毒数据的加密/损坏情况。

② 评估报价/数据恢复方案

​   您获取售前顾问的初步诊断评估信息后,若同意进行进一步深入的数据恢复诊断,我们将立即安排专业病毒分析工程师及数据恢复工程师进行病毒逆向分析及数据恢复检测分析。

​   专业数据恢复工程师根据数据检测分析结果,定制数据恢复方案(恢复价格/恢复率/恢复工期),并为您解答数据恢复方案的相关疑问。

③ 确认下单/签订合同

​   您清楚了解数据恢复方案后,您可自主选择以下下单方式:

  双方签署对公合同:根据中毒数据分析情况,量身定制输出数据恢复合同,合同内明确客户的数据恢复内容、数据恢复率、恢复工期及双方权责条款,双方合同签订,正式进入数据恢复专业施工阶段,数据恢复后进行验证确认,数据验证无误,交易完成。

④ 开始数据恢复专业施工

  安排专业数据恢复工程师团队全程服务,告知客户数据恢复过程注意事项及相关方案措施,并可根据客户需求及数据情况,可选择上门恢复/远程恢复。

  数据恢复过程中,团队随时向您报告数据恢复每一个节点工作进展(数据扫描 → 数据检测 → 数据确认 → 恢复工具定制 → 执行数据恢复 → 数据完整性确认)。

⑤ 数据验收/安全防御方案

  完成数据恢复后,我司将安排数据分析工程师进行二次检查确认数据恢复完整性,充分保障客户的数据恢复权益,二次检测确认后,通知客户进行数据验证。

  客户对数据进行数据验证完成后,我司将指导后续相关注意事项及安全防范措施,并可提供专业的企业安全防范建设方案及安全顾问服务,抵御勒索病毒再次入侵。

                      我们在此郑重承诺:

                     不成功不收费

                     全程一对一服务

                     365天不间断服务

                     免费提供安全方案

                     24h服务热线:

                     18894665383

                     17864099776

                     18299173318