全世界的大小公司都使用Microsoft SQL服务器进行数据库管理。虽然很流行,但是保护力度不够,该DBMS成为黑客的目标。基于Microsoft SQL服务器恶意job的远程攻击已经出现一段时间了,仍然被广泛用于访问工作站。
下图是2019年1月到7月针对Microsoft SQL Server的远程攻击地理分布图,其中攻击主要位于越南(约占16%)、俄罗斯(约占12%)、印度(约占7%)、中国(约占6%)、土耳其(约占5%)和巴西(约占5%)。
攻击描述
Microsoft SQL服务器攻击规模很大,而且没有什么特定的目标:攻击者会扫描子网来搜索使用弱口令的服务器。攻击首先是远程检查系统中是否安装了MS SQL服务器;然后继续暴力破解账号密码来访问系统。除了暴力破解密码外,攻击者还会通过用户帐户token实现授权。
SQL服务器授权
渗透测试完成后,攻击者就会修改服务器配置来访问命令行。完成后,就可以使用为SQL服务器创建的job来使恶意软件来目标系统中是安全的。
Job示例
Job是SQL服务器代理执行的命令行序列。可能会入侵大量的动作,包括启动SQL事务、命令行应用、Microsoft ActiveX脚本、Integration服务包、分析服务命令和查询,以及PowerShell脚本。
Job中包含多个步骤,代码中含有特定间隔中要执行的代码,允许攻击者将恶意文件传播到目标计算机中之后在删除。
下面是一些恶意查询的例子:
用javascript从远处源下载恶意软件:
通过下面的执行过程将恶意软件写入系统中:
研究人员分析了通过恶意job传播到被黑机器的payload,发现其中大多数是加密货币挖矿机和远程访问木马。还有密码获取和权限提升工具。需要注意到是,payload的选择是根据攻击者的目标和功能决定的。
为了防止此类攻击,研究人员建议用户对SQL服务器账号使用鲁棒的、防暴力破解的强口令。还要检查代理SQL服务器的第三方job。