今年一個同事離職,交接給了我一個網站,網站域名是lqkfqrc.com。這個網站前幾個月出過一些問題,有幾次流量攻擊導致服務器宕機,有兩次網站被改了標題和關鍵詞。今天接到網站,我習慣性地進行了一次安全檢查,順便把網站也備份一下。所以就有了接下來的木馬清除記。
網站之前是在萬網租用的服務器,因為流量超了上限,導致網站關停三次,被迫換了一個景安的VPS,換了之后倒是沒有因為流量過大關站,但被篡改成賭博標題也嚴重影響了當時的網站排名。因為這個網站是花錢讓別人做的,在服務期后技術人員也不再提供網站的維護,所以上次被掛馬還是我們這邊的編輯進行清除的。
廢話說多了,直接進服務器看。我先在第一時間把數據庫和網站源碼進行了備份,又用織夢自帶的數據庫進行了一下備份,然后都下載到了本地。因為前同事離職前有一周歇年假,但這個網站在三天前竟然還有更新。所以先從這個最近更新的文件入手,查看一下。
經檢測,這些文件都沒有用,都是病毒生成的文件,準確地說是一個站群生成程序。不過這個肯定不是源頭,繼續再找。對于織夢程序來說,大多數漏洞都是來源于上傳漏洞,于是我檢查了uploads文件夾里每一個最新文件。結果發現了一個圖片是剛剛生成的,就在我登錄的時候。
這個名為dedecms.png的文件位于uploads/media文件夾里,直接是打不開的,可是用記事本打開后,發現它就是一個文本文件,里面寫好了后臺登錄的路徑和登錄名、密碼。那么這個文件是怎么來的呢?來查一下后臺登錄的文件。
不出意外,在dedecms的登錄文件login.php中,找到了圖中的兩行代碼,一個略懂php的人可以一眼看出file_put_contents這種寫入函數,我立馬對比從官網下載的dedecms安裝包,果然這兩行是后加上的。看來漏洞是找到了,刪掉就好了。
雖然是找到了問題所在,但是這個文件是如何被改的呢?此文件修改日期是2018年11月15日,也就是說黑客在這一天之前就拿到了此文件的讀寫權限。考慮到他是用這個文件來獲取管理員密碼的,所以他在進行此項修改之前,是沒有管理員密碼的,線索似乎斷了。怎么辦呢?
通過服務器的IIS日志,我把線索接上了。在2018年11月15日的IIS訪問日志上,訪問login.php文件的前幾秒,一個名為lndex.php的文件被訪問過,細看這并不是我常見的默認首頁,第一個字母是小寫的L,而不是大寫的I。我在根目錄下的m文件夾里找到了它,打開看果然功能很強大,是一個類似于在線FTP的東東。
看這個文件的修改日期,竟然是2016年1月10日,跟一些系統文件的日期是一樣的。因為我之前接觸過一個木馬是可以修改這個日期的,所以我很淡定。
看這個文件還是有密碼的,用戶名是admin,密碼是xiaoer,登錄之后就能管理文件。
于此同時,我發現了這個怪怪文件名的文件,kqv74zpji6.php,在這個m文件夾,不應該有這種隨機名文件啊,難道也是?沒錯,這是另一款木馬,不知道是不是同一個人種下的,按服務器里顯示的時間是2018年7月3日就存在的。我想找一下當時的IIS日志,想到這個VPS是在9月17日才換的,看來是沒辦法了。
不過又在uploads/flink文件夾里找到了一個名為config.php的文件,內容如下:
這下真的沒線索了,如果可以查找IIS日志,木馬源頭可能更容易定位,不過現在,只能逐個文件夾去查看了。不過我已經在官網修復了幾個漏洞,并把查的以上問題都做了刪除和修復,相信應該已經沒事了吧。此次謝比特木馬清除記就此結束。