安全研究 >> 安全研究详情

小记:借助美创数据库防火墙快速实现应急响应

作者: 美创科技安全实验室发布日期: 02月14日

事件概况


最近,部署在云服务器上的一台数据库防火墙有很多奇怪的日志,其中登录日志显示有很多 IP 登录失败,访问日志中有特定 IP 在执行一些不常见的 SQL 语句,下面我们简单看一下。


SQL SERVER 登录日志


SQL  执行记录



简单分析


01

从登录日志上看,可以判断有很多服务器在尝试爆破搭建在云服务器上的 SQL SERVER 账号,没啥好说的。要是愿意的话,可以把 SQL SERVER 的默认端口1433改成自定义端口,被攻击的情况会有改善。


02

从 SQL 执行记录上看,首先判断执行的这个 IP 不属于公司内部人员,发现 IP 地址在波兰,这些 SQL 也不是内部人员执行的,这里就知道这台服务器被人黑了。


03

登上远程服务器,检查端口,资源占用情况等,发现 CPU 占用很高,根据对应进程发现在 “音乐” 的文件夹中存在挖矿文件,遂清之,不细说了。这里注意一点,挖矿文件可能会隐藏自身,所以在查看文件时注意选择“隐藏的项目”,在这次挖矿中,就隐藏了 powered.exe 文件,这是真正的挖矿程序。


04

这里我们重点看下,病毒是怎么从 SQL SERVER 数据库传播到系统上的。在成功爆破数据库账号后,根据防火墙的 SQL 执行日志,发现主要有几条 SQL 在循环执行,我们依次来看下这几条 SQL 的作用。


4.1 添加数据库用户 DBHELP 并赋予管理员权限

4.2 激活 xp_cmdshell 函数并刷新配置,为什么要激活这个函数呢?因为通过这个函数可以直接执行操作系统上的命令。

4.3 通过 SQL SERVER 将 vbs 脚本保存至操作系统目录,如果是系统版本脚本会保存在 C:\USERS\PUBLIC\MUSIC\1.VBS 。防火墙审计到的这段vbs脚本内容是16进制的,解码后,其主要作用就是判断操作系统版本,再从远程服务器上下载对应版本的挖矿程序,执行挖矿程序。

(16进制的内容有点多,就不一一截图了。)


4.4  定期执行操作系统上相关目录的 vbs 脚本,这里的 vbs 脚本就是通过 4.3 生成的。

除了通过 4.3 和 4.4 的方式进行挖矿感染,它还使用了另外一种方式。


4.5  定时通过 regsvr32.exe 将 vbs 的内容反注册到 dll 中,其中 KMA2.SCT 的内容和 4.3 的16进制内容是相同的。

4.6  利用 ASSEMBLY  触发相关 dll ,从而执行 KMA2.SCT 的脚本内容。

从这次挖矿病毒传播手法来看,只要知道数据库账号,通过 SQL SERVER 的特性,便可以传播挖矿病毒。



解决方


1. 根据攻击的流程,清除相关痕迹,不细说


2. 删除黑客生成的账号,修改数据库账号密码


3. 根据 SQL SERVER 攻击的 SQL 特性,生成特定的数据库防火墙防御规则,便可将以上两种攻击手段防御住


服务热线:400-711-8011
Copyright ©2005-2018 杭州美创科技有限公司. All Rights Reserved. 浙ICP备 09009762号-1