
Kit de détection à l'échelle de l'organisation AWS pour CVE-2025-55182 & CVE-2025-66478 (React Server Components / Next.js RCE vulnérabilités)
Kit de détection à l'échelle de l'organisation AWS pour CVE-2025-55182 & CVE-2025-66478
⚠️ AVERTISSEMENT IMPORTANT - VEUILLEZ LIRE AVANT UTILISATION
Ce kit n'a PAS été testé dans un environnement AWS de production.
En raison de contraintes d'infrastructure, ce projet a été développé et validé uniquement par le biais de revue de code, d'analyse statique et de vérification de la documentation. Il n'a pas été déployé ou testé dans un environnement AWS en ligne avec des services GuardDuty, WAF, EventBridge ou CloudTrail actifs.
Ce que cela signifie pour vous :
Composant Statut Logique du scanner Python ✅ Code relu, validé par Snyk Syntaxe Terraform ✅ Validé, non appliqué Politiques IAM ⚠️ Peuvent nécessiter des ajustements pour votre environnement Règles EventBridge ⚠️ Modèles de constatations basés sur la documentation AWS Règles WAF ⚠️ Modèles regex non testés avec du trafic réel Requêtes Athena ⚠️ Hypothèses de schéma pouvant nécessiter des modifications Recommandations :
- Déployez d'abord sur un compte non productif - Testez tous les composants dans un environnement sandbox
- Examinez attentivement les politiques IAM - Ajustez les autorisations pour répondre aux exigences de votre organisation
- Validez les plans Terraform - Exécutez
terraform planet examinez avant d'appliquer- Testez les modèles EventBridge - Vérifiez que les chaînes de type de constatation correspondent à votre sortie GuardDuty
- Surveillez les journaux CloudWatch - Vérifiez les erreurs après le déploiement
Responsabilité :
Ce logiciel est fourni « EN L'ÉTAT » sans garantie d'aucune sorte. Les auteurs déclinent toute responsabilité en cas de dommages, incidents de sécurité ou coûts AWS encourus par l'utilisation de ce kit. Utilisez-le à vos propres risques.
Si vous déployez et testez ce kit avec succès, veuillez envisager de partager vos conclusions pour l'améliorer au profit de la communauté.
Un kit de sécurité complet pour détecter les tentatives d'exploitation de React2Shell dans les environnements AWS. Ce kit offre une détection en temps réel, des capacités de chasse aux menaces et une réponse automatisée pour la vulnérabilité critique d'exécution de code à distance (RCE) des React Server Components.
__proto__:then permet l'exécution de code arbitraire via process.mainModule.require('child_process').execSync()---
## Prérequis
### Permissions requises```
# Minimum IAM permissions for the detection script
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"cloudtrail:LookupEvents",
"logs:StartQuery",
"logs:GetQueryResults",
"guardduty:ListDetectors",
"guardduty:ListFindings",
"guardduty:GetFindings",
"guardduty:CreateThreatIntelSet",
"guardduty:UpdateThreatIntelSet",
"guardduty:ListThreatIntelSets",
"guardduty:GetThreatIntelSet",
"s3:PutObject",
"s3:GetObject",
"sts:GetCallerIdentity",
"sts:AssumeRole"
],
"Resource": "*"
}
]
}
# For Security Hub integration, add:
"securityhub:BatchImportFindings"
# For SNS alerting, add:
"sns:Publish"
# For organization-wide scanning, add:
"organizations:ListAccounts"
| Logiciel | Version | Objectif |
|---|---|---|
| Python | 3.9+ | Exécution du script de détection |
| Terraform | 1.0+ | Déploiement d'infrastructure |
| AWS CLI | 2.x | Authentification AWS |
| boto3 | 1.34+ | SDK AWS pour Python |
cd React2Shell_Hunter
python3 -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
### Étape 2: Configurer les identifiants AWS```bash
# Option A: Use AWS CLI profile
aws configure --profile security-scanner
# Option B: Export environment variables
export AWS_ACCESS_KEY_ID="your-access-key"
export AWS_SECRET_ACCESS_KEY="your-secret-key"
export AWS_DEFAULT_REGION="us-east-1"
# Option C: Use IAM role (recommended for EC2/Lambda)
# Attach appropriate IAM role to your compute resource
aws sts get-caller-identity
python -c "import boto3, yaml; print('Dependencies OK')"
python -c " import yaml with open('config/iocs.yaml') as f: iocs = yaml.safe_load(f) print(f'Loaded {len(iocs["network_iocs"]["malicious_ips"])} malicious IPs') "
---
## Démarrage rapide
### Analyser le compte actuel (Dernières 24 heures)```bash
python src/react2shell_detector.py --hours 24
Sortie attendue :``` 2025-12-06 10:00:00 - React2ShellDetector - INFO - ============================================================ 2025-12-06 10:00:00 - React2ShellDetector - INFO - React2Shell IOC Detection Script 2025-12-06 10:00:00 - React2ShellDetector - INFO - CVE-2025-55182 & CVE-2025-66478 2025-12-06 10:00:00 - React2ShellDetector - INFO - ============================================================ 2025-12-06 10:00:00 - React2ShellDetector - INFO - Starting single account scan... 2025-12-06 10:00:00 - React2ShellDetector - INFO - Analyzing CloudTrail logs... 2025-12-06 10:00:05 - React2ShellDetector - INFO - Checking GuardDuty findings...
Total findings: 0 CRITICAL: 0 HIGH: 0 MEDIUM: 0
### Scan complet de production```bash
python src/react2shell_detector.py \
--organization \
--role-name SecurityAuditRole \
--security-hub \
--guardduty-bucket my-threat-intel-bucket-12345 \
--vpc-log-group /aws/vpc/flowlogs \
--waf-log-group aws-waf-logs-react2shell \
--sns-topic arn:aws:sns:us-east-1:123456789012:security-alerts \
--output json \
--output-file findings-$(date +%Y%m%d).json \
--hours 72
VOUS NE POUVEZ PAS CRÉER DE RÈGLES DE DÉTECTION PERSONNALISÉES DANS GUARDDUTY.
GuardDuty utilise des modèles de ML et des renseignements sur les menaces pour générer des findings. Pour détecter React2Shell :