
CVE-2025-55182 (React2Shell) 스캐너
Rapticore Security Research Team이 개발한 보안 평가 도구 키트로, CVE-2025-55182(React2Shell) - 치명적인 원격 코드 실행 취약점을 포함한 React Server Components(RSC) 취약점을 탐지합니다.
이 도구 키트는 두 가지 특화 도구를 제공합니다:
| 도구 | 설명 |
|---|---|
ore_rsc.py | 빠른 평가를 위한 고속 RSC 엔드포인트 스캐너 |
ore_react2shell.py | 서브도메인 열거 및 보고 기능을 포함한 전체 평가 스위트 |
https://github.com/user-attachments/assets/5be7661b-515c-46b4-ade4-8e88fdff6528
테스트 Next.js 애플리케이션에서 CVE-2025-55182(React2Shell) 취약점을 탐지하는 스캐너.
CVE-2025-55182(React2Shell)은 React Server Components에 영향을 주는 치명적인 RCE 취약점입니다:
| 영향을 받는 패키지 | 취약한 버전 | 수정된 버전 |
|---|---|---|
| react-server-dom-webpack | 19.0.0, 19.1.0, 19.1.1, 19.2.0 | 19.0.1, 19.1.2, 19.2.1+ |
| react-server-dom-parcel | 19.0.0, 19.1.0, 19.1.1, 19.2.0 | 19.0.1, 19.1.2, 19.2.1+ |
| react-server-dom-turbopack | 19.0.0, 19.1.0, 19.1.1, 19.2.0 | 19.0.1, 19.1.2, 19.2.1+ |
ore_rsc.py)ore_react2shell.py)# 저장소 클론
git clone https://github.com/rapticore/ore_react2shell_scanner.git
cd ore_react2shell_scanner
# 가상 환경 생성
python3 -m venv env
source env/bin/activate # Windows: env\Scripts\activate
# 의존성 설치
pip install aiohttp jinja2
# 선택 사항: 서브도메인 열거를 위한 subfinder 설치
go install github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
ore_rsc.py를 사용한 고속 스캔# 단일 도메인 스캔
python ore_rsc.py example.com
# 여러 도메인
python ore_rsc.py example.com api.example.com
# 파일에서 스캔
python ore_rsc.py -f subdomains.txt
# 확장 경로를 사용한 심층 스캔
python ore_rsc.py example.com --deep
# 능동 검증 (PoC 페이로드 전송)
python ore_rsc.py example.com --verify
# 안전한 부채널 검사 (비공격적)
python ore_rsc.py example.com --safe-check
# JSON 출력
python ore_rsc.py example.com --format json -o results.json
ore_react2shell.py를 사용한 전체 평가# 서브도메인 열거를 포함한 전체 평가
# 결과는 results/example_com_{timestamp}/에 저장됩니다
python ore_react2shell.py --domain example.com
# 기존 서브도메인 목록 사용
python ore_react2shell.py --domain example.com -f subdomains.txt
# 여러 루트 도메인
python ore_react2shell.py --domain example.com --domain example.org
# 능동 검증 포함
python ore_react2shell.py --domain example.com --verify
# 안전한 부채널 검사
python ore_react2shell.py --domain example.com --safe-check
# 서브도메인 열거 건너뛰기
python ore_react2shell.py --domain example.com --skip-enum
# 사용자 지정 출력 디렉터리
python ore_react2shell.py --domain example.com -o ./reports
보고서는 도메인 및 타임스탬프별로 자동 구성됩니다:
results/
└── example_com_20250106_143052/
├── rsc_assessment.html # 대화형 HTML 보고서
├── rsc_assessment.json # 기계 판독 가능 JSON
├── rsc_assessment.csv # 스프레드시트 형식
└── rsc_assessment_executive_summary.txt # 텍스트 요약
| 옵션 | 설명 |
|---|---|
domains | 스캔할 도메인 |
-f, --file | 도메인이 포함된 파일 (줄당 하나) |
-c, --concurrency | 동시 요청 수 (기본값: 20) |
-t, --timeout | 요청 시간 초과(초) (기본값: 25) |
--deep | 확장 경로를 사용한 심층 스캐닝 |
--verify | 능동 검증 - RCE PoC 페이로드 전송 |
--safe-check | 안전한 부채널 검증 |
--waf-bypass | 정크 데이터를 사용한 WAF 우회 모드 |
-o, --output | 출력 파일 경로 |
--format | 출력 형식: console, json, csv |
| 옵션 | 설명 |
|---|---|
-d, --domain | 평가할 대상 도메인 (필수) |
-f, --file | 서브도메인이 포함된 파일 |
--skip-enum | 서브도메인 열거 건너뛰기 |
-c, --concurrency | 동시 요청 수 (기본값: 30) |
--deep | 확장 경로를 사용한 심층 스캐닝 |
--verify | 능동 검증 모드 |
--safe-check | 안전한 부채널 검증 |
-o, --output | 기본 출력 디렉터리 (기본값: results) |
--format | 출력 형식: html, json, csv, txt, all |
스캐너는 불안정한 서버를 처리하기 위한 견고한 검증 로직을 구현합니다:
스캐너는 다음을 통해 RSC 엔드포인트를 탐지합니다:
text/x-component, text/x-rsc, text/x-flightx-nextjs-cache, rsc, next-action 등0:, 1:), React 참조 ($)$ACTION_ID, formAction 속성| 위험 수준 | 기준 |
|---|---|
| CRITICAL | --verify를 통한 악용 확인됨 |
| HIGH | --safe-check를 통한 취약할 가능성 높음 |
| MEDIUM | server actions가 있는 RSC 엔드포인트 |
| LOW | RSC 엔드포인트 탐지됨 |
| INFO | RSC 지표 존재 |
취약한 엔드포인트가 탐지된 경우:
react-server-dom-* 패키지를 수정된 버전(19.0.1, 19.1.2, 19.2.1+)으로 업그레이드이 도구는 승인된 보안 평가에만 사용하세요. 소유한 도메인 또는 명시적인 서면 승인을 받은 도메인에서만 사용하십시오.
Rapticore Security Research Team은 오용에 대해 어떠한 책임도 지지 않습니다.
Rapticore Security Research Team 개발