Struts2漏洞和Struts Scan工具實戰

一、Apache Struts 2漏洞背景

1.漏洞詳情

2017年3月6日,Apache Struts 2被曝存在遠程命令執行漏洞。在使用基於Jakarta插件的文件上傳功能條件下,惡意用戶可以通過修改HTTP請求頭中的Content-Type值構造惡意代碼,在服務器上執行系統命令,完全控制該服務器,最後達到挖礦、對外攻/擊、數據竊取勒索、篡改爲菠菜站等目的。漏洞利用所需組件默認啓用,風險等級爲高危。

2.漏洞編號

  • CVE-2017-5638
  • CNNVD-201703-152

3.影響的Struts2版本

  • Struts 2.3.5 – Struts 2.3.31
  • Struts 2.5 – Struts 2.5.1

4.解決方案

(1)臨時解決方案:刪除commons-fileupload-x.x.x.jar文件(會造成上傳功能不可用)。

(2)根本解決方案:升級版本至Apache Struts 2.3.32 或 Apache Struts 2.5.10.1 以消除漏洞影響。涉及版本變更,升級前應做好數據備份。

補丁地址:
Struts 2.3.32: https://github.com/apache/struts/releases/tag/STRUTS_2_3_32
Struts 2.5.10.1: https://github.com/apache/struts/releases/tag/STRUTS_2_5_10_1

5.自行檢測方法

查看web目錄下/WEB-INF/lib/目錄下的struts2-core-x.x.x.jar文件,如果x代表的版本號在2.3.5到2.3.31 以及2.5到2.5.10之間且未修改默認配置則存在漏洞。

二、Struts Scan工具介紹

使用場景:在主機外圍驗證漏洞存在與否。
使用前提:需要主機有python環境,如何安裝自行百度。

1.Struts Scan工具下載地址

(1)【推薦】Lucifer原創在GitHub: https://github.com/Lucifer1993/struts-scan

Struts2漏洞和Struts Scan工具實戰

(2)在百度網盤備份了一份:https://pan.baidu.com/s/1ji8uTB73gXMFaTyW5r6Jbg 密碼:99f4

2.Struts Scan工具使用方法

(1)將下載的安裝包上傳到雲主機任意目錄下,我上傳到/root/struts-scan/

Struts2漏洞和Struts Scan工具實戰

(2)使用方法:

• python struts-scan.py http://example.com/index.action 檢測
• python struts-scan.py -u http://example.com/index.action -i struts2-045 進入指定漏洞交互式shell
• python struts-scan.py -f url.txt 批量檢測

示例:python struts-scan.py http://www.baidu.com
Struts2漏洞和Struts Scan工具實戰

注意:如果python報錯:

Traceback (most recent call last):
 File "struts-scan.py", line 13, in <module>
    from termcolor import cprint
ImportError: No module named termcolor

根據報錯,執行如下命令後解決:

   yum install python-pip
   pip install termcolor

三、入/侵分析案例

1.2017-12-25 某一雲租戶的CPU持續較高,經過排查是一個名爲md的惡意進程,位置/var/tmp/.c4k/,且在crontab里加了定時任務。

Struts2漏洞和Struts Scan工具實戰

Struts2漏洞和Struts Scan工具實戰

2.微步在線堅定爲比特幣挖礦木/馬:

Struts2漏洞和Struts Scan工具實戰

3.網站目錄下/WEB-INF/lib/目錄下,發現了存在漏洞struts2庫2.3.15。

Struts2漏洞和Struts Scan工具實戰

利用struts scan判斷存在struts2-045、struts2-048漏洞

Struts2漏洞和Struts Scan工具實戰

4.本文列出的爲關鍵步驟,其實分析過程中我們還分析了弱口令爆破、/var/log/secure日誌、配置文件server.xml等,常規分析參考我的Linux入/侵分析三部曲。

終於最後聚焦到struts2漏洞,從此此漏洞可以作爲網站類主機入/侵溯源分析的一個檢查點,列入TSG(Troubleshooting Guide),提高效率。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章