zoukankan      html  css  js  c++  java
  • 记一次公司mssql server密码频繁被改的事件

    环境描述

    近期公司服务器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

  • 相关阅读:
    [翻译]使用设计模式简化.NET中菜单和Form元素之间的关系
    [AWDwR4]13章出错 protect_against_forgery
    使用存储过程(22)
    建立数据库连接(19)
    对数据库添加数据(21)
    ADO.NET常用对象(18)
    数据展现Repeater控件(25)
    content控件(24)
    对数据库增加数据(21)
    行为存储过程(23)
  • 原文地址:https://www.cnblogs.com/sheldon-lou/p/13730152.html
Copyright © 2011-2022 走看看