Hacking püf noktalarınızı paylaşarak PR'lar göndererekHackTricks ve HackTricks Cloud github depolarına katkıda bulunun.
STS
Daha fazla bilgi için:
IAM Kimliklerinden Konsola
Eğer bazı IAM kimliklerini elde etmeyi başardıysanız, aşağıdaki araçları kullanarak web konsola erişmek isteyebilirsiniz.
Kullanıcı/rolün sts:GetFederationToken iznine sahip olması gerektiğini unutmayın.
Özel betik
Aşağıdaki betik, varsayılan profil ve varsayılan bir AWS konumu (gov ve cn değil) kullanarak, web konsola giriş yapmak için kullanabileceğiniz imzalı bir URL sağlayacaktır:
# Get federated creds (you must indicate a policy or they won't have any perms)## Even if you don't have Admin access you can indicate that policy to make sure you get all your privileges## Don't forget to use [--profile <prof_name>] in the first line if you need tooutput=$(awsstsget-federation-token--nameconsoler--policy-arnsarn=arn:aws:iam::aws:policy/AdministratorAccess)if [ $? -ne0 ]; thenecho"The command 'aws sts get-federation-token --name consoler' failed with exit status $status"exit $statusfi# Parse the outputsession_id=$(echo $output |jq-r'.Credentials.AccessKeyId')session_key=$(echo $output |jq-r'.Credentials.SecretAccessKey')session_token=$(echo $output |jq-r'.Credentials.SessionToken')# Construct the JSON credentials stringjson_creds=$(echo -n "{\"sessionId\":\"$session_id\",\"sessionKey\":\"$session_key\",\"sessionToken\":\"$session_token\"}")
# Define the AWS federation endpointfederation_endpoint="https://signin.aws.amazon.com/federation"# Make the HTTP request to get the sign-in tokenresp=$(curl-s"$federation_endpoint" \--get \--data-urlencode "Action=getSigninToken" \--data-urlencode "SessionDuration=43200" \--data-urlencode "Session=$json_creds")signin_token=$(echo-n $resp |jq-r'.SigninToken'|tr-d'\n'|jq-sRr@uri)# Give the URL to loginecho -n "https://signin.aws.amazon.com/federation?Action=login&Issuer=example.com&Destination=https%3A%2F%2Fconsole.aws.amazon.com%2F&SigninToken=$signin_token"
cd/tmppython3-mvenvenvsource./env/bin/activatepipinstallaws-consoleraws_consoler [params...] #This will generate a link to login into the console
IAM kullanıcısının sts:GetFederationToken iznine sahip olduğundan veya assume etmek için bir rol sağlandığından emin olun.
aws-vault
aws-vault geliştirme ortamında AWS kimlik bilgilerini güvenli bir şekilde depolamak ve erişmek için bir araçtır.
aws-vaultlistaws-vaultexecjonsmith--awss3ls# Execute aws cli with jonsmith credsaws-vaultloginjonsmith# Open a browser logged as jonsmith
Ayrıca aws-vault kullanarak bir tarayıcı konsol oturumu elde edebilirsiniz.
Konsoldan IAM Kimlik Bilgilerine
Orijinal olarak bu gönderide keşfedildi, Bir web konsoluna erişimi ele geçirmeyi başarırsanız (belki çerezleri çaldınız ve .aws klasörüne erişemediniz), CloudShell aracılığıyla o kullanıcı için bazı IAM belirteci kimlik bilgilerini alabilirsiniz.
CloudShell, IAM kimlik bilgilerini 1338 numaralı bağlantı noktasında belgelenmemiş bir uç nokta aracılığıyla açığa çıkarır. Kurbanın tarayıcısına oturum çerezlerini yükledikten sonra, CloudShell'e giderek IAM kimlik bilgilerini almak için aşağıdaki komutları verebilirsiniz.