2년 2022월 2022일, 제로데이 원격 코드 실행 취약점인 CVE-26134-9.0 "Confluence"가 모든 버전의 Confluence 서버 및 데이터 센터에서 발견되었습니다. 보안 전문가에 따르면 이 공격은 높은 심각도(CVSS:10.0/XNUMX)로 탐지되었습니다. 자문 Atlassian에서 제공.
이 심각한 심각도의 취약점은 CVE-2022-26134로 식별되었으며, 위협 행위자는 이 취약점을 악용하여 OGNL 주입을 통해 인증되지 않은 원격 코드 실행을 수행할 수 있습니다. Confluence는 작년에도 Confluence 서버와 Confluence 데이터 센터에서 심각한 원격 코드 실행 취약점(CVE-2021-26084)에 직면했습니다. 이 취약점은 OGNL 주입 결함에서 발생하며, 인증되지 않은 공격자가 Confluence 서버 또는 데이터 센터 인스턴스에서 임의 코드를 실행할 수 있도록 합니다.
OGNL 주사란 무엇인가요?
Java 객체를 위한 오픈소스 표현 언어(EL)를 Object-Graph Navigation Language라고 합니다. 특히, OGNL은 비즈니스 환경에서 Java 기반 웹 애플리케이션을 개발하는 데 널리 사용되는 프레임워크인 Apache Struts에서 EL 표현식을 평가할 수 있도록 합니다. Apache Struts의 가장 심각한 결함은 다음과 관련이 있습니다. OGNL 표현식 주입 공격은 무효화된 표현식을 값 스택과 비교 평가하여 공격자가 시스템 변수를 변경하거나 임의의 코드를 실행할 수 있도록 하는 공격입니다.
기술적 분석 :
CVE-2022-26134는 Confluence 서버 컨텍스트에서 코드를 실행시키는 원격 코드 실행 취약점입니다. 이 취약점을 악용하려는 공격자는 HTTP 요청의 URI에 악성 페이로드를 삽입합니다. GET, POST, PUT 등 유효한 메서드든 유효하지 않은 메서드든 모든 HTTP 메서드가 작동하는 것처럼 보입니다.
악성 페이로드를 포함하는 URL의 가장 간단한 형태는 다음과 같습니다.
%24%7B%40java.lang.Runtime%40getRuntime%28%29.exec%28%22touch%20/tmp/r7%22%29%7D/
위의 익스플로잇은 URL로 인코딩되어 있습니다. URL을 디코딩하면 다음과 같은 익스플로잇이 생성됩니다.
${@java.lang.Runtime@getRuntime().exec(“touch /tmp/r7”)}, 그러면 새 파일이 생성됩니다. / tmp / 디렉토리.
아래에 캡처된 GET 요청 트래픽에서 위협 행위자가 합류 지점에 존재하는 취약점을 악용하기 위해 OGNL 주입을 수행하고 있는 것을 볼 수 있습니다.

그림 : 1
이 취약점을 악용하려는 위협 행위자이지만 손상된 서버의 응답도 필요한 경우 X-Cmd-Response 헤더를 사용할 수 있습니다.
예를 들어, 취약한 서버에서 id 명령을 실행하고 응답의 X-Cmd-Response 헤더에서 출력을 수신합니다.
그림:2
근본 원인:
이 취약점의 근본 원인은 translateVariables 함수 내의 findValue(str) 메서드에 있습니다. 서버는 HTTP 요청을 수신하는 즉시 translateVariables 메서드를 호출합니다.
요청 URI를 메서드의 표현식 매개변수로 지정하여 TextParseUtil 메서드를 호출하면 문자열을 컴파일하고 패턴 "\\\\$\\\\{([^}]*)\\\\}"를 제거한 후 남은 코드가 findValue 메서드로 전송되고, 이 시나리오에서는 해당 메서드가 코드를 실행합니다.

그림 : 3
앞서 언급했듯이, 가장 큰 문제는 URI를 인수로 사용하여 transformVariables를 호출하는 것입니다. Atlassian에서 제공한 수정 사항에는 다양한 변경 사항이 포함되어 있습니다.
첫 번째는 findValue 메서드에서 입력 표현식에 대한 안전한 표현식 검사를 추가하는 것입니다.
두 번째는 translateVariables 메서드를 사용하지 않고 finalNamespace 및 finalActionName 변수를 설정하는 것입니다.
마지막 변경 사항은 translateVariables 함수가 호출되지 않으면 OgnValueStack이 사용되지 않는다는 점을 고려하여 OgnValueStack을 제거하는 것입니다.
패치 전:

그림 : 4
패치 후:

그림 : 5
Atlassian은 SafeExpressionUtil.class를 xworks jar 파일에 포함했습니다. findValue가 호출될 때 표현식을 분석하기 위해 SafeExpressionUtil.class를 OgnlValueStack.class에 추가하여 안전하지 않은 표현식을 필터링합니다. 예를 들면 다음과 같습니다.

그림 : 6
Quick Heal이 사용자를 보호하는 방법
Quick Heal은 이러한 취약점 악용으로부터 광범위한 보호 기능을 제공합니다. QH의 HIPS 모듈은 악성 네트워크 트래픽, 악성 파일, 악성 IP 등 악성 활동을 식별하고 차단하여 고객을 보호합니다.
감지 하이라이트
파일 기반
· 만료.CVE-2022-26134.46649
· 만료.CVE-2022-26134.46650.GC
· JS.백도어.38151
· ELF.Trojan.45098.GC
· 스크립트.트로이.44757
네트워크 기반
· HTTP/CVE-2022-26134!RP.46663
· HTTP/CVE-2022-26134!RP.46665
· HTTP/CVE-2022-26134!RP.46686
· HTTP/CVE-2022-26134!RP.46687
IOC
해시시
· 4c02c3a150de6b70d6fca584c29888202cc1deef
· 80b327ec19c7d14cc10511060ed3a4abffc821af
· 75259ee2db52d038efea5f939f68f122
· ea18fb65d92e1f0671f23372bacf60e7
· 6078c8a0c32f4e634f2952e3ebac2430
· f8df4dd46f02dc86d37d46cf4793e036
· df096b253754a66cded9ad81b8ea27f5
· 3eb5db35032f5147761f7f8eb8e661c2
· de7a94deccdb9a274ed3c06b28993c0c
IPS
154.146.34.145
154.16.105.147
156.146.34.46
156.146.34.52
156.146.34.9
156.146.56.136
198.147.22.148
198.147.22.148
221.178.126.244
45.43.19.91
59.163.248.170
64.64.228.239
66.115.182.102
66.115.182.111
67.149.61.16
98.32.230.38


