【漏洞復現】之PhpStudy“后門”利用復現、修復及使用腳本快速復現


(本文僅為平時學習記錄,若有錯誤請大佬指出,如果本文能幫到你那我也是很開心啦)

 

該復現參考網絡中的文章,該漏洞復現僅僅是為了學習交流,嚴禁非法使用!!! 

 

一、事件背景

  北京時間9月20日,杭州公安發布《杭州警方通報打擊涉網違法犯罪暨‘凈網2019’專項行動戰果》一文,文章曝光了國內知名PHP調試環境程序集成包“PhpStudy軟件”遭到黑客篡改並植入“后門”。截至案發,近百萬PHP用戶中超過67萬用戶已被黑客控制,並大肆盜取賬號密碼、聊天記錄、設備碼類等敏感數據多達10萬多組,非法牟利600多萬元。

  • 漏洞:程序包自帶的PHP的php_xmlrpc.dll模塊中有隱藏后門

  • php.ini中必須要引用該模塊,這樣才能去復現該漏洞,若開啟了xmlrpc功能,php就會加載這個php_xmlrpc.dll動態鏈接庫文件,其中的惡意代碼就會被觸發

    • 查看是否引用該模塊:
      • 方法1:通過php.ini配置文件查看,位置D:\phpStudy\PHPTutorial\php\php-5.4.45\ext

      • 方法2:通過phpinfo查看

  • 影響版本:phpstudy 2016(php5.4/5.2) phpstudy 2018(php5.4/5.2)

 

二、PhpStudy“后門”利用復現

攻擊者:Windows 10系統

靶機:Windows 7虛擬機

1.查看攻擊者與靶機的連通性

2.在靶機中下載帶有后門的PhpStudy 2018軟件,打開PhpStudy軟件,在D:\phpStudy\PHPTutorial\php\php-5.4.45\ext

目錄中使用記事本打開php_xmlrpc.dll,搜索eval關鍵詞,查看植入的后門

3.打開PhpStudy  2018,切換到有后門的版本,並啟動Apache和MySQL服務,攻擊者在瀏覽器中訪問靶機的IP,查看是否能啟動WEB服務器

4.開啟代理服務器,使用BP攔截瀏覽器的請求包,將攔截下來的數據發送到到Repeater模塊重發),使用Ctrl+R或者點擊Action --> Send to Repater

5.修改請求包,將Accept-Encding(瀏覽器可解析的編碼方式):gzip,deflate逗號后面的空格刪除,然后在deflate后面增加一個空格

6.再添加一項:Accept-Charset(規定服務器處理表單數據所接受的字符集):,后跟要執行的命令,即惡意代碼,最后提交該請求包,查看響應包

  • 惡意代碼需要經過Base64轉碼,可以使用以下方法:

    • 在火狐瀏覽器中:

    • 在BP工具中,打開Decoder解碼和編碼)模塊:
      • 注:代碼后面一定要加;!!!如:system(‘ipconfig’);

  • 下圖可以看到,在響應包中我們可以看到我們想要的信息,復現成功

 

僅僅上面幾個操作就可以獲取到想要的信息,由此可見,重視網絡信息安全是多么的重要,所以榴蓮醬在這里建議大家:

1.不要隨意下載,接收和運行不明來源的文件,盡量到官網下載軟件

2.密碼和用戶名最好不要使用同一個

 

三、修復方法

1.在官網中下載最新的PhpStudy

2.將PhpStudy中php5.4和php5.2里面的php_xmlrpc.dll替換為官方的文件

3.使用phpstudy安全自檢修復程序2.0

  • 這里顯示環境已正常,就說明已經修復成功了,再次查看php_xmlrpc.dll文件,發現已經沒有后門了

 

四、使用腳本快速復現

(這里需要提前在靶機中安裝Python3,請參考https://blog.csdn.net/qq_35844043/article/details/81437047,十分詳細感謝!!!)

1.在GitHub中找到PHPStudy_BackDoor_Exp,點擊Clone or download,復制其中的鏈接

2.在想要安裝PHPStudy_BackDoor_Exp路徑目錄的空白處右鍵使用Git下載該腳本

  • Git軟件需要提前下載好:)

git clone https://github.com/cream492/PHPStudy_BackDoor_Exp.git 下載腳本

3.把下載好的PHPStudy_BackDoor_Exp文件夾拷貝到靶機中,並在PHPStudy_BackDoor_Exp文件夾中開啟dos命令窗口

python phpstudy_backdoor.py  運行腳本

  • 命令執行出現錯誤,顯示沒有request模塊
  • 解決方法:
pip3 install requests  下載requests模塊

  • 再次運行腳本,開啟腳本成功

4.根據提示,輸入目標主機(即出現漏洞的PhpStudy中web服務器地址),以及要執行的命令

  • 需要開啟PhpStudy中的Apache和MySQL服務

  • 根據上圖的提示所示,如果要執行os命令,命令必須是php函數,使用system('');格式


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM