内容简介:最近,部署在云服务器上的一台数据库防火墙有很多奇怪的日志,其中登录日志显示有很多 IP 登录失败,访问日志中有特定 IP 在执行一些不常见的 SQL 语句,下面我们简单看一下。SQL SERVER 登录日志
-
事件概况
最近,部署在云服务器上的一台数据库防火墙有很多奇怪的日志,其中登录日志显示有很多 IP 登录失败,访问日志中有特定 IP 在执行一些不常见的 SQL 语句,下面我们简单看一下。
SQL SERVER 登录日志
SQL 执行记录
-
简单分析
01
从登录日志上看,可以判断有很多服务器在尝试爆破搭建在云服务器上的 SQL SERVER 账号,没啥好说的。要是愿意的话,可以把 SQL SERVER 的默认端口1433改成自定义端口,被攻击的情况会有改善。
02
从 SQL 执行记录上看,首先判断执行的这个 IP 不属于公司内部人员,发现 IP 地址在波兰,这些 SQL 也不是内部人员执行的,这里就知道这台服务器被人黑了。
03
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 特性,生成特定的数据库防火墙防御规则,便可将以上两种攻击手段防御住
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Think Python
Allen B. Downey / O'Reilly Media / 2012-8-23 / GBP 29.99
Think Python is an introduction to Python programming for students with no programming experience. It starts with the most basic concepts of programming, and is carefully designed to define all terms ......一起来看看 《Think Python》 这本书的介绍吧!