记一次公司mssql server密码频繁被改的事件

时间:2024-01-27 10:48:49

环境描述

近期公司服务器mssql密码频繁被改,导致各种业务系统无法连接,报错。昨天来公司,发现4台数据库3台密码都变了。今天尝试着去查查是否能找到问题根源。

步骤

  1. 4台服务器3台连不上,只有64还活着

    pic

  2. 开启SqlServer Profiler工具监控sql执行日志,着重关注Audit Login Change Password事件。可以看到Microl(不是Micro) office程序 执行了修改密码的指令。

    pic

  3. 接着往上找,发现其第一步是执行了@a这个存储过程,总共4个。

    pic

    pic

  4. 通过工具解析其内容。

    pic

  5. 通过sql执行exe,然后再用将自己进程kill的方式退出,基本可以判定这个应用不正常。

    pic

  6. 走到这步可以得出结论,服务器中毒了。本来想搜一下psa.exe,但是一般病毒名字都会用随机字符处理,感觉搜了也没用,就没有搜。

  7. 既然中毒了就装一个杀毒软件杀杀毒试试。

  8. 首先是查到2个病毒,杀了。(忘记截图了)以为就好了。

  9. 然后在12点42看到一个关于SQLAGENT阻止进程创建的日志,意识到事情还没结束。

    pic

  10. SQLAGENT是什么?看这里。简单来说就是一个任务调度器。运行存储在sql server中的任务的工具。这些任务包括数据备份等。

  11. 然后就有个疑问,他要运行什么任务?查一下。

    select * from msdb.dbo.sysjobs;
    
    

    pic

  12. 这些job的创建时间是早上10点21分45秒。第一步里面,密码的变更时间也是10点21分45秒,绝对有关系。再看一下之前profiler中抓到的sql日志。

    pic

  13. 这些任务都出来了。

  14. 没招了,上网搜索pdoor.exe碰碰运气。运气不错,一下就出来了。链接

    pic

  15. 更专业详细的内容可以看文章介绍。病毒的查杀方案在上面文章中也有。

  16. 感慨一下,如果他不来改我们数据库的密码,貌似我们也发现不了。换个角度,为什么他要来改?因为他不晓得我们的密码。为什么不晓得我们密码也能在我们的sql中执行脚本?因为我们的数据库是弱密码。为什么不给改回去,这样我们就发现不了了?【这是一个问题。】

结论

不要弱密码,不要弱密码,不要弱密码

专杀链接

下载,全盘扫描。

  • 64位系统下载链接:

http://edr.sangfor.com.cn/tool/SfabAntiBot_X64.7z

  • 32位系统下载链接:

http://edr.sangfor.com.cn/tool/SfabAntiBot_X86.7z