Wins blog

글로벌 정보보안 파트너! Global Security  No.1 윈스는 국가대표 정보보안 기업에서 글로벌 강소기업으로 도약합니다.

보안 정보

앞 내용 보기 다음 내용 보기
취약점 정보[CVE-2018-1297] Apache JMeter RMI RCE
작성일 2018-04-27 조회 1089

Apache JMeter RMI RCE (CVE-2018-1297)

 

 

 

최근 해외에서 Apache 제품군 취약점에 대한 POC가 공개되었습니다. 이에 WINS는 발빠르게 정보를 수집해 분석을 시도했습니다. 먼저 이번에 공개된 취약점은 Apache JMeter 애플리케이션에서 발생하는 취약점으로, 원격 코드 실행이 가능합니다.

 

Apache JMeter 2.x와 3.x 버전에서는 분산 테스트(RMI 기반)를 사용 할 경우, 안전하지 않는 RMI 연결을 사용합니다. 공격자는 바로 이 점을 착안하여 공격을 시도해 JMeterEngine에 접근하고 인가되지 않은 코드를 보낼 수 있게 됩니다.


 

취약점 요약

 

* CVE: CVE-2018-1297

* 취약한 제품

- Apache JMeter 2.x

- Apache JMeter 3.x


 

About Java RMI

 

POC에 대해 살펴보기 이전에 Java RMI(Remote Method Invocation)에 대해 살펴보도록 하겠습니다. Java RMI는 Java 프로그램 언어로 작성된 프로그램 간 원격 통신을 제공하며, 기본적으로 1099/TCP 포트에서 실행됩니다. 또한, Java RMI에서는 1개의 Java 가상 머신으로 실행 중의 객체가, 다른 호스트상의 다른 Java 가상 머신으로 동작하는 객체의 메소드를 호출할 수 있습니다.

 

Jmeter 서버가 기본 포트를 사용하는지 확인 하기 위해선, jmeter-server 파일을 확인해보면 됩니다.



 

CVE-2018-1297 POC

 

해당 취약점을 동작 하기 위해선 다른 것이 필요하지 않았습니다. 오직 -ysoserial 이라는 툴을 이용한 명령 행 옵션을 실행하기만 하면 원격 코드가 실행되는 것을 확인 할 수 있습니다. -ysoserial 툴은 오래된 툴로, 해외 연구원들이 프레임워크상에서의 RCE 발생과 관련된 연구 결과를 입증하기 위해 제작한 개념증명 툴입니다. 이 툴을 이용하면 Java 프로그램에서 임의의 사용자 명령을 실행할 수 있게 해주는 페이로드를 생성 할 수 있습니다.

 

* POC 실행 명령어

java -cp ysoserial.jar ysoserial.exploit.RMIRegistryExploit 10.0.2.15 1099 CommonsCollections1 "calc.exe"

 

아래 그림 파일은 실제 환경 구축 후, 테스트 진행 한 결과입니다. 실제로 계산기가 뜨는 것을 확인 할 수 있습니다.

 

 

[대응 방안]

- Java를 Java 8 또는 Java 9로 업그레이드 하시기 바랍니다.

- Apache JMeter 4.0 버전으로 다운로드 하시기 바랍니다.

- 기본 활성화 된 인증된 SSL RMI 연결을 사용하도록 설정하시기 바랍니다.

 

[Source]

http://pentestit.com/apache-jmeter-rmi-remote-code-execution-vulnerability-poc-cve-2018-1297/

https://github.com/iBearcat/CVE-2018-1297/

 

첨부파일 첨부파일이 없습니다.
태그 CVE-2018-1297  Apache JMeter  RCE