1️⃣ Подготавливаем окружение:
• Зафиксируйте цели, допустимые действия, допустимый ущерб (ROE)
• Определить зону тестирования и уточните какие сервисы используются (EC2, S3, IAM, Lambda и т.д.)
• Включите логирование — CloudTrail, GuardDuty
2️⃣ Собираем информацию:
• Определите публичные сервисы/ресурсы: S3-бакеты, API Gateway, EC2-инстансы
• Проверьте открытые DNS-записи (dig, nslookup, Amass)
3️⃣ Анализируем права доступа:
• Проверьте на наличие избыточных прав (например, *:* в политиках)
• Поищите роли, которые можно перехватить или эскалировать
• Проверьте учетные данные в переменных среды, Lambda, EC2 UserData
4️⃣ Проверяем хранилища:
• Найдите публичные бакеты
aws s3 ls s3://bucket-name --no-sign-request• Проверьте разрешения: чтение, запись, листинг
s3:ListBucket, s3:GetObject• Попробуйте bucket takeover через DNS или CNAME
5️⃣ Тестируем сетевую безопасность:
• Проанализируйте Security Groups и NACLs: открытые порты, экспонированные сервисы
• Поищите интернал-сервисов через разрешённые VPC endpoints
6️⃣ Атакуем бессерверные сервисы:
• Протестируйте API на ошибки (XSS, IDOR, Injection)
• Поищите секреты в ENV, логи, исходный код
7️⃣ Проводим постэксплуатацию:
• Исследуйте другие регионы, сервисы, связанные аккаунты
• Создайте скрытые Lambda-функции или роли с автоматическим запуском.
🐸 Библиотека хакера
#буст
