环境描述
近期公司服务器mssql密码频繁被改,导致各种业务系统无法连接,报错。昨天来公司,发现4台数据库3台密码都变了。今天尝试着去查查是否能找到问题根源。
步骤
-
4台服务器3台连不上,只有64还活着
-
开启SqlServer Profiler工具监控sql执行日志,着重关注
Audit Login Change Password
事件。可以看到Microl(不是Micro) office程序 执行了修改密码的指令。 -
接着往上找,发现其第一步是执行了@a这个存储过程,总共4个。
-
通过工具解析其内容。
-
通过sql执行exe,然后再用将自己进程kill的方式退出,基本可以判定这个应用不正常。
-
走到这步可以得出结论,服务器中毒了。本来想搜一下
psa.exe
,但是一般病毒名字都会用随机字符处理,感觉搜了也没用,就没有搜。 -
既然中毒了就装一个杀毒软件杀杀毒试试。
-
首先是查到2个病毒,杀了。(忘记截图了)以为就好了。
-
然后在12点42看到一个关于SQLAGENT阻止进程创建的日志,意识到事情还没结束。
-
SQLAGENT是什么?看这里。简单来说就是一个任务调度器。运行存储在sql server中的任务的工具。这些任务包括数据备份等。
-
然后就有个疑问,他要运行什么任务?查一下。
select * from msdb.dbo.sysjobs;
-
这些job的创建时间是早上10点21分45秒。第一步里面,密码的变更时间也是10点21分45秒,绝对有关系。再看一下之前profiler中抓到的sql日志。
-
这些任务都出来了。
-
没招了,上网搜索pdoor.exe碰碰运气。运气不错,一下就出来了。链接
-
更专业详细的内容可以看文章介绍。病毒的查杀方案在上面文章中也有。
-
感慨一下,如果他不来改我们数据库的密码,貌似我们也发现不了。换个角度,为什么他要来改?因为他不晓得我们的密码。为什么不晓得我们密码也能在我们的sql中执行脚本?因为我们的数据库是弱密码。为什么不给改回去,这样我们就发现不了了?【这是一个问题。】
结论
不要弱密码,不要弱密码,不要弱密码
专杀链接
下载,全盘扫描。
- 64位系统下载链接:
http://edr.sangfor.com.cn/tool/SfabAntiBot_X64.7z
- 32位系统下载链接: