본문으로 바로가기

"CVE-2018-2628" 자바 역직렬화 취약점은 Weblogic 서버에서 오픈해 놓은 T3 서비스와 Socket 연결을 맺고 공격자가 패킷을 조작하여 서버로 보내 원격 명령을 실행하는 취약점 입니다.

CVE-2018-2628 취약점은 2018년 4월에 발견되었으며, 관련 영향받는 서버로 구성 및 공개되어 있는 exploit코드를 이용하여 공격 테스트 진행 하였습니다.

 

공격 테스트를 진행 하기 위해서는 ysoserial.jar 도구를 이용하는데 이 도구는 프레임워크상에서의 RCE 발생과 관련된 연구 결과를 입증하기 위해 제작한 개념증명 도구로 이용되며, 역직렬화(Deserialization) 시 JSON이나 여러 포맷으로 저장된 데이터를 Object, String, Interger 등 내부 코드로 환원하는데 이 과정에서 악의적인 Object, 즉 코드를 삽입에 사용되는 도구입니다.

 

영향받는 버전정보 입니다.

Oracle Weblogic Server
- 10.3.6.0, 12.1.3.0, 12.2.1.2, 12.2.1.3

 

1. 테스트 환경 구성정보

Attacker

Victim

<Win7_Ultimate_attacker>

OS: Windows 7 Ultimate K (64bit)

IP: 192.168.197.133

Python 2.7.15 설치

Java, JRE, JDK 설치

Nc 설치

<Win7_professional_victim>

OS: Windows 7 Professional K

IP: 192.168.197.134

Weblogic Server 10.3.6.0 설치

Nc 설치

(1) OS 설치 및 확인

공격 테스트를 진행할 서버의 구성정보입니다.

- Attacker OS 정보

- Attacker Java&python 정보

 

[그림 2] Attacker JAVA/Python 정보

 

 

- Victim OS 정보

 

[그림 3] Victim Windows OS 정보

 

- Victim Weblogic 서버 버전 정보

 

[그림 4] Victim Weblogic 서버정보(1)

 

[그림 5] Victim Weblogic 서버정보(2)

 

(2) 공격도구

 

- exploit.py 코드 다운로드: https://www.exploit-db.com/exploits/44553/

 

- Ysoserial 다운로드: https://jitpack.io/com/github/frohoff/ysoserial/master-SNAPSHOT/ysoserial-master-SNAPSHOT.jar

 

 

2. CVE-2018-2628 공격 테스트

1) 공개된 exploit도구를 사용하여 RMI connection 1099포트로 연결 시도 및 ysoserial의 JRMPClient 라이브러리 사용합니다.

JRMP는 RMI에서 구현 된 레이어이기 때문에 deserialization을 위한 프로토콜이기도합니다.

 

[그림 6] exploit 명령 및 성공

 

2) 리버스커넥션을 진행하기 위해 NetCat을 이용하여 Attacker(192.168.197.133) 서버 접속 대기 상태로 놓아둡니다.

nc –lnvp [port] [-option] [host] [port]

 

[그림 7] NC를 이용하여 31337포트 대기상태로 명령

 

3) 오픈된 RMI Connection 1099포트를 통해 원격 명령 실행 시도, ysoserial의 JRMPListener, CommonsCollections1라이브러리 사용하였습니다.

 

[그림 8] RMI Connection 1099포트로 역직렬화 명령 및 실행성공

 

4) 리버스커넥션 연결 부분입니다.

 

[그림 9] 리버스커넥션 성공

 

[그림 10] RMI connetction에 대한 Weblogic 서버 로그

 

3. 대응방안

1) 최신 버전으로 업데이트

2) 취약점에 영향 받는 서비스 기본 포트(7001) 변경하여 운영

3) 다른포트를 사용할 경우 해당 포트 접근제한 적용하여 운영

 

4. 참고 사이트

 

1) https://www.oracle.com/technetwork/security-advisory/cpuapr2018-3678067.html

2) http://www.igloosec.co.kr/BLOG_CVE-2018-2628%20:%20Oracle%20WebLogic%20RCE%20Deserialization%20Vulnerability?searchItem=&searchWord=&bbsCateId=0&gotoPage=3

3) https://www.exploit-db.com/exploits/44553/

4) https://jitpack.io/com/github/frohoff/ysoserial/master-SNAPSHOT/