記錄并淺析一次服務器被黑事件
一.基本情況
偶然發現一臺web服務器很怪異,其網站頁面上增加了一堆外文的頁面鏈接,點擊一篇進去之后,內容如下圖所示:
該網站是中文網站,絕不可能存在上述的頁面內容,同時頁面中嵌入一堆的JS代碼。很明顯,該網站已經被黑,為避免遭受進一步的危害,緊急采取措施讓服務器下線。由于該臺服務器部署于單位異地遠程機房,下線后無法直接對服務器進行分析,只是采取遠程協同分析日志文件的方式(拿到一些web日志文件,以及一些異常PHP文檔),因此無法實施深入分析。
服務器是windows系統,使用Apache作為web服務器,網站基于PHP+WordPress開發。服務器基本情況:
二.頁面簡單分析
上圖中的JS代碼如下表所示:
經過簡單分析,很明顯上表中的這段代碼應該是攻擊者的XSS跨站漏洞利用代碼,主要用于獲取訪問該頁面的用戶的cookie信息,根據函數名稱getCookie也很容易得知其功能。
上述代碼中base64加密部分解密后后內容如下:
可知,攻擊者XSS服務器為193.238.46.57,地址查詢如下圖所示,目前該頁面無法訪問。
三.日志分析
1、access.log日志
分析該日志,發現了密碼暴力猜解記錄、漏洞攻擊歷史記錄、wordpress登陸操作、網頁爬蟲等記錄。
a) 大量暴力破解或DDOS攻擊報文
通過查看日志發現,每天有大量的IP訪問wordpress網站xmlrpc.php文件。利用POST方式提交發送數據,由于日志中無法看到POST數據報文內容,猜測應該是用于暴力密碼窮舉;wordpress管理登陸接口做了防暴力破解防護,利用xmlrpc.php接口可以繞過上述登陸限制,可以通過post數據到xmlrpc.php進行密碼破解嘗試,該行為也導致服務器資源損耗嚴重。
b) 大量漏洞攻擊記錄
日志中同樣發現大量的漏洞攻擊記錄,尤其是對ThinkPHP5遠程代碼執行漏洞的利用嘗試,說明惡意網絡攻擊行為很頻繁。下表是服務器一天中遭受漏洞攻擊的情況:
提取惡意URL列表如下:
c) Wordpress登陸操作
從access.log 中發現了一些Wordpress后臺管理成功登陸的操作,說明Wordpress的賬戶密碼已失陷,根據時間和登陸IP判斷不屬于管理員。同時這些操作重復次數多,且發生操作的IP也不定,因此懷疑本臺服務器的攻擊者不止一個,可能是遭受多個自動化的網絡攻擊行動所致。
d) 網頁爬蟲記錄
分析一天的日志文件,從中發現了如下的爬蟲信息,如下表所示,其中SEMrushBot和頭條爬蟲在這一天中最為活躍。
對于網站運營者來說,發現網站被黑后采取措施對被黑服務器系統進行清理。但是其實由于“搜索引擎爬蟲”的不辭辛勞的賣力干活,其實網站被黑的頁面已被爬取并留存證據。
2、error.log日志
查看error.log發現了一些問題,比如大批量的錯誤提示在一堆怪異英文名字命名的PHP文件中“找不到“check_is_bot.php”文件,最早出現的提示是2018年1月20日,說明服務器早在2年前就已經被黑,如下表:
于是,跑到C:\phpStudy\WWW\wordpress2\wp-content\plugins\anything-order-by-terms\modules\,發現目錄下確實多了一堆怪異英文名字的PHP文件。
anything-order-by-terms是一個wordpress插件,通過該插件,可以在管理屏幕上的內置列表中輕松拖放來安排任何帖子類型和術語。(使用者已不知道是否自己安裝)
改名下總共有430多個PHP文件以及幾十個php.suspected文件,一些php文件名列表如下圖所示:

同時,發現這些文件的生成時間是:2018年1月12日15:29分鐘。
于是到往前追溯,發現1月12日13:33有異常的錯誤日志,關聯到404.php
此外,在這些目錄下面,確實發現check_is_bot.php相關的文件:check_is_bot.php.suspected,同時在目錄下也發現了其他的一堆以php.suspected結尾的文件,如下圖所示,判斷應該是被殺毒軟件重命名了。

check_is_bot.php的文件內容如下:
解碼后的PHP代碼如下圖所示:
打開任意一個怪異英文名php文件,發現其實是一個html頁面,其中每個頁面首部都添加了一段PHP代碼,用于包含check_is_bot.php,并且執行一段js代碼。如下表所示:
jscs.min.js的內容查看如下:
簡單分析代碼,先對M5s字符串進行處理,處理的代碼如下,即每隔2個字節經過parseInt轉換,再轉換成字符串,接著調用setTimeout執行。
四.小結
本次分析只是簡單記錄服務器被黑的情況,由于網站本身對外提供服務功能有限,日常訪問使用人數不多,導致運營者基本沒有維護管理,從幾年都沒有發現問題可以看出。相信這種情況,很多單位都存在,有些小網站系統由于一時的業務需要,利用開源框架架設完畢后,功能能用就放著不管了,后續不會投入資源進行更新、維護和管理,甚至都不記得有這個網站系統。隨著網絡安全監督力度加大,這些容易被忽視的網站很容易出現違法違規情況,如果遭受網絡攻擊后造成不良影響,可能影響企業的正常經營活動,建議必須投入資源關注:
1、匯總摸清單位所有對外服務器的情況;
2、明確各個服務器使用和管理責任部門和人員;
3、實施網站日常巡查制度;
4、勤更新升級補丁;
5、限制網站后臺管理;
6、定期實施網絡安全評估;
7、投入資源建設、升級網站安全防護軟硬件系統。