
Инструментарий обнаружения в масштабах всей AWS-организации для CVE-2025-55182 и CVE-2025-66478 (RCE-уязвимости в React Server Components / Next.js)
Набор для обнаружения угроз масштаба всей AWS-организации для CVE-2025-55182 и CVE-2025-66478
⚠️ ВАЖНОЕ ПРЕДУПРЕЖДЕНИЕ — ПРОЧТИТЕ ПЕРЕД ИСПОЛЬЗОВАНИЕМ
Этот набор НЕ протестирован в производственной среде AWS.
Из-за ограничений инфраструктуры этот проект был разработан и проверен только с помощью ревизии кода, статического анализа и проверки документации. Он не развертывался и не тестировался в реальной среде AWS с активными сервисами GuardDuty, WAF, EventBridge или CloudTrail.
Что это означает для вас:
Компонент Статус Логика сканера Python ✅ Код проверен, подтверждено Snyk Синтаксис Terraform ✅ Проверен, не применялся Политики IAM ⚠️ Могут потребовать настройки под ваше окружение Правила EventBridge ⚠️ Паттерны находок основаны на документации AWS Правила WAF ⚠️ Регулярные выражения не проверены на реальном трафике Запросы Athena ⚠️ Допущения о схеме могут потребовать изменений Рекомендации:
- Сначала разверните в непродакшен-аккаунте — Протестируйте все компоненты в песочнице
- Внимательно проверьте политики IAM — Настройте разрешения в соответствии с требованиями вашей организации
- Проверяйте планы Terraform — Выполните
terraform planи просмотрите перед применением- Тестируйте паттерны EventBridge — Убедитесь, что строки типов находок соответствуют выводу GuardDuty
- Отслеживайте логи CloudWatch — Проверяйте наличие ошибок после развертывания
Ответственность:
Это программное обеспечение предоставляется «КАК ЕСТЬ» без каких-либо гарантий. Авторы не несут ответственности за любой ущерб, инциденты безопасности или расходы на AWS, возникшие в результате использования этого набора. Используйте на свой страх и риск.
Если вы успешно развернули и протестировали этот набор, пожалуйста, рассмотрите возможность передать свои результаты обратно, чтобы улучшить его для сообщества.
Комплексный набор инструментов безопасности для обнаружения попыток эксплуатации React2Shell в средах AWS. Этот набор обеспечивает обнаружение в реальном времени, возможности охоты за угрозами и автоматическое реагирование на критическую уязвимость удаленного выполнения кода (RCE) в React Server Components.
__proto__:then позволяет выполнять произвольный код через process.mainModule.require('child_process').execSync()---
## Предварительные требования
### Необходимые разрешения```
# 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"
| Software | Version | Purpose |
|---|---|---|
| Python | 3.9+ | Среда выполнения скрипта обнаружения |
| Terraform | 1.0+ | Развертывание инфраструктуры |
| AWS CLI | 2.x | Аутентификация AWS |
| boto3 | 1.34+ | AWS SDK для Python |
cd React2Shell_Hunter
python3 -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
### Шаг 2: Настройка учетных данных 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') "
---
## Быстрый старт
### Сканирование текущей учетной записи (последние 24 часа)```bash
python src/react2shell_detector.py --hours 24
Ожидаемый вывод:``` 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
### Полное сканирование 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
В GUARDDUTY НЕЛЬЗЯ СОЗДАВАТЬ ПОЛЬЗОВАТЕЛЬСКИЕ ПРАВИЛА ОБНАРУЖЕНИЯ.
GuardDuty использует модели машинного обучения и threat intelligence для генерации findings. Чтобы обнаружить React2Shell: