環境描述
近期公司服務器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位系統下載鏈接:
